From eb4c70de2f6dbf428f214691789c2a1cc4379355 Mon Sep 17 00:00:00 2001 From: Sollace Date: Fri, 2 Feb 2024 21:17:16 +0000 Subject: [PATCH] 1.20.1 -> 1.20.2 (merge fixes) --- .../ability/EarthPonyGrowAbility.java | 2 +- .../unicopia/compat/emi/Main.java | 8 ++-- .../unicopia/item/TransformCropsRecipe.java | 38 ++++++------------- .../unicopia/network/MsgZapAppleStage.java | 3 +- 4 files changed, 18 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/EarthPonyGrowAbility.java b/src/main/java/com/minelittlepony/unicopia/ability/EarthPonyGrowAbility.java index 61ab54d5..ec910617 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/EarthPonyGrowAbility.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/EarthPonyGrowAbility.java @@ -138,7 +138,7 @@ public class EarthPonyGrowAbility implements Ability { return player.asWorld().getRecipeManager() .getAllMatches(URecipes.GROWING, new TransformCropsRecipe.PlacementArea(player, pos), player.asWorld()) .stream() - .map(recipe -> recipe.checkPattern(player.asWorld(), pos)) + .map(recipe -> recipe.value().checkPattern(player.asWorld(), pos)) .filter(result -> result.matchedLocations().size() + 1 >= TransformCropsRecipe.MINIMUM_INPUT) .filter(result -> { boolean transform = result.shoudTransform(player.asWorld().random); diff --git a/src/main/java/com/minelittlepony/unicopia/compat/emi/Main.java b/src/main/java/com/minelittlepony/unicopia/compat/emi/Main.java index 9a7df925..94d5525a 100644 --- a/src/main/java/com/minelittlepony/unicopia/compat/emi/Main.java +++ b/src/main/java/com/minelittlepony/unicopia/compat/emi/Main.java @@ -112,10 +112,10 @@ public class Main implements EmiPlugin { registry.addWorkstation(GROWING_CATEGORY, GROWING_STATION); registry.getRecipeManager().listAllOfType(URecipes.GROWING).forEach(recipe -> { registry.addRecipe(new EmiWorldInteractionRecipe(EmiWorldInteractionRecipe.builder() - .id(recipe.getId()) - .leftInput(EmiStack.of(recipe.getTargetAsItem())) - .rightInput(EmiStack.of(recipe.getCatalyst(), TransformCropsRecipe.MINIMUM_INPUT), true) - .output(EmiStack.of(recipe.getOutput()))) { + .id(recipe.id()) + .leftInput(EmiStack.of(recipe.value().getTargetAsItem())) + .rightInput(EmiStack.of(recipe.value().getCatalyst(), TransformCropsRecipe.MINIMUM_INPUT), true) + .output(EmiStack.of(recipe.value().getOutput()))) { @Override public EmiRecipeCategory getCategory() { return GROWING_CATEGORY; diff --git a/src/main/java/com/minelittlepony/unicopia/item/TransformCropsRecipe.java b/src/main/java/com/minelittlepony/unicopia/item/TransformCropsRecipe.java index 284665ce..557fb014 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/TransformCropsRecipe.java +++ b/src/main/java/com/minelittlepony/unicopia/item/TransformCropsRecipe.java @@ -3,12 +3,9 @@ package com.minelittlepony.unicopia.item; import java.util.HashSet; import java.util.Set; -import com.google.gson.JsonObject; import com.minelittlepony.unicopia.block.state.StateUtil; import com.minelittlepony.unicopia.entity.player.Pony; -import com.mojang.datafixers.util.Pair; import com.mojang.serialization.Codec; -import com.mojang.serialization.JsonOps; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.block.Block; @@ -22,7 +19,6 @@ import net.minecraft.recipe.RecipeSerializer; import net.minecraft.recipe.RecipeType; import net.minecraft.registry.DynamicRegistryManager; import net.minecraft.registry.Registries; -import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.math.random.Random; @@ -35,14 +31,11 @@ public class TransformCropsRecipe implements Recipe getSerializer() { return URecipes.TRANSFORM_CROP_SERIALIZER; @@ -82,11 +70,11 @@ public class TransformCropsRecipe implements Recipe { - record Intermediate(Block target, BlockState fuel, BlockState output) {} - private static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - Registries.BLOCK.getCodec().fieldOf("target").forGetter(Intermediate::target), - BlockState.CODEC.fieldOf("consume").forGetter(Intermediate::fuel), - BlockState.CODEC.fieldOf("output").forGetter(Intermediate::output) - ).apply(instance, Intermediate::new)); + private static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + Registries.BLOCK.getCodec().fieldOf("target").forGetter(recipe -> recipe.target), + BlockState.CODEC.fieldOf("consume").forGetter(recipe -> recipe.catalyst), + BlockState.CODEC.fieldOf("output").forGetter(recipe -> recipe.output) + ).apply(instance, TransformCropsRecipe::new)); @Override - public TransformCropsRecipe read(Identifier id, JsonObject json) { - Intermediate content = CODEC.decode(JsonOps.INSTANCE, json).result().map(Pair::getFirst).get(); - return new TransformCropsRecipe(id, content.target(), content.fuel(), content.output()); + public Codec codec() { + return CODEC; } @Override - public TransformCropsRecipe read(Identifier id, PacketByteBuf buffer) { - return new TransformCropsRecipe(id, + public TransformCropsRecipe read(PacketByteBuf buffer) { + return new TransformCropsRecipe( buffer.readRegistryValue(Registries.BLOCK), Block.getStateFromRawId(buffer.readInt()), Block.getStateFromRawId(buffer.readInt()) diff --git a/src/main/java/com/minelittlepony/unicopia/network/MsgZapAppleStage.java b/src/main/java/com/minelittlepony/unicopia/network/MsgZapAppleStage.java index 10bad6c1..2a63a8d7 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/MsgZapAppleStage.java +++ b/src/main/java/com/minelittlepony/unicopia/network/MsgZapAppleStage.java @@ -3,13 +3,12 @@ package com.minelittlepony.unicopia.network; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; import com.sollace.fabwork.api.packets.Packet; -import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; public record MsgZapAppleStage ( ZapAppleStageStore.Stage stage, long delta - ) implements Packet { + ) implements Packet { public MsgZapAppleStage(PacketByteBuf buffer) { this(buffer.readEnumConstant(ZapAppleStageStore.Stage.class), buffer.readLong());