mirror of
https://github.com/FabricMC/fabric.git
synced 2025-05-31 07:24:15 -04:00
parent
4d6a78a820
commit
52a0a3850a
11 changed files with 64 additions and 68 deletions
fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment
fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item
fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder
fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client
fabric-transfer-api-v1/src
main/java/net/fabricmc/fabric/impl/transfer/item
test/java/net/fabricmc/fabric/test/transfer/unittests
testmodClient/java/net/fabricmc/fabric/test/transfer/ingame/client
fabric-transitive-access-wideners-v1/src/main/resources
gradle.properties
|
@ -23,13 +23,13 @@ import org.spongepowered.asm.mixin.injection.At;
|
|||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import net.minecraft.class_10741;
|
||||
import net.minecraft.registry.DynamicRegistryManager;
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
import net.minecraft.registry.entry.RegistryEntry;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.world.MutableWorldProperties;
|
||||
import net.minecraft.world.PersistentStateType;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.dimension.DimensionType;
|
||||
|
||||
|
@ -65,7 +65,7 @@ abstract class ServerWorldMixin extends World implements AttachmentTargetImpl {
|
|||
private void createAttachmentsPersistentState(CallbackInfo ci) {
|
||||
// Force persistent state creation
|
||||
ServerWorld world = (ServerWorld) (Object) this;
|
||||
var type = new class_10741<>(
|
||||
var type = new PersistentStateType<>(
|
||||
AttachmentPersistentState.ID,
|
||||
() -> new AttachmentPersistentState(world),
|
||||
AttachmentPersistentState.codec(world),
|
||||
|
|
|
@ -16,19 +16,22 @@
|
|||
|
||||
package net.fabricmc.fabric.test.item;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.component.type.AttributeModifierSlot;
|
||||
import net.minecraft.component.type.AttributeModifiersComponent;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.entity.attribute.EntityAttributeModifier;
|
||||
import net.minecraft.entity.attribute.EntityAttributes;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class UpdatingItem extends Item {
|
||||
private static final Identifier PLUS_FIVE_ID = Identifier.of("fabric-item-api-v1-testmod", "plus_five");
|
||||
|
@ -48,7 +51,7 @@ public class UpdatingItem extends Item {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void inventoryTick(ItemStack stack, World world, Entity entity, int slot, boolean selected) {
|
||||
public void inventoryTick(ItemStack stack, ServerWorld world, Entity entity, @Nullable EquipmentSlot equipmentSlot) {
|
||||
if (!world.isClient) {
|
||||
stack.set(ItemUpdateAnimationTest.TICKS, Math.max(0, stack.getOrDefault(ItemUpdateAnimationTest.TICKS, 0) + 1));
|
||||
}
|
||||
|
|
|
@ -21,9 +21,9 @@ import java.util.Objects;
|
|||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
|
||||
import net.minecraft.class_10741;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.world.PersistentState;
|
||||
import net.minecraft.world.PersistentStateType;
|
||||
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
|
||||
|
@ -49,7 +49,7 @@ public class PersistentStateManagerTest implements ModInitializer {
|
|||
private static final Codec<TestState> CODEC = RecordCodecBuilder.create(instance -> instance.group(
|
||||
Codec.STRING.fieldOf("value").forGetter(TestState::getValue)
|
||||
).apply(instance, TestState::new));
|
||||
private static final class_10741<TestState> TYPE = new class_10741<>(ObjectBuilderTestConstants.id("test_state").toString().replace(":", "_"), TestState::new, CODEC, null);
|
||||
private static final PersistentStateType<TestState> TYPE = new PersistentStateType<>(ObjectBuilderTestConstants.id("test_state").toString().replace(":", "_"), TestState::new, CODEC, null);
|
||||
|
||||
public static TestState getOrCreate(ServerWorld world) {
|
||||
return world.getPersistentStateManager().getOrCreate(TestState.TYPE);
|
||||
|
|
|
@ -21,7 +21,6 @@ import org.joml.Matrix4f;
|
|||
|
||||
import net.minecraft.client.gl.ShaderProgramKeys;
|
||||
import net.minecraft.client.render.BufferBuilder;
|
||||
import net.minecraft.client.render.BufferRenderer;
|
||||
import net.minecraft.client.render.DimensionEffects;
|
||||
import net.minecraft.client.render.Tessellator;
|
||||
import net.minecraft.client.render.VertexFormat;
|
||||
|
@ -76,7 +75,8 @@ public class DimensionalRenderingTest implements ClientModInitializer {
|
|||
bufferBuilder.vertex(matrix4f, -100.0f, 100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255);
|
||||
bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255);
|
||||
bufferBuilder.vertex(matrix4f, -100.0f, -100.0f, -100.0f).texture(1.0F, 0.0F).color(255, 255, 255, 255);
|
||||
BufferRenderer.drawWithGlobalProgram(bufferBuilder.end());
|
||||
// TODO 1.21.5
|
||||
// BufferRenderer.drawWithGlobalProgram(bufferBuilder.end());
|
||||
|
||||
RenderSystem.depthMask(true);
|
||||
RenderSystem.disableBlend();
|
||||
|
|
|
@ -23,10 +23,8 @@ import net.minecraft.client.MinecraftClient;
|
|||
import net.minecraft.client.gl.Defines;
|
||||
import net.minecraft.client.gl.ShaderProgramKey;
|
||||
import net.minecraft.client.gl.ShaderProgramKeys;
|
||||
import net.minecraft.client.render.BufferBuilder;
|
||||
import net.minecraft.client.render.BufferRenderer;
|
||||
import net.minecraft.client.render.Tessellator;
|
||||
import net.minecraft.client.render.VertexFormat;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.render.VertexConsumer;
|
||||
import net.minecraft.client.render.VertexFormats;
|
||||
import net.minecraft.client.util.Window;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
@ -55,12 +53,15 @@ public class HudAndShaderTest implements ClientModInitializer {
|
|||
RenderSystem.setShader(TEST_SHADER);
|
||||
RenderSystem.setShaderColor(0f, 1f, 0f, 1f);
|
||||
Matrix4f positionMatrix = drawContext.getMatrices().peek().getPositionMatrix();
|
||||
BufferBuilder buffer = Tessellator.getInstance().begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION);
|
||||
buffer.vertex(positionMatrix, x, y, 50);
|
||||
buffer.vertex(positionMatrix, x, y + 10, 50);
|
||||
buffer.vertex(positionMatrix, x + 10, y + 10, 50);
|
||||
buffer.vertex(positionMatrix, x + 10, y, 50);
|
||||
BufferRenderer.drawWithGlobalProgram(buffer.end());
|
||||
|
||||
drawContext.draw(vertexConsumerProvider -> {
|
||||
VertexConsumer buffer = vertexConsumerProvider.getBuffer(RenderLayer.getGui());
|
||||
buffer.vertex(positionMatrix, x, y, 50).color(255, 255, 255, 255);
|
||||
buffer.vertex(positionMatrix, x, y + 10, 50).color(255, 255, 255, 255);
|
||||
buffer.vertex(positionMatrix, x + 10, y + 10, 50).color(255, 255, 255, 255);
|
||||
buffer.vertex(positionMatrix, x + 10, y, 50).color(255, 255, 255, 255);
|
||||
});
|
||||
|
||||
// Reset shader color
|
||||
RenderSystem.setShaderColor(1f, 1f, 1f, 1f);
|
||||
});
|
||||
|
|
|
@ -21,12 +21,8 @@ import com.mojang.blaze3d.systems.RenderSystem;
|
|||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gl.ShaderProgramKeys;
|
||||
import net.minecraft.client.render.BufferBuilder;
|
||||
import net.minecraft.client.render.BufferRenderer;
|
||||
import net.minecraft.client.render.OverlayTexture;
|
||||
import net.minecraft.client.render.Tessellator;
|
||||
import net.minecraft.client.render.VertexFormat;
|
||||
import net.minecraft.client.render.VertexFormats;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.render.VertexRendering;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
@ -65,8 +61,6 @@ public class WorldRenderEventsTests implements ClientModInitializer {
|
|||
private static void renderAfterTranslucent(WorldRenderContext context) {
|
||||
MatrixStack matrices = context.matrixStack();
|
||||
Vec3d camera = context.camera().getPos();
|
||||
Tessellator tessellator = RenderSystem.renderThreadTesselator();
|
||||
BufferBuilder buffer = tessellator.begin(VertexFormat.DrawMode.TRIANGLE_STRIP, VertexFormats.POSITION_COLOR);
|
||||
|
||||
matrices.push();
|
||||
matrices.translate(-camera.x, -camera.y, -camera.z);
|
||||
|
@ -76,8 +70,7 @@ public class WorldRenderEventsTests implements ClientModInitializer {
|
|||
RenderSystem.enableBlend();
|
||||
RenderSystem.defaultBlendFunc();
|
||||
|
||||
VertexRendering.drawFilledBox(matrices, buffer, 0, 100, 0, 1, 101, 1, 0, 1, 0, 0.5f);
|
||||
BufferRenderer.drawWithGlobalProgram(buffer.end());
|
||||
VertexRendering.drawFilledBox(matrices, context.consumers().getBuffer(RenderLayer.getDebugFilledBox()), 0, 100, 0, 1, 101, 1, 0, 1, 0, 0.5f);
|
||||
|
||||
matrices.pop();
|
||||
RenderSystem.disableBlend();
|
||||
|
|
|
@ -85,10 +85,10 @@ class PlayerInventoryStorageImpl extends InventoryStorageImpl implements PlayerI
|
|||
@Override
|
||||
public SingleSlotStorage<ItemVariant> getHandSlot(Hand hand) {
|
||||
if (Objects.requireNonNull(hand) == Hand.MAIN_HAND) {
|
||||
if (PlayerInventory.isValidHotbarIndex(playerInventory.selectedSlot)) {
|
||||
return getSlot(playerInventory.selectedSlot);
|
||||
if (PlayerInventory.isValidHotbarIndex(playerInventory.method_67532())) {
|
||||
return getSlot(playerInventory.method_67532());
|
||||
} else {
|
||||
throw new RuntimeException("Unexpected player selected slot: " + playerInventory.selectedSlot);
|
||||
throw new RuntimeException("Unexpected player selected slot: " + playerInventory.method_67532());
|
||||
}
|
||||
} else if (hand == Hand.OFF_HAND) {
|
||||
return getSlot(PlayerInventory.OFF_HAND_SLOT);
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.util.function.Function;
|
|||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import net.minecraft.entity.EntityEquipment;
|
||||
import net.minecraft.entity.player.PlayerInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
|
@ -52,16 +53,16 @@ public class PlayerInventoryStorageTests extends AbstractTransferApiTest {
|
|||
|
||||
private void testStacking(Function<PlayerInventoryStorage, InsertionFunction> inserterBuilder) {
|
||||
// A bit hacky... but nothing should try using the null player entity as long as we don't call drop.
|
||||
PlayerInventory inv = new PlayerInventory(null);
|
||||
PlayerInventory inv = new PlayerInventory(null, new EntityEquipment());
|
||||
InsertionFunction inserter = inserterBuilder.apply(PlayerInventoryStorage.of(inv));
|
||||
|
||||
// Fill everything with stone besides the first two inventory slots.
|
||||
inv.selectedSlot = 3;
|
||||
inv.main.set(3, new ItemStack(Items.STONE, 63));
|
||||
inv.offHand.set(0, new ItemStack(Items.STONE, 62));
|
||||
inv.setSelectedSlot(3);
|
||||
inv.method_67531(new ItemStack(Items.STONE, 63));
|
||||
inv.setStack(PlayerInventory.OFF_HAND_SLOT, new ItemStack(Items.STONE, 62));
|
||||
|
||||
for (int i = 4; i < PlayerInventory.MAIN_SIZE; ++i) {
|
||||
inv.main.set(i, new ItemStack(Items.STONE, 61));
|
||||
inv.setStack(i, new ItemStack(Items.STONE, 61));
|
||||
}
|
||||
|
||||
ItemVariant stone = ItemVariant.of(Items.STONE);
|
||||
|
@ -70,15 +71,15 @@ public class PlayerInventoryStorageTests extends AbstractTransferApiTest {
|
|||
assertEquals(1L, inserter.insert(stone, 1, tx));
|
||||
|
||||
// Should have gone into the main stack
|
||||
assertEquals(64, inv.main.get(3).getCount());
|
||||
assertEquals(64, inv.getStack(3).getCount());
|
||||
}
|
||||
|
||||
try (Transaction tx = Transaction.openOuter()) {
|
||||
assertEquals(2L, inserter.insert(stone, 2, tx));
|
||||
|
||||
// Should have gone into the main and offhand stacks.
|
||||
assertEquals(64, inv.main.get(3).getCount());
|
||||
assertEquals(63, inv.offHand.get(0).getCount());
|
||||
assertEquals(64, inv.getStack(3).getCount());
|
||||
assertEquals(63, inv.getStack(PlayerInventory.OFF_HAND_SLOT).getCount());
|
||||
}
|
||||
|
||||
long toInsertStacking = 1 + 2 + (PlayerInventory.MAIN_SIZE - 4) * 3;
|
||||
|
@ -87,22 +88,22 @@ public class PlayerInventoryStorageTests extends AbstractTransferApiTest {
|
|||
try (Transaction tx = Transaction.openOuter()) {
|
||||
assertEquals(toInsertStacking, inserter.insert(stone, toInsertStacking, tx));
|
||||
|
||||
assertEquals(64, inv.main.get(3).getCount());
|
||||
assertEquals(64, inv.offHand.get(0).getCount());
|
||||
assertEquals(64, inv.getStack(3).getCount());
|
||||
assertEquals(64, inv.getStack(PlayerInventory.OFF_HAND_SLOT).getCount());
|
||||
|
||||
for (int i = 4; i < PlayerInventory.MAIN_SIZE; ++i) {
|
||||
assertEquals(64, inv.main.get(i).getCount());
|
||||
assertEquals(64, inv.getStack(i).getCount());
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
assertEquals(true, inv.main.get(i).isEmpty());
|
||||
assertEquals(true, inv.getStack(i).isEmpty());
|
||||
}
|
||||
|
||||
// Now insertion should fill the remaining stacks
|
||||
assertEquals(150L, inserter.insert(stone, 150, tx));
|
||||
assertEquals(64, inv.main.get(0).getCount());
|
||||
assertEquals(64, inv.main.get(1).getCount());
|
||||
assertEquals(22, inv.main.get(2).getCount());
|
||||
assertEquals(64, inv.getStack(0).getCount());
|
||||
assertEquals(64, inv.getStack(1).getCount());
|
||||
assertEquals(22, inv.getStack(2).getCount());
|
||||
|
||||
// Only 64 - 22 = 42 room left!
|
||||
assertEquals(42L, inserter.insert(stone, Long.MAX_VALUE, tx));
|
||||
|
|
|
@ -19,19 +19,16 @@ package net.fabricmc.fabric.test.transfer.ingame.client;
|
|||
import java.util.List;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import org.joml.Matrix4f;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gl.ShaderProgramKeys;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.render.BufferBuilder;
|
||||
import net.minecraft.client.render.BufferRenderer;
|
||||
import net.minecraft.client.render.Tessellator;
|
||||
import net.minecraft.client.render.VertexFormat;
|
||||
import net.minecraft.client.render.VertexFormats;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.render.VertexConsumer;
|
||||
import net.minecraft.client.texture.Sprite;
|
||||
import net.minecraft.client.texture.SpriteAtlasTexture;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
import net.minecraft.text.Text;
|
||||
|
@ -86,15 +83,12 @@ public class FluidVariantRenderTest implements ClientModInitializer {
|
|||
private static void drawFluidInGui(DrawContext drawContext, Sprite sprite, int color, int i, int j) {
|
||||
if (sprite == null) return;
|
||||
|
||||
RenderSystem.setShaderTexture(0, SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE);
|
||||
|
||||
float r = ((color >> 16) & 255) / 255f;
|
||||
float g = ((color >> 8) & 255) / 255f;
|
||||
float b = (color & 255) / 255f;
|
||||
RenderSystem.disableDepthTest();
|
||||
|
||||
RenderSystem.setShader(ShaderProgramKeys.POSITION_TEX_COLOR);
|
||||
BufferBuilder bufferBuilder = Tessellator.getInstance().begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE_COLOR);
|
||||
float x0 = (float) i;
|
||||
float y0 = (float) j;
|
||||
float x1 = x0 + 16;
|
||||
|
@ -104,12 +98,14 @@ public class FluidVariantRenderTest implements ClientModInitializer {
|
|||
float v0 = sprite.getMinV();
|
||||
float u1 = sprite.getMaxU();
|
||||
float v1 = sprite.getMaxV();
|
||||
Matrix4f model = drawContext.getMatrices().peek().getPositionMatrix();
|
||||
bufferBuilder.vertex(model, x0, y1, z).color(r, g, b, 1).texture(u0, v1);
|
||||
bufferBuilder.vertex(model, x1, y1, z).color(r, g, b, 1).texture(u1, v1);
|
||||
bufferBuilder.vertex(model, x1, y0, z).color(r, g, b, 1).texture(u1, v0);
|
||||
bufferBuilder.vertex(model, x0, y0, z).color(r, g, b, 1).texture(u0, v0);
|
||||
BufferRenderer.drawWithGlobalProgram(bufferBuilder.end());
|
||||
MatrixStack.Entry matrixEntry = drawContext.getMatrices().peek();
|
||||
drawContext.draw(vertexConsumerProvider -> {
|
||||
VertexConsumer vertexConsumer = vertexConsumerProvider.getBuffer(RenderLayer.getGuiTextured(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE));
|
||||
vertexConsumer.vertex(matrixEntry, x0, y1, z).color(r, g, b, 1).texture(u0, v1);
|
||||
vertexConsumer.vertex(matrixEntry, x1, y1, z).color(r, g, b, 1).texture(u1, v1);
|
||||
vertexConsumer.vertex(matrixEntry, x1, y0, z).color(r, g, b, 1).texture(u1, v0);
|
||||
vertexConsumer.vertex(matrixEntry, x0, y0, z).color(r, g, b, 1).texture(u0, v0);
|
||||
});
|
||||
|
||||
RenderSystem.enableDepthTest();
|
||||
}
|
||||
|
|
|
@ -148,6 +148,7 @@ transitive-accessible method net/minecraft/block/BarrierBlock <init> (Lnet/minec
|
|||
transitive-accessible method net/minecraft/block/BigDripleafBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/BigDripleafStemBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/BlastFurnaceBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/BushBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/ButtonBlock <init> (Lnet/minecraft/block/BlockSetType;ILnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/CactusBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/CakeBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
|
@ -351,6 +352,7 @@ transitive-accessible field net/minecraft/client/render/RenderPhase LIGHTNING_PR
|
|||
transitive-accessible field net/minecraft/client/render/RenderPhase TRIPWIRE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase END_PORTAL_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase END_GATEWAY_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase field_56584 Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase CLOUDS_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase LINES_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
|
||||
transitive-accessible field net/minecraft/client/render/RenderPhase GUI_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
org.gradle.jvmargs=-Xmx2560M
|
||||
org.gradle.parallel=true
|
||||
|
||||
version=0.115.2
|
||||
minecraft_version=25w05a
|
||||
version=0.115.3
|
||||
minecraft_version=25w06a
|
||||
yarn_version=+build.1
|
||||
loader_version=0.16.10
|
||||
installer_version=1.0.1
|
||||
|
@ -23,14 +23,14 @@ fabric-command-api-v2-version=2.2.44
|
|||
fabric-commands-v0-version=0.2.82
|
||||
fabric-content-registries-v0-version=10.0.3
|
||||
fabric-crash-report-info-v1-version=0.3.7
|
||||
fabric-data-attachment-api-v1-version=1.5.4
|
||||
fabric-data-attachment-api-v1-version=1.5.5
|
||||
fabric-data-generation-api-v1-version=22.2.11
|
||||
fabric-dimensions-v1-version=4.0.11
|
||||
fabric-entity-events-v1-version=2.0.16
|
||||
fabric-events-interaction-v0-version=4.0.6
|
||||
fabric-game-rule-api-v1-version=1.0.65
|
||||
fabric-gametest-api-v1-version=3.0.2
|
||||
fabric-item-api-v1-version=11.1.20
|
||||
fabric-item-api-v1-version=11.1.21
|
||||
fabric-item-group-api-v1-version=4.1.29
|
||||
fabric-key-binding-api-v1-version=1.0.58
|
||||
fabric-keybindings-v0-version=0.2.56
|
||||
|
@ -40,7 +40,7 @@ fabric-loot-api-v3-version=1.0.27
|
|||
fabric-message-api-v1-version=6.0.28
|
||||
fabric-model-loading-api-v1-version=4.2.4
|
||||
fabric-networking-api-v1-version=4.3.13
|
||||
fabric-object-builder-api-v1-version=19.0.3
|
||||
fabric-object-builder-api-v1-version=19.0.4
|
||||
fabric-particles-v1-version=4.0.17
|
||||
fabric-recipe-api-v1-version=8.0.11
|
||||
fabric-registry-sync-v0-version=6.1.10
|
||||
|
@ -48,15 +48,15 @@ fabric-renderer-api-v1-version=5.0.6
|
|||
fabric-renderer-indigo-version=2.0.6
|
||||
fabric-rendering-data-attachment-v1-version=0.3.58
|
||||
fabric-rendering-fluids-v1-version=3.1.22
|
||||
fabric-rendering-v1-version=11.0.1
|
||||
fabric-rendering-v1-version=11.0.2
|
||||
fabric-resource-conditions-api-v1-version=5.0.16
|
||||
fabric-resource-loader-v0-version=3.0.16
|
||||
fabric-screen-api-v1-version=2.0.41
|
||||
fabric-screen-handler-api-v1-version=1.3.117
|
||||
fabric-sound-api-v1-version=1.0.33
|
||||
fabric-tag-api-v1-version=1.0.8
|
||||
fabric-transfer-api-v1-version=5.4.14
|
||||
fabric-transitive-access-wideners-v1-version=6.3.5
|
||||
fabric-transfer-api-v1-version=5.4.15
|
||||
fabric-transitive-access-wideners-v1-version=6.3.6
|
||||
fabric-convention-tags-v1-version=2.1.17
|
||||
fabric-convention-tags-v2-version=2.12.1
|
||||
fabric-client-tags-api-v1-version=1.1.32
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue