diff --git a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java index 2e6221c8e..350d59128 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java +++ b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java @@ -7,7 +7,6 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.event.TagsUpdatedEvent; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.ModList; @@ -152,10 +151,6 @@ public final class OverdriveThatMatters { ToolsConfig.INSTANCE.register(); } - private void tagsUpdated(TagsUpdatedEvent event) { - Ingredient.invalidateAll(); - } - private void setup(final FMLCommonSetupEvent event) { EVENT_BUS.addListener(EventPriority.NORMAL, DrivePool.INSTANCE::onWorldSave); @@ -205,8 +200,6 @@ public final class OverdriveThatMatters { EVENT_BUS.addListener(EventPriority.NORMAL, DevChestBlockEntity.Companion::mappingsChanged); - EVENT_BUS.addListener(EventPriority.NORMAL, this::tagsUpdated); - MatteryPlayerNetworkChannel.INSTANCE.register(); MenuNetworkChannel.INSTANCE.register(); WeaponNetworkChannel.INSTANCE.register(); diff --git a/src/main/java/ru/dbotthepony/mc/otm/mixin/IngredientMixin.java b/src/main/java/ru/dbotthepony/mc/otm/mixin/IngredientMixin.java deleted file mode 100644 index ada9fe9ce..000000000 --- a/src/main/java/ru/dbotthepony/mc/otm/mixin/IngredientMixin.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.dbotthepony.mc.otm.mixin; - -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(Ingredient.class) -public abstract class IngredientMixin { - @Inject( - method = "getItems()[Lnet/minecraft/world/item/ItemStack;", - at = @At("HEAD") - ) - public void getItemsPatch(CallbackInfoReturnable info) { - ((Ingredient) (Object) this).checkInvalidation(); - } -} diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/IngredientCodec.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/IngredientCodec.kt index 7eea0a880..27c18ade8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/IngredientCodec.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/IngredientCodec.kt @@ -1,6 +1,5 @@ package ru.dbotthepony.mc.otm.data -import com.google.gson.JsonParseException import com.google.gson.JsonSyntaxException import com.mojang.datafixers.util.Pair import com.mojang.serialization.Codec @@ -15,12 +14,10 @@ object IngredientCodec : Codec { } override fun decode(ops: DynamicOps, input: T): DataResult> { - return try { - DataResult.success(Pair(Ingredient.fromJson(ops.convertTo(JsonOps.INSTANCE, input)), ops.empty())) + try { + return DataResult.success(Pair(Ingredient.fromJson(ops.convertTo(JsonOps.INSTANCE, input)), ops.empty())) } catch (err: JsonSyntaxException) { - DataResult.error { "Error decoding Ingredient: ${err.message}" } - } catch (err: JsonParseException) { - DataResult.error { "Error decoding Ingredient: ${err.message}" } + return DataResult.error { "Error decoding Ingredient: ${err.message}" } } } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PlatePressRecipe.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PlatePressRecipe.kt index 583231dcc..6ad1dcdb8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PlatePressRecipe.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PlatePressRecipe.kt @@ -56,6 +56,9 @@ class PlatePressRecipe( } override fun getIngredients(): NonNullList { + if (isIncomplete) + return super.getIngredients() + return NonNullList.of(Ingredient.EMPTY, input) } diff --git a/src/main/resources/overdrive_that_matters.mixins.json b/src/main/resources/overdrive_that_matters.mixins.json index 74743f38a..cc4920e9d 100644 --- a/src/main/resources/overdrive_that_matters.mixins.json +++ b/src/main/resources/overdrive_that_matters.mixins.json @@ -15,8 +15,7 @@ "MixinAbstractHurtingProjectile", "SimpleCriterionTriggerMixin", "InventoryChangeTriggerMixin", - "MixinPlayer", - "IngredientMixin" + "MixinPlayer" ], "client": [ "MixinGameRenderer",