mirror of
https://github.com/FabricMC/fabric.git
synced 2025-04-08 21:14:41 -04:00
Port to 25w09a (#4471)
* Port to 25w09a * Comment out FramebufferMixin for now * Checkstyle * Bump version
This commit is contained in:
parent
bc8ad11dc1
commit
02ca6796fb
14 changed files with 85 additions and 89 deletions
fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input
fabric-data-attachment-api-v1/src
main/java/net/fabricmc/fabric
test/java/net/fabricmc/fabric/test/attachment
testmod/java/net/fabricmc/fabric/test/attachment/gametest
fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric
fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client
fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client
fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/api/transfer/v1/storage/base
fabric-transitive-access-wideners-v1
gradle.properties
|
@ -17,17 +17,12 @@
|
|||
package net.fabricmc.fabric.mixin.client.gametest.input;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.ModifyVariable;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gl.Framebuffer;
|
||||
import net.minecraft.client.util.Window;
|
||||
|
||||
import net.fabricmc.fabric.impl.client.gametest.util.WindowHooks;
|
||||
|
||||
@Mixin(Framebuffer.class)
|
||||
public class FramebufferMixin {
|
||||
/*
|
||||
@ModifyVariable(method = {"draw", "drawInternal"}, at = @At("HEAD"), ordinal = 0, argsOnly = true)
|
||||
private int modifyWidth(int width) {
|
||||
Window window = MinecraftClient.getInstance().getWindow();
|
||||
|
@ -49,4 +44,6 @@ public class FramebufferMixin {
|
|||
|
||||
return height;
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -65,9 +65,9 @@ public class AttachmentSerializingImpl {
|
|||
|
||||
@Nullable
|
||||
public static IdentityHashMap<AttachmentType<?>, Object> deserializeAttachmentData(NbtCompound nbt, RegistryWrapper.WrapperLookup wrapperLookup) {
|
||||
if (nbt.contains(AttachmentTarget.NBT_ATTACHMENT_KEY, NbtElement.COMPOUND_TYPE)) {
|
||||
if (nbt.contains(AttachmentTarget.NBT_ATTACHMENT_KEY)) {
|
||||
var attachments = new IdentityHashMap<AttachmentType<?>, Object>();
|
||||
NbtCompound compound = nbt.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY);
|
||||
NbtCompound compound = nbt.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY).orElseThrow();
|
||||
|
||||
for (String key : compound.getKeys()) {
|
||||
AttachmentType<?> type = AttachmentRegistryImpl.get(Identifier.of(key));
|
||||
|
|
|
@ -26,7 +26,6 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
|||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import net.minecraft.nbt.NbtCompound;
|
||||
import net.minecraft.nbt.NbtElement;
|
||||
import net.minecraft.registry.DynamicRegistryManager;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.util.math.ChunkPos;
|
||||
|
@ -55,8 +54,11 @@ abstract class SerializedChunkMixin {
|
|||
return;
|
||||
}
|
||||
|
||||
if (nbt.contains(AttachmentTarget.NBT_ATTACHMENT_KEY, NbtElement.COMPOUND_TYPE)) {
|
||||
((SerializedChunkMixin) (Object) serializer).attachmentNbtData = nbt.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY);
|
||||
//noinspection SimplifyOptionalCallChains
|
||||
NbtCompound attachmentNbtData = nbt.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY).orElse(null);
|
||||
|
||||
if (attachmentNbtData != null) {
|
||||
((SerializedChunkMixin) (Object) serializer).attachmentNbtData = attachmentNbtData;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,7 +77,13 @@ abstract class SerializedChunkMixin {
|
|||
private static void storeAttachmentNbtData(ServerWorld world, Chunk chunk, CallbackInfoReturnable<SerializedChunk> cir) {
|
||||
var nbt = new NbtCompound();
|
||||
((AttachmentTargetImpl) chunk).fabric_writeAttachmentsToNbt(nbt, world.getRegistryManager());
|
||||
((SerializedChunkMixin) (Object) cir.getReturnValue()).attachmentNbtData = nbt.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY);
|
||||
|
||||
//noinspection SimplifyOptionalCallChains
|
||||
NbtCompound attachmentNbtData = nbt.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY).orElse(null);
|
||||
|
||||
if (attachmentNbtData != null) {
|
||||
((SerializedChunkMixin) (Object) cir.getReturnValue()).attachmentNbtData = attachmentNbtData;
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "serialize", at = @At("RETURN"))
|
||||
|
|
|
@ -46,7 +46,6 @@ import net.minecraft.entity.Entity;
|
|||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.MarkerEntity;
|
||||
import net.minecraft.nbt.NbtCompound;
|
||||
import net.minecraft.nbt.NbtElement;
|
||||
import net.minecraft.nbt.NbtOps;
|
||||
import net.minecraft.registry.DynamicRegistryManager;
|
||||
import net.minecraft.registry.RegistryOps;
|
||||
|
@ -156,8 +155,8 @@ public class CommonAttachmentTests {
|
|||
var fakeSave = new NbtCompound();
|
||||
|
||||
AttachmentSerializingImpl.serializeAttachmentData(fakeSave, mockDRM(), map);
|
||||
assertTrue(fakeSave.contains(AttachmentTarget.NBT_ATTACHMENT_KEY, NbtElement.COMPOUND_TYPE));
|
||||
assertTrue(fakeSave.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY).contains(dummy.identifier().toString()));
|
||||
assertTrue(fakeSave.contains(AttachmentTarget.NBT_ATTACHMENT_KEY));
|
||||
assertTrue(fakeSave.getCompound(AttachmentTarget.NBT_ATTACHMENT_KEY).orElseThrow().contains(dummy.identifier().toString()));
|
||||
|
||||
map = AttachmentSerializingImpl.deserializeAttachmentData(fakeSave, mockDRM());
|
||||
assertEquals(1, map.size());
|
||||
|
|
|
@ -76,7 +76,7 @@ public class BlockEntityTests {
|
|||
|
||||
if (nbt != null && nbt.contains(AttachmentTarget.NBT_ATTACHMENT_KEY)) {
|
||||
// Note: this is a vanilla bug (it called createNbt, instead of the correct createComponentlessNbt)
|
||||
throw context.createError("Packet NBT for " + entry + " had persistent data: " + nbt.asString());
|
||||
throw context.createError("Packet NBT for " + entry + " had persistent data: " + nbt);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,15 +29,15 @@ public class RegistryMapSerializer {
|
|||
public static final int VERSION = 1;
|
||||
|
||||
public static Map<Identifier, Object2IntMap<Identifier>> fromNbt(NbtCompound nbt) {
|
||||
NbtCompound mainNbt = nbt.getCompound("registries");
|
||||
NbtCompound mainNbt = nbt.getCompound("registries").orElseThrow();
|
||||
Map<Identifier, Object2IntMap<Identifier>> map = new LinkedHashMap<>();
|
||||
|
||||
for (String registryId : mainNbt.getKeys()) {
|
||||
Object2IntMap<Identifier> idMap = new Object2IntLinkedOpenHashMap<>();
|
||||
NbtCompound idNbt = mainNbt.getCompound(registryId);
|
||||
NbtCompound idNbt = mainNbt.getCompound(registryId).orElseThrow();
|
||||
|
||||
for (String id : idNbt.getKeys()) {
|
||||
idMap.put(Identifier.of(id), idNbt.getInt(id));
|
||||
idMap.put(Identifier.of(id), idNbt.getInt(id, 0));
|
||||
}
|
||||
|
||||
map.put(Identifier.of(registryId), idMap);
|
||||
|
|
|
@ -25,7 +25,7 @@ import net.minecraft.world.chunk.SerializedChunk;
|
|||
|
||||
@Mixin(SerializedChunk.class)
|
||||
public class SerializedChunkMixin {
|
||||
@Redirect(method = "readStructureReferences", at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", remap = false))
|
||||
@Redirect(method = "method_68295", at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", remap = false))
|
||||
private static void log(Logger logger, String msg, Object identifier, Object chunkPos) {
|
||||
// Drop to debug log level.
|
||||
logger.debug(msg, identifier, chunkPos);
|
||||
|
|
|
@ -27,8 +27,8 @@ import net.minecraft.client.render.entity.model.EntityModelLayers;
|
|||
import net.minecraft.client.render.entity.model.LoadedEntityModels;
|
||||
import net.minecraft.client.render.item.model.special.SpecialModelRenderer;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.item.ItemDisplayContext;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ModelTransformationMode;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Util;
|
||||
import net.minecraft.util.math.RotationAxis;
|
||||
|
@ -51,7 +51,7 @@ public class SpecialBlockRendererTest implements ClientModInitializer {
|
|||
|
||||
return new SpecialModelRenderer<>() {
|
||||
@Override
|
||||
public void render(@Nullable Object data, ModelTransformationMode modelTransformationMode, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, boolean glint) {
|
||||
public void render(@Nullable Object data, ItemDisplayContext displayContext, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, boolean glint) {
|
||||
matrices.push();
|
||||
matrices.translate(0.5f, 0.0f, 0.5f);
|
||||
matrices.translate(0, 1.46875f, 0);
|
||||
|
|
|
@ -65,13 +65,10 @@ public class WorldRenderEventsTests implements ClientModInitializer {
|
|||
matrices.translate(-camera.x, -camera.y, -camera.z);
|
||||
|
||||
RenderSystem.setShaderColor(1f, 1f, 1f, 1f);
|
||||
RenderSystem.enableBlend();
|
||||
RenderSystem.defaultBlendFunc();
|
||||
|
||||
VertexRendering.drawFilledBox(matrices, context.consumers().getBuffer(RenderLayer.getDebugFilledBox()), 0, 100, 0, 1, 101, 1, 0, 1, 0, 0.5f);
|
||||
|
||||
matrices.pop();
|
||||
RenderSystem.disableBlend();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -35,7 +35,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||
|
||||
import net.minecraft.client.option.GameOptions;
|
||||
import net.minecraft.nbt.NbtCompound;
|
||||
import net.minecraft.nbt.NbtElement;
|
||||
import net.minecraft.nbt.NbtIo;
|
||||
import net.minecraft.nbt.NbtList;
|
||||
import net.minecraft.nbt.NbtSizeTracker;
|
||||
|
@ -81,10 +80,10 @@ public class GameOptionsMixin {
|
|||
if (Files.exists(trackerFile)) {
|
||||
try {
|
||||
NbtCompound data = NbtIo.readCompressed(trackerFile, NbtSizeTracker.ofUnlimitedBytes());
|
||||
NbtList values = data.getList("values", NbtElement.STRING_TYPE);
|
||||
NbtList values = data.getList("values").orElseThrow();
|
||||
|
||||
for (int i = 0; i < values.size(); i++) {
|
||||
trackedPacks.add(values.getString(i));
|
||||
trackedPacks.add(values.getString(i).orElseThrow());
|
||||
}
|
||||
} catch (IOException e) {
|
||||
LOGGER.warn("[Fabric Resource Loader] Could not read " + trackerFile.toAbsolutePath(), e);
|
||||
|
|
|
@ -174,7 +174,7 @@ public abstract class SingleVariantStorage<T extends TransferVariant<?>> extends
|
|||
*/
|
||||
public static <T extends TransferVariant<?>> void readNbt(SingleVariantStorage<T> storage, Codec<T> codec, Supplier<T> fallback, NbtCompound nbt, RegistryWrapper.WrapperLookup wrapperLookup) {
|
||||
final RegistryOps<NbtElement> ops = wrapperLookup.getOps(NbtOps.INSTANCE);
|
||||
final DataResult<T> result = codec.parse(ops, nbt.getCompound("variant"));
|
||||
final DataResult<T> result = codec.parse(ops, nbt.getCompound("variant").orElseThrow());
|
||||
|
||||
if (result.error().isPresent()) {
|
||||
LOGGER.debug("Failed to load an ItemVariant from NBT: {}", result.error().get());
|
||||
|
@ -183,7 +183,7 @@ public abstract class SingleVariantStorage<T extends TransferVariant<?>> extends
|
|||
storage.variant = result.result().get();
|
||||
}
|
||||
|
||||
storage.amount = nbt.getLong("amount");
|
||||
storage.amount = nbt.getLong("amount").orElseThrow();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -50,8 +50,8 @@ transitive-accessible class net/minecraft/client/model/ModelPart$Vertex
|
|||
transitive-accessible class net/minecraft/client/model/ModelPart$Quad
|
||||
|
||||
# Creating custom render layers
|
||||
transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;ILnet/minecraft/client/gl/ShaderProgramLayer;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
|
||||
transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;IZZLnet/minecraft/client/gl/ShaderProgramLayer;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
|
||||
transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;ILnet/minecraft/client/gl/ShaderPipeline;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
|
||||
transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;IZZLnet/minecraft/client/gl/ShaderPipeline;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
|
||||
transitive-accessible class net/minecraft/client/render/RenderLayer$MultiPhase
|
||||
transitive-accessible class net/minecraft/client/render/RenderLayer$MultiPhaseParameters
|
||||
transitive-accessible class net/minecraft/client/render/RenderLayer$OutlineMode
|
||||
|
@ -272,8 +272,8 @@ transitive-accessible method net/minecraft/entity/decoration/DisplayEntity setGl
|
|||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity getDisplayHeight ()F
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$ItemDisplayEntity getItemStack ()Lnet/minecraft/item/ItemStack;
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$ItemDisplayEntity setItemStack (Lnet/minecraft/item/ItemStack;)V
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$ItemDisplayEntity setTransformationMode (Lnet/minecraft/item/ModelTransformationMode;)V
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$ItemDisplayEntity getTransformationMode ()Lnet/minecraft/item/ModelTransformationMode;
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$ItemDisplayEntity setItemDisplayContext (Lnet/minecraft/item/ItemDisplayContext;)V
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$ItemDisplayEntity getItemDisplayContext ()Lnet/minecraft/item/ItemDisplayContext;
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$BlockDisplayEntity getBlockState ()Lnet/minecraft/block/BlockState;
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$BlockDisplayEntity setBlockState (Lnet/minecraft/block/BlockState;)V
|
||||
transitive-accessible method net/minecraft/entity/decoration/DisplayEntity$TextDisplayEntity getText ()Lnet/minecraft/text/Text;
|
||||
|
@ -305,17 +305,13 @@ transitive-accessible field net/minecraft/client/render/RenderPhase DISABLE_LIGH
|
|||
transitive-accessible field net/minecraft/client/render/RenderPhase ENABLE_OVERLAY_COLOR Lnet/minecraft/client/render/RenderPhase$Overlay;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase DISABLE_OVERLAY_COLOR Lnet/minecraft/client/render/RenderPhase$Overlay;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase NO_LAYERING Lnet/minecraft/client/render/RenderPhase$Layering;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase POLYGON_OFFSET_LAYERING Lnet/minecraft/client/render/RenderPhase$Layering;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase VIEW_OFFSET_Z_LAYERING Lnet/minecraft/client/render/RenderPhase$Layering;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase VIEW_OFFSET_Z_LAYERING_FORWARD Lnet/minecraft/client/render/RenderPhase$Layering;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase WORLD_BORDER_LAYERING Lnet/minecraft/client/render/RenderPhase$Layering;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase MAIN_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase LIGHT_TEXTURE_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase OUTLINE_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase TRANSLUCENT_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase PARTICLES_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase WEATHER_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase CLOUDS_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase ITEM_ENTITY_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase FULL_LINE_WIDTH Lnet/minecraft/client/render/RenderPhase$LineWidth;
|
||||
|
||||
|
|
|
@ -45,8 +45,8 @@ transitive-accessible class net/minecraft/client/model/ModelPart$Vertex
|
|||
transitive-accessible class net/minecraft/client/model/ModelPart$Quad
|
||||
|
||||
# Creating custom render layers
|
||||
transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;ILnet/minecraft/client/gl/ShaderProgramLayer;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
|
||||
transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;IZZLnet/minecraft/client/gl/ShaderProgramLayer;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
|
||||
transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;ILnet/minecraft/client/gl/ShaderPipeline;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
|
||||
transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;IZZLnet/minecraft/client/gl/ShaderPipeline;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
|
||||
transitive-accessible class net/minecraft/client/render/RenderLayer$MultiPhase
|
||||
transitive-accessible class net/minecraft/client/render/RenderLayer$MultiPhaseParameters
|
||||
transitive-accessible class net/minecraft/client/render/RenderLayer$OutlineMode
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
org.gradle.jvmargs=-Xmx2560M
|
||||
org.gradle.parallel=true
|
||||
|
||||
version=0.118.0
|
||||
minecraft_version=25w08a
|
||||
yarn_version=+build.1
|
||||
version=0.118.1
|
||||
minecraft_version=25w09a
|
||||
yarn_version=+build.2
|
||||
loader_version=0.16.10
|
||||
installer_version=1.0.1
|
||||
|
||||
|
@ -11,52 +11,52 @@ prerelease=true
|
|||
curseforge_minecraft_version=1.21.5-Snapshot
|
||||
|
||||
# Do not manually update, use the bumpversions task:
|
||||
fabric-api-base-version=0.4.61
|
||||
fabric-api-lookup-api-v1-version=1.6.94
|
||||
fabric-biome-api-v1-version=16.0.6
|
||||
fabric-block-api-v1-version=1.0.36
|
||||
fabric-block-view-api-v2-version=1.0.24
|
||||
fabric-blockrenderlayer-v1-version=2.0.15
|
||||
fabric-client-gametest-api-v1-version=4.1.6
|
||||
fabric-command-api-v1-version=1.2.69
|
||||
fabric-command-api-v2-version=2.2.48
|
||||
fabric-commands-v0-version=0.2.86
|
||||
fabric-content-registries-v0-version=10.0.10
|
||||
fabric-crash-report-info-v1-version=0.3.11
|
||||
fabric-data-attachment-api-v1-version=1.6.0
|
||||
fabric-data-generation-api-v1-version=22.2.19
|
||||
fabric-dimensions-v1-version=4.0.15
|
||||
fabric-entity-events-v1-version=2.0.23
|
||||
fabric-events-interaction-v0-version=4.0.10
|
||||
fabric-game-rule-api-v1-version=1.0.69
|
||||
fabric-gametest-api-v1-version=3.0.9
|
||||
fabric-item-api-v1-version=11.3.0
|
||||
fabric-item-group-api-v1-version=4.2.7
|
||||
fabric-key-binding-api-v1-version=1.0.62
|
||||
fabric-keybindings-v0-version=0.2.60
|
||||
fabric-lifecycle-events-v1-version=2.5.12
|
||||
fabric-loot-api-v2-version=3.0.46
|
||||
fabric-loot-api-v3-version=1.0.34
|
||||
fabric-message-api-v1-version=6.0.32
|
||||
fabric-api-base-version=0.4.62
|
||||
fabric-api-lookup-api-v1-version=1.6.95
|
||||
fabric-biome-api-v1-version=16.0.7
|
||||
fabric-block-api-v1-version=1.0.37
|
||||
fabric-block-view-api-v2-version=1.0.25
|
||||
fabric-blockrenderlayer-v1-version=2.0.16
|
||||
fabric-client-gametest-api-v1-version=4.1.7
|
||||
fabric-command-api-v1-version=1.2.70
|
||||
fabric-command-api-v2-version=2.2.49
|
||||
fabric-commands-v0-version=0.2.87
|
||||
fabric-content-registries-v0-version=10.0.11
|
||||
fabric-crash-report-info-v1-version=0.3.12
|
||||
fabric-data-attachment-api-v1-version=1.6.1
|
||||
fabric-data-generation-api-v1-version=22.2.20
|
||||
fabric-dimensions-v1-version=4.0.16
|
||||
fabric-entity-events-v1-version=2.0.24
|
||||
fabric-events-interaction-v0-version=4.0.11
|
||||
fabric-game-rule-api-v1-version=1.0.70
|
||||
fabric-gametest-api-v1-version=3.0.10
|
||||
fabric-item-api-v1-version=11.3.1
|
||||
fabric-item-group-api-v1-version=4.2.8
|
||||
fabric-key-binding-api-v1-version=1.0.63
|
||||
fabric-keybindings-v0-version=0.2.61
|
||||
fabric-lifecycle-events-v1-version=2.5.13
|
||||
fabric-loot-api-v2-version=3.0.47
|
||||
fabric-loot-api-v3-version=1.0.35
|
||||
fabric-message-api-v1-version=6.0.33
|
||||
fabric-model-loading-api-v1-version=4.3.0
|
||||
fabric-networking-api-v1-version=4.3.17
|
||||
fabric-object-builder-api-v1-version=20.0.6
|
||||
fabric-particles-v1-version=4.0.21
|
||||
fabric-recipe-api-v1-version=8.1.3
|
||||
fabric-registry-sync-v0-version=6.1.16
|
||||
fabric-networking-api-v1-version=4.3.18
|
||||
fabric-object-builder-api-v1-version=20.0.7
|
||||
fabric-particles-v1-version=4.0.22
|
||||
fabric-recipe-api-v1-version=8.1.4
|
||||
fabric-registry-sync-v0-version=6.1.17
|
||||
fabric-renderer-api-v1-version=5.0.6
|
||||
fabric-renderer-indigo-version=2.0.6
|
||||
fabric-rendering-data-attachment-v1-version=0.3.62
|
||||
fabric-rendering-fluids-v1-version=3.1.26
|
||||
fabric-rendering-v1-version=11.1.6
|
||||
fabric-resource-conditions-api-v1-version=5.0.20
|
||||
fabric-resource-loader-v0-version=3.1.5
|
||||
fabric-screen-api-v1-version=2.0.45
|
||||
fabric-screen-handler-api-v1-version=1.3.123
|
||||
fabric-sound-api-v1-version=1.0.37
|
||||
fabric-tag-api-v1-version=1.0.15
|
||||
fabric-transfer-api-v1-version=5.4.21
|
||||
fabric-transitive-access-wideners-v1-version=6.3.12
|
||||
fabric-convention-tags-v1-version=2.1.23
|
||||
fabric-convention-tags-v2-version=2.13.0
|
||||
fabric-client-tags-api-v1-version=1.1.36
|
||||
fabric-rendering-data-attachment-v1-version=0.3.63
|
||||
fabric-rendering-fluids-v1-version=3.1.27
|
||||
fabric-rendering-v1-version=11.1.7
|
||||
fabric-resource-conditions-api-v1-version=5.0.21
|
||||
fabric-resource-loader-v0-version=3.1.6
|
||||
fabric-screen-api-v1-version=2.0.46
|
||||
fabric-screen-handler-api-v1-version=1.3.124
|
||||
fabric-sound-api-v1-version=1.0.38
|
||||
fabric-tag-api-v1-version=1.0.16
|
||||
fabric-transfer-api-v1-version=5.4.22
|
||||
fabric-transitive-access-wideners-v1-version=6.3.13
|
||||
fabric-convention-tags-v1-version=2.1.24
|
||||
fabric-convention-tags-v2-version=2.13.1
|
||||
fabric-client-tags-api-v1-version=1.1.37
|
||||
|
|
Loading…
Add table
Reference in a new issue