diff --git a/common/src/main/java/muramasa/antimatter/capability/item/ItemStackHandler.java b/common/src/main/java/muramasa/antimatter/capability/item/ItemStackHandler.java index 7be48f4b7..11824ccbe 100644 --- a/common/src/main/java/muramasa/antimatter/capability/item/ItemStackHandler.java +++ b/common/src/main/java/muramasa/antimatter/capability/item/ItemStackHandler.java @@ -4,6 +4,7 @@ import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; import tesseract.api.item.ContainerItemHandler; @@ -29,6 +30,11 @@ public void setSize(int size) { this.stacks = NonNullList.withSize(size, ItemStack.EMPTY); } + @Override + public boolean stillValid(Player player) { + return ExtendedItemContainer.super.stillValid(player); + } + @Override public void setItem(int slot, @NotNull ItemStack stack) { this.validateSlotIndex(slot); diff --git a/common/src/main/java/muramasa/antimatter/integration/create/client/PonderIntegration.java b/common/src/main/java/muramasa/antimatter/integration/create/client/PonderIntegration.java index 22f07a817..04d830d9e 100644 --- a/common/src/main/java/muramasa/antimatter/integration/create/client/PonderIntegration.java +++ b/common/src/main/java/muramasa/antimatter/integration/create/client/PonderIntegration.java @@ -105,9 +105,9 @@ public static void registerMultiblock(BasicMultiMachine machine, Tier t, List Selection selection = util.select.fromTo(0, y, 0, pattern.getBlockInfos()[0].length - 1, y, pattern.getBlockInfos()[0][0].length - 1); if (y == blocks.length){ controllerPositions.forEach(pos -> { - scene.world.modifyTileEntity(pos, BlockEntityBasicMultiMachine.class, b -> { + /*scene.world.modifyTileEntity(pos, BlockEntityBasicMultiMachine.class, b -> { b.setMachineState(MachineState.IDLE); - }); + });*/ }); } scene.world.showSection(selection, Direction.UP); diff --git a/common/src/main/java/muramasa/antimatter/recipe/BaseRecipeSerializer.java b/common/src/main/java/muramasa/antimatter/recipe/BaseRecipeSerializer.java new file mode 100644 index 000000000..a55104053 --- /dev/null +++ b/common/src/main/java/muramasa/antimatter/recipe/BaseRecipeSerializer.java @@ -0,0 +1,27 @@ +package muramasa.antimatter.recipe; + +import muramasa.antimatter.recipe.material.MaterialSerializer; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeSerializer; +import org.jetbrains.annotations.Nullable; + +public abstract class BaseRecipeSerializer> implements RecipeSerializer { + private ResourceLocation registryName = null; + + public RecipeSerializer setRegistryName(ResourceLocation arg) { + if (getRegistryName() != null) + throw new IllegalStateException("Attempted to set registry name with existing registry name! New: " + arg.toString() + " Old: " + getRegistryName()); + this.registryName = arg; + return this; + } + + @Nullable + public ResourceLocation getRegistryName() { + return registryName; + } + + public Class getRegistryType() { + return this.getClass(); + } +} diff --git a/common/src/main/java/muramasa/antimatter/recipe/container/ContainerItemShapedRecipe.java b/common/src/main/java/muramasa/antimatter/recipe/container/ContainerItemShapedRecipe.java index 3101458f1..5f83fbbc1 100644 --- a/common/src/main/java/muramasa/antimatter/recipe/container/ContainerItemShapedRecipe.java +++ b/common/src/main/java/muramasa/antimatter/recipe/container/ContainerItemShapedRecipe.java @@ -4,6 +4,7 @@ import muramasa.antimatter.AntimatterAPI; import muramasa.antimatter.Ref; import muramasa.antimatter.item.IContainerItem; +import muramasa.antimatter.recipe.BaseRecipeSerializer; import muramasa.antimatter.util.AntimatterPlatformUtils; import net.minecraft.core.NonNullList; import net.minecraft.network.FriendlyByteBuf; @@ -64,7 +65,7 @@ public boolean matches(CraftingContainer inv, Level level) { return false; } - public static class Serializer implements RecipeSerializer { + public static class Serializer extends BaseRecipeSerializer { public Serializer() { } diff --git a/common/src/main/java/muramasa/antimatter/recipe/container/ContainerItemShapelessRecipe.java b/common/src/main/java/muramasa/antimatter/recipe/container/ContainerItemShapelessRecipe.java index 18d5db09d..d78fe25ec 100644 --- a/common/src/main/java/muramasa/antimatter/recipe/container/ContainerItemShapelessRecipe.java +++ b/common/src/main/java/muramasa/antimatter/recipe/container/ContainerItemShapelessRecipe.java @@ -6,6 +6,7 @@ import muramasa.antimatter.AntimatterAPI; import muramasa.antimatter.Ref; import muramasa.antimatter.item.IContainerItem; +import muramasa.antimatter.recipe.BaseRecipeSerializer; import muramasa.antimatter.util.AntimatterPlatformUtils; import net.minecraft.core.NonNullList; import net.minecraft.network.FriendlyByteBuf; @@ -50,7 +51,7 @@ public NonNullList getRemainingItems(@NotNull CraftingContainer conta return nonnulllist; } - public static class Serializer implements RecipeSerializer { + public static class Serializer extends BaseRecipeSerializer { public Serializer() { } diff --git a/common/src/main/java/muramasa/antimatter/recipe/material/MaterialSerializer.java b/common/src/main/java/muramasa/antimatter/recipe/material/MaterialSerializer.java index b65df169f..9b71faa58 100644 --- a/common/src/main/java/muramasa/antimatter/recipe/material/MaterialSerializer.java +++ b/common/src/main/java/muramasa/antimatter/recipe/material/MaterialSerializer.java @@ -10,6 +10,7 @@ import it.unimi.dsi.fastutil.objects.ObjectArraySet; import muramasa.antimatter.AntimatterAPI; import muramasa.antimatter.Ref; +import muramasa.antimatter.recipe.BaseRecipeSerializer; import muramasa.antimatter.recipe.ingredient.PropertyIngredient; import net.minecraft.core.NonNullList; import net.minecraft.network.FriendlyByteBuf; @@ -25,7 +26,7 @@ import java.util.Set; -public class MaterialSerializer implements RecipeSerializer { +public class MaterialSerializer extends BaseRecipeSerializer { public static final MaterialSerializer INSTANCE = new MaterialSerializer(); diff --git a/common/src/main/java/muramasa/antimatter/recipe/serializer/AntimatterRecipeSerializer.java b/common/src/main/java/muramasa/antimatter/recipe/serializer/AntimatterRecipeSerializer.java index 4407932c0..d13200ba2 100644 --- a/common/src/main/java/muramasa/antimatter/recipe/serializer/AntimatterRecipeSerializer.java +++ b/common/src/main/java/muramasa/antimatter/recipe/serializer/AntimatterRecipeSerializer.java @@ -10,6 +10,7 @@ import muramasa.antimatter.Antimatter; import muramasa.antimatter.AntimatterAPI; import muramasa.antimatter.Ref; +import muramasa.antimatter.recipe.BaseRecipeSerializer; import muramasa.antimatter.recipe.Recipe; import muramasa.antimatter.recipe.RecipeTag; import muramasa.antimatter.recipe.RecipeUtil; @@ -33,7 +34,7 @@ import java.util.Set; import java.util.stream.Collectors; -public class AntimatterRecipeSerializer implements RecipeSerializer { +public class AntimatterRecipeSerializer extends BaseRecipeSerializer { public static final AntimatterRecipeSerializer INSTANCE = new AntimatterRecipeSerializer(); diff --git a/common/src/main/java/muramasa/antimatter/tool/MaterialSword.java b/common/src/main/java/muramasa/antimatter/tool/MaterialSword.java index 98129a45c..070260ad6 100644 --- a/common/src/main/java/muramasa/antimatter/tool/MaterialSword.java +++ b/common/src/main/java/muramasa/antimatter/tool/MaterialSword.java @@ -232,7 +232,7 @@ public int damageItem(ItemStack stack, int amount, T en return (entity instanceof Player && ((Player) entity).isCreative()) ? 0 : damage(stack, amount); } - @Override + //@Override public int getEnchantability(ItemStack stack) { return getTier(stack).getEnchantmentValue(); } diff --git a/common/src/main/java/muramasa/antimatter/tool/MaterialTool.java b/common/src/main/java/muramasa/antimatter/tool/MaterialTool.java index 68f87ce46..cff8c6ca3 100644 --- a/common/src/main/java/muramasa/antimatter/tool/MaterialTool.java +++ b/common/src/main/java/muramasa/antimatter/tool/MaterialTool.java @@ -282,7 +282,7 @@ public int damageItem(ItemStack stack, int amount, T en } return damage(stack, amount); } - @Override + //@Override public int getEnchantability(ItemStack stack) { return getTier(stack).getEnchantmentValue(); } diff --git a/forge/src/main/java/muramasa/antimatter/mixin/forge/AntimatterRecipeSerializerMixin.java b/forge/src/main/java/muramasa/antimatter/mixin/forge/AntimatterRecipeSerializerMixin.java deleted file mode 100644 index 32fa665fb..000000000 --- a/forge/src/main/java/muramasa/antimatter/mixin/forge/AntimatterRecipeSerializerMixin.java +++ /dev/null @@ -1,33 +0,0 @@ -package muramasa.antimatter.mixin.forge; - -import muramasa.antimatter.recipe.serializer.AntimatterRecipeSerializer; -import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.registries.IForgeRegistryEntry; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(value = AntimatterRecipeSerializer.class, remap = false) -public class AntimatterRecipeSerializerMixin implements IForgeRegistryEntry { - @Unique - private ResourceLocation registryName = null; - - @Override - public AntimatterRecipeSerializer setRegistryName(ResourceLocation arg) { - if (getRegistryName() != null) - throw new IllegalStateException("Attempted to set registry name with existing registry name! New: " + arg.toString() + " Old: " + getRegistryName()); - this.registryName = arg; - return (AntimatterRecipeSerializer) (Object)this; - } - - @Nullable - @Override - public ResourceLocation getRegistryName() { - return registryName; - } - - @Override - public Class getRegistryType() { - return AntimatterRecipeSerializer.class; - } -} diff --git a/forge/src/main/java/muramasa/antimatter/mixin/forge/ContainerShapedSerializerMixin.java b/forge/src/main/java/muramasa/antimatter/mixin/forge/ContainerShapedSerializerMixin.java deleted file mode 100644 index 256215b9e..000000000 --- a/forge/src/main/java/muramasa/antimatter/mixin/forge/ContainerShapedSerializerMixin.java +++ /dev/null @@ -1,33 +0,0 @@ -package muramasa.antimatter.mixin.forge; - -import muramasa.antimatter.recipe.container.ContainerItemShapedRecipe.Serializer; -import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.registries.IForgeRegistryEntry; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(Serializer.class) -public class ContainerShapedSerializerMixin implements IForgeRegistryEntry { - @Unique - private ResourceLocation registryName = null; - - @Override - public Serializer setRegistryName(ResourceLocation arg) { - if (getRegistryName() != null) - throw new IllegalStateException("Attempted to set registry name with existing registry name! New: " + arg.toString() + " Old: " + getRegistryName()); - this.registryName = arg; - return (Serializer) (Object)this; - } - - @Nullable - @Override - public ResourceLocation getRegistryName() { - return registryName; - } - - @Override - public Class getRegistryType() { - return Serializer.class; - } -} diff --git a/forge/src/main/java/muramasa/antimatter/mixin/forge/ContainerShapelessSerializerMixin.java b/forge/src/main/java/muramasa/antimatter/mixin/forge/ContainerShapelessSerializerMixin.java deleted file mode 100644 index 8253be698..000000000 --- a/forge/src/main/java/muramasa/antimatter/mixin/forge/ContainerShapelessSerializerMixin.java +++ /dev/null @@ -1,33 +0,0 @@ -package muramasa.antimatter.mixin.forge; - -import muramasa.antimatter.recipe.container.ContainerItemShapelessRecipe.Serializer; -import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.registries.IForgeRegistryEntry; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(Serializer.class) -public class ContainerShapelessSerializerMixin implements IForgeRegistryEntry { - @Unique - private ResourceLocation registryName = null; - - @Override - public Serializer setRegistryName(ResourceLocation arg) { - if (getRegistryName() != null) - throw new IllegalStateException("Attempted to set registry name with existing registry name! New: " + arg.toString() + " Old: " + getRegistryName()); - this.registryName = arg; - return (Serializer) (Object)this; - } - - @Nullable - @Override - public ResourceLocation getRegistryName() { - return registryName; - } - - @Override - public Class getRegistryType() { - return Serializer.class; - } -} diff --git a/forge/src/main/java/muramasa/antimatter/mixin/forge/MaterialSerializerMixin.java b/forge/src/main/java/muramasa/antimatter/mixin/forge/MaterialSerializerMixin.java deleted file mode 100644 index e82240477..000000000 --- a/forge/src/main/java/muramasa/antimatter/mixin/forge/MaterialSerializerMixin.java +++ /dev/null @@ -1,33 +0,0 @@ -package muramasa.antimatter.mixin.forge; - -import muramasa.antimatter.recipe.material.MaterialSerializer; -import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.registries.IForgeRegistryEntry; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(value = MaterialSerializer.class, remap = false) -public class MaterialSerializerMixin implements IForgeRegistryEntry { - @Unique - private ResourceLocation registryName = null; - - @Override - public MaterialSerializer setRegistryName(ResourceLocation arg) { - if (getRegistryName() != null) - throw new IllegalStateException("Attempted to set registry name with existing registry name! New: " + arg.toString() + " Old: " + getRegistryName()); - this.registryName = arg; - return (MaterialSerializer) (Object)this; - } - - @Nullable - @Override - public ResourceLocation getRegistryName() { - return registryName; - } - - @Override - public Class getRegistryType() { - return MaterialSerializer.class; - } -} diff --git a/forge/src/main/resources/antimatter-forge.mixins.json b/forge/src/main/resources/antimatter-forge.mixins.json index 8d886e8d9..0a3842836 100644 --- a/forge/src/main/resources/antimatter-forge.mixins.json +++ b/forge/src/main/resources/antimatter-forge.mixins.json @@ -3,12 +3,8 @@ "package" : "muramasa.antimatter.mixin.forge", "compatibilityLevel" : "JAVA_17", "mixins" : [ - "AntimatterRecipeSerializerMixin", "CapabilityManagerMixin", - "ContainerShapedSerializerMixin", - "ContainerShapelessSerializerMixin", "GameDataMixin", - "MaterialSerializerMixin", "PropertyIngredientMixin", "RecipeIngredientMixin", "BlockEntityFakeBlockMixin",