diff --git a/build.gradle b/build.gradle index dce75f5..6826127 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ import java.nio.charset.StandardCharsets plugins { - id 'fabric-loom' version '1.7-SNAPSHOT' + id 'fabric-loom' version '1.9-SNAPSHOT' id 'maven-publish' id("com.modrinth.minotaur") version "2.8.7" } @@ -26,10 +26,10 @@ dependencies { // Fabric API. This is technically optional, but you probably want it anyway. modImplementation("net.fabricmc.fabric-api:fabric-api:${project.fabric_version}") - modImplementation include("eu.pb4:polymer-core:0.9.11+1.21.1") - modImplementation include("xyz.nucleoid:server-translations-api:2.3.1+1.21-pre2") - modImplementation "maven.modrinth:lithium:mc1.21.1-0.13.0" - include(implementation("com.moulberry:mixinconstraints:1.0.1")) + modImplementation include("eu.pb4:polymer-core:0.11.3+1.21.4") + modImplementation include("xyz.nucleoid:server-translations-api:2.4.0+1.21.2-rc1") + modImplementation "maven.modrinth:lithium:mc1.21.4-0.14.3-fabric" + include(implementation("com.moulberry:mixinconstraints:1.0.2")) } loom { diff --git a/gradle.properties b/gradle.properties index 31e083c..66ad3be 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,9 +1,9 @@ org.gradle.jvmargs=-Xmx1G -minecraft_version=1.21.1 -yarn_mappings=1.21.1+build.3 -loader_version=0.16.2 -fabric_version=0.102.1+1.21.1 -mod_version=1.0.18 +minecraft_version=1.21.4 +yarn_mappings=1.21.4+build.2 +loader_version=0.16.9 +fabric_version=0.112.2+1.21.4 +mod_version=1.0.19 maven_group=com.github.tatercertified archives_base_name=fabricautocrafter modrinth_id=wbqioEpc diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 171d876..18362b7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCrafter.java b/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCrafter.java index 48a4152..1e6e83f 100644 --- a/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCrafter.java +++ b/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCrafter.java @@ -8,6 +8,7 @@ import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; +import net.minecraft.server.world.ServerWorld; import net.minecraft.stat.Stats; import net.minecraft.util.ActionResult; import net.minecraft.util.ItemScatterer; @@ -16,6 +17,7 @@ import net.minecraft.world.World; import net.minecraft.world.explosion.Explosion; import org.jetbrains.annotations.Nullable; +import xyz.nucleoid.packettweaker.PacketContext; import static net.minecraft.block.Blocks.CRAFTING_TABLE; @@ -37,7 +39,7 @@ protected ActionResult onUse(BlockState state, World world, BlockPos pos, Player } @Override - public BlockState getPolymerBlockState(BlockState state) { + public BlockState getPolymerBlockState(BlockState blockState, PacketContext packetContext) { return CRAFTING_TABLE.getDefaultState(); } @@ -77,7 +79,7 @@ public void onStateReplaced(BlockState oldState, World world, BlockPos pos, Bloc } @Override - public void onDestroyedByExplosion(World world, BlockPos pos, Explosion explosion) { + public void onDestroyedByExplosion(ServerWorld world, BlockPos pos, Explosion explosion) { if (world.getBlockEntity(pos) instanceof AutoCraftingTableBlockEntity entity) { ItemScatterer.spawn(world, pos, entity.getHeldStacks()); if (!entity.getOutput().isEmpty()) { diff --git a/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCrafterMod.java b/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCrafterMod.java index 5124419..7fe1c2f 100644 --- a/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCrafterMod.java +++ b/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCrafterMod.java @@ -3,6 +3,7 @@ import eu.pb4.polymer.core.api.block.PolymerBlockUtils; import eu.pb4.polymer.core.api.item.PolymerBlockItem; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.Blocks; @@ -22,7 +23,7 @@ public class AutoCrafterMod implements ModInitializer { public static final Identifier IDENTIFIER = Identifier.of("autocrafter", "autocrafter"); public static final Block BLOCK = new AutoCrafter(AbstractBlock.Settings.copy(Blocks.CRAFTING_TABLE).strength(2.5f, 2.5f)); public static final BlockItem ITEM = new PolymerBlockItem(BLOCK, new Item.Settings(), Items.CRAFTING_TABLE); - public static final BlockEntityType TYPE = BlockEntityType.Builder.create(AutoCraftingTableBlockEntity::new, BLOCK).build(null); + public static final BlockEntityType TYPE = FabricBlockEntityTypeBuilder.create(AutoCraftingTableBlockEntity::new, BLOCK).build(); @Override public void onInitialize() { diff --git a/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCraftingTableBlockEntity.java b/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCraftingTableBlockEntity.java index 9e526cc..fed032f 100644 --- a/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCraftingTableBlockEntity.java +++ b/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCraftingTableBlockEntity.java @@ -50,7 +50,7 @@ protected void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryL super.writeNbt(nbt, registryLookup); Inventories.writeNbt(nbt, inventory, registryLookup); if (!output.isEmpty()) { - nbt.put("Output", output.encode(registryLookup)); + nbt.put("Output", output.toNbt(registryLookup)); } } @@ -169,7 +169,7 @@ public boolean canPlayerUse(PlayerEntity player) { } @Override - public void provideRecipeInputs(RecipeMatcher finder) { + public void provideRecipeInputs(RecipeFinder finder) { for (ItemStack stack : this.inventory) finder.addInput(stack); } diff --git a/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCraftingTableContainer.java b/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCraftingTableContainer.java index f3d49e8..ca0b388 100644 --- a/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCraftingTableContainer.java +++ b/src/main/java/com/github/tatercertified/fabricautocrafter/AutoCraftingTableContainer.java @@ -7,10 +7,7 @@ import net.minecraft.inventory.Inventory; import net.minecraft.item.ItemStack; import net.minecraft.network.packet.s2c.play.ScreenHandlerSlotUpdateS2CPacket; -import net.minecraft.recipe.CraftingRecipe; -import net.minecraft.recipe.RecipeEntry; -import net.minecraft.recipe.RecipeMatcher; -import net.minecraft.recipe.RecipeUnlocker; +import net.minecraft.recipe.*; import net.minecraft.screen.CraftingScreenHandler; import net.minecraft.screen.slot.Slot; import net.minecraft.server.network.ServerPlayNetworkHandler; @@ -86,27 +83,28 @@ public void close(PlayerEntity player) { } @Override - public void populateRecipeFinder(RecipeMatcher finder) { + public void populateRecipeFinder(RecipeFinder finder) { this.crafting_inv.provideRecipeInputs(finder); } - @Override - public void clearCraftingSlots() { - this.crafting_inv.clear(); - } + // TODO See if these are needed anymore + //@Override + //public void clearCraftingSlots() { + // this.crafting_inv.clear(); + //} - @Override - public boolean matches(RecipeEntry recipe) { - return recipe.value().matches(this.crafting_inv.createRecipeInput(), this.player.getWorld()); - } + //@Override + //public boolean matches(RecipeEntry recipe) { + // return recipe.value().matches(this.crafting_inv.createRecipeInput(), this.player.getWorld()); + //} @Override - public int getCraftingWidth() { + public int getWidth() { return this.crafting_inv.getWidth(); } @Override - public int getCraftingHeight() { + public int getHeight() { return this.crafting_inv.getHeight(); } diff --git a/src/main/java/com/github/tatercertified/fabricautocrafter/mixin/LithiumBlockEntityOptimizations.java b/src/main/java/com/github/tatercertified/fabricautocrafter/mixin/LithiumBlockEntityOptimizations.java index df3182c..0a08182 100644 --- a/src/main/java/com/github/tatercertified/fabricautocrafter/mixin/LithiumBlockEntityOptimizations.java +++ b/src/main/java/com/github/tatercertified/fabricautocrafter/mixin/LithiumBlockEntityOptimizations.java @@ -2,8 +2,8 @@ import com.github.tatercertified.fabricautocrafter.AutoCraftingTableBlockEntity; import com.moulberry.mixinconstraints.annotations.IfModLoaded; -import me.jellysquid.mods.lithium.common.block.entity.SleepingBlockEntity; -import me.jellysquid.mods.lithium.mixin.world.block_entity_ticking.sleeping.WrappedBlockEntityTickInvokerAccessor; +import net.caffeinemc.mods.lithium.common.block.entity.SleepingBlockEntity; +import net.caffeinemc.mods.lithium.mixin.world.block_entity_ticking.sleeping.WrappedBlockEntityTickInvokerAccessor; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.block.entity.LockableContainerBlockEntity; diff --git a/src/main/java/com/github/tatercertified/fabricautocrafter/mixin/LithiumSleepControlMixin.java b/src/main/java/com/github/tatercertified/fabricautocrafter/mixin/LithiumSleepControlMixin.java index 6399af2..2b567c6 100644 --- a/src/main/java/com/github/tatercertified/fabricautocrafter/mixin/LithiumSleepControlMixin.java +++ b/src/main/java/com/github/tatercertified/fabricautocrafter/mixin/LithiumSleepControlMixin.java @@ -3,7 +3,7 @@ import com.github.tatercertified.fabricautocrafter.AutoCraftingTableBlockEntity; import com.github.tatercertified.fabricautocrafter.AutoCraftingTableContainer; import com.moulberry.mixinconstraints.annotations.IfModLoaded; -import me.jellysquid.mods.lithium.common.block.entity.SleepingBlockEntity; +import net.caffeinemc.mods.lithium.common.block.entity.SleepingBlockEntity; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index ef9088f..90be134 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -24,7 +24,7 @@ "depends": { "fabricloader": "*", "fabric": "*", - "minecraft": ">=1.21", + "minecraft": ">=1.21.4", "java": ">=21" }, "recommends": {