From 86f1765b171f4cc6f163b8027d1330f4e5094e2d Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Sat, 28 Sep 2024 13:25:01 +0200 Subject: Remove more reflection + reorganize mixin accessors packages (#3260) Co-authored-by: Martin Robertz Co-authored-by: boubou19 --- .../mixins/early/minecraft/BlockStemMixin.java | 23 ---------- .../early/minecraft/CraftingManagerMixin.java | 2 +- .../early/minecraft/ForgeShapedRecipeMixin.java | 34 -------------- .../early/minecraft/ForgeShapelessRecipeMixin.java | 36 --------------- .../early/minecraft/LanguageRegistryMixin.java | 12 +++-- .../mixin/mixins/early/minecraft/LocaleMixin.java | 14 +++--- .../mixin/mixins/early/minecraft/PotionMixin.java | 23 ---------- .../early/minecraft/StringTranslateMixin.java | 10 ++--- .../early/minecraft/VanillaShapedRecipeMixin.java | 36 --------------- .../minecraft/VanillaShapelessRecipeMixin.java | 38 ---------------- .../mixin/mixins/early/minecraft/WorldMixin.java | 3 +- .../early/minecraft/accessors/BlockStemMixin.java | 23 ++++++++++ .../minecraft/accessors/EntityPlayerMPMixin.java | 21 +++++++++ .../accessors/ForgeShapedRecipeMixin.java | 52 ++++++++++++++++++++++ .../accessors/ForgeShapelessRecipeMixin.java | 36 +++++++++++++++ .../early/minecraft/accessors/PotionMixin.java | 23 ++++++++++ .../accessors/VanillaShapedRecipeMixin.java | 36 +++++++++++++++ .../accessors/VanillaShapelessRecipeMixin.java | 41 +++++++++++++++++ 18 files changed, 251 insertions(+), 212 deletions(-) delete mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/BlockStemMixin.java delete mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/ForgeShapedRecipeMixin.java delete mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/ForgeShapelessRecipeMixin.java delete mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/PotionMixin.java delete mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/VanillaShapedRecipeMixin.java delete mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/VanillaShapelessRecipeMixin.java create mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/BlockStemMixin.java create mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/EntityPlayerMPMixin.java create mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/ForgeShapedRecipeMixin.java create mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/ForgeShapelessRecipeMixin.java create mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/PotionMixin.java create mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/VanillaShapedRecipeMixin.java create mode 100644 src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/VanillaShapelessRecipeMixin.java (limited to 'src/mixin/java/gregtech') diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/BlockStemMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/BlockStemMixin.java deleted file mode 100644 index 146c527d02..0000000000 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/BlockStemMixin.java +++ /dev/null @@ -1,23 +0,0 @@ -package gregtech.mixin.mixins.early.minecraft; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockStem; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import gregtech.mixin.interfaces.IBlockStemAccesor; - -@Mixin(value = BlockStem.class) -public class BlockStemMixin implements IBlockStemAccesor { - - @Shadow - @Final - private Block field_149877_a; - - @Override - public Block getCropBlock() { - return this.field_149877_a; - } -} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/CraftingManagerMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/CraftingManagerMixin.java index 23432792d0..ceefe02f5a 100644 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/CraftingManagerMixin.java +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/CraftingManagerMixin.java @@ -8,7 +8,7 @@ import net.minecraft.world.World; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; -import bartworks.hooks.BWCoreStaticReplacementMethodes; +import gregtech.mixin.hooks.BWCoreStaticReplacementMethodes; @Mixin(CraftingManager.class) public abstract class CraftingManagerMixin { diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/ForgeShapedRecipeMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/ForgeShapedRecipeMixin.java deleted file mode 100644 index 041df1937f..0000000000 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/ForgeShapedRecipeMixin.java +++ /dev/null @@ -1,34 +0,0 @@ -package gregtech.mixin.mixins.early.minecraft; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.ShapedOreRecipe; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import gregtech.api.interfaces.IRecipeMutableAccess; - -@Mixin(value = ShapedOreRecipe.class, remap = false) -public class ForgeShapedRecipeMixin implements IRecipeMutableAccess { - - @Shadow - private ItemStack output; - - @Shadow - private Object[] input; - - @Override - public ItemStack gt5u$getRecipeOutputItem() { - return this.output; - } - - @Override - public void gt5u$setRecipeOutputItem(ItemStack newItem) { - this.output = newItem; - } - - @Override - public Object gt5u$getRecipeInputs() { - return this.input; - } -} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/ForgeShapelessRecipeMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/ForgeShapelessRecipeMixin.java deleted file mode 100644 index 7bf4ba489e..0000000000 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/ForgeShapelessRecipeMixin.java +++ /dev/null @@ -1,36 +0,0 @@ -package gregtech.mixin.mixins.early.minecraft; - -import java.util.ArrayList; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.ShapelessOreRecipe; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import gregtech.api.interfaces.IRecipeMutableAccess; - -@Mixin(value = ShapelessOreRecipe.class, remap = false) -public class ForgeShapelessRecipeMixin implements IRecipeMutableAccess { - - @Shadow - private ItemStack output; - - @Shadow - private ArrayList input; - - @Override - public ItemStack gt5u$getRecipeOutputItem() { - return this.output; - } - - @Override - public void gt5u$setRecipeOutputItem(ItemStack newItem) { - this.output = newItem; - } - - @Override - public Object gt5u$getRecipeInputs() { - return this.input; - } -} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/LanguageRegistryMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/LanguageRegistryMixin.java index f6a0ebeaad..5b0489651b 100644 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/LanguageRegistryMixin.java +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/LanguageRegistryMixin.java @@ -1,7 +1,5 @@ package gregtech.mixin.mixins.early.minecraft; -import static gregtech.mixin.MixinsVariablesHelper.currentlyTranslating; - import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -10,18 +8,18 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import cpw.mods.fml.common.ModContainer; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; +import gregtech.mixin.hooks.MixinsVariablesHelper; -@SuppressWarnings("unused") @Mixin(value = LanguageRegistry.class) public class LanguageRegistryMixin { @Inject(method = "loadLanguagesFor", at = @At(value = "HEAD"), remap = false, require = 1) - private void kubatech$loadLanguagesForHEAD(ModContainer container, Side side, CallbackInfo callbackInfo) { - currentlyTranslating = container.getModId(); + private void gt5u$loadLanguagesForHEAD(ModContainer container, Side side, CallbackInfo callbackInfo) { + MixinsVariablesHelper.currentlyTranslating = container.getModId(); } @Inject(method = "loadLanguagesFor", at = @At(value = "RETURN"), remap = false, require = 1) - private void kubatech$loadLanguagesForRETURN(ModContainer container, Side side, CallbackInfo callbackInfo) { - currentlyTranslating = null; + private void gt5u$loadLanguagesForRETURN(ModContainer container, Side side, CallbackInfo callbackInfo) { + MixinsVariablesHelper.currentlyTranslating = null; } } diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/LocaleMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/LocaleMixin.java index e45548765c..ceb54e54ce 100644 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/LocaleMixin.java +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/LocaleMixin.java @@ -1,7 +1,5 @@ package gregtech.mixin.mixins.early.minecraft; -import static gregtech.mixin.MixinsVariablesHelper.currentlyTranslating; - import java.util.regex.Matcher; import net.minecraft.client.resources.Locale; @@ -12,9 +10,9 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.ModifyArg; import org.spongepowered.asm.mixin.injection.Redirect; +import gregtech.mixin.hooks.MixinsVariablesHelper; import kubatech.Tags; -@SuppressWarnings("unused") @Mixin(value = Locale.class) public class LocaleMixin { @@ -25,8 +23,8 @@ public class LocaleMixin { target = "Lnet/minecraft/client/resources/IResourceManager;getAllResources(Lnet/minecraft/util/ResourceLocation;)Ljava/util/List;"), index = 0, require = 1) - private ResourceLocation kubatech$loadLocaleDataFiles(ResourceLocation resourceLocation) { - currentlyTranslating = resourceLocation.getResourceDomain(); + private ResourceLocation gt5u$loadLocaleDataFiles(ResourceLocation resourceLocation) { + MixinsVariablesHelper.currentlyTranslating = resourceLocation.getResourceDomain(); return resourceLocation; } @@ -37,8 +35,10 @@ public class LocaleMixin { target = "Ljava/util/regex/Matcher;replaceAll(Ljava/lang/String;)Ljava/lang/String;", remap = false), require = 1) - private String kubatech$replaceAll(Matcher matcher, String replace) { - if (currentlyTranslating != null && currentlyTranslating.equals(Tags.MODID) && matcher.find()) { + private String gt5u$replaceAll(Matcher matcher, String replace) { + if (MixinsVariablesHelper.currentlyTranslating != null + && MixinsVariablesHelper.currentlyTranslating.equals(Tags.MODID) + && matcher.find()) { return matcher.replaceFirst(matcher.group()); } return matcher.replaceAll(replace); diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/PotionMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/PotionMixin.java deleted file mode 100644 index 94b11af492..0000000000 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/PotionMixin.java +++ /dev/null @@ -1,23 +0,0 @@ -package gregtech.mixin.mixins.early.minecraft; - -import net.minecraft.potion.Potion; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import gregtech.mixin.interfaces.PotionExt; - -@Mixin(Potion.class) -public class PotionMixin implements PotionExt { - - @Shadow - @Final - private boolean isBadEffect; - - @Override - public boolean gt5u$isBadEffect() { - return this.isBadEffect; - } - -} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/StringTranslateMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/StringTranslateMixin.java index 5fb393def9..0834b036c2 100644 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/StringTranslateMixin.java +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/StringTranslateMixin.java @@ -1,7 +1,5 @@ package gregtech.mixin.mixins.early.minecraft; -import static gregtech.mixin.MixinsVariablesHelper.currentlyTranslating; - import java.util.regex.Matcher; import net.minecraft.util.StringTranslate; @@ -10,9 +8,9 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; +import gregtech.mixin.hooks.MixinsVariablesHelper; import kubatech.Tags; -@SuppressWarnings("unused") @Mixin(value = StringTranslate.class) public class StringTranslateMixin { @@ -24,8 +22,10 @@ public class StringTranslateMixin { remap = false), remap = false, require = 1) - private static String kubatech$replaceAll(Matcher matcher, String replace) { - if (currentlyTranslating != null && currentlyTranslating.equals(Tags.MODID) && matcher.find()) { + private static String gt5u$replaceAll(Matcher matcher, String replace) { + if (MixinsVariablesHelper.currentlyTranslating != null + && MixinsVariablesHelper.currentlyTranslating.equals(Tags.MODID) + && matcher.find()) { return matcher.replaceFirst(matcher.group()); } return matcher.replaceAll(replace); diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/VanillaShapedRecipeMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/VanillaShapedRecipeMixin.java deleted file mode 100644 index 0eecaef6ea..0000000000 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/VanillaShapedRecipeMixin.java +++ /dev/null @@ -1,36 +0,0 @@ -package gregtech.mixin.mixins.early.minecraft; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.ShapedRecipes; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import gregtech.api.interfaces.IRecipeMutableAccess; - -@Mixin(ShapedRecipes.class) -public class VanillaShapedRecipeMixin implements IRecipeMutableAccess { - - @Shadow - private ItemStack recipeOutput; - - @Shadow - @Final - public ItemStack[] recipeItems; - - @Override - public ItemStack gt5u$getRecipeOutputItem() { - return this.recipeOutput; - } - - @Override - public void gt5u$setRecipeOutputItem(ItemStack newItem) { - this.recipeOutput = newItem; - } - - @Override - public Object gt5u$getRecipeInputs() { - return this.recipeItems; - } -} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/VanillaShapelessRecipeMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/VanillaShapelessRecipeMixin.java deleted file mode 100644 index 926ae6630c..0000000000 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/VanillaShapelessRecipeMixin.java +++ /dev/null @@ -1,38 +0,0 @@ -package gregtech.mixin.mixins.early.minecraft; - -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.ShapelessRecipes; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import gregtech.api.interfaces.IRecipeMutableAccess; - -@Mixin(ShapelessRecipes.class) -public class VanillaShapelessRecipeMixin implements IRecipeMutableAccess { - - @Shadow - private ItemStack recipeOutput; - - @Shadow - @Final - public List recipeItems; - - @Override - public ItemStack gt5u$getRecipeOutputItem() { - return this.recipeOutput; - } - - @Override - public void gt5u$setRecipeOutputItem(ItemStack newItem) { - this.recipeOutput = newItem; - } - - @Override - public Object gt5u$getRecipeInputs() { - return this.recipeItems; - } -} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/WorldMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/WorldMixin.java index abdb61f55b..7a21b8b577 100644 --- a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/WorldMixin.java +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/WorldMixin.java @@ -10,13 +10,12 @@ import com.llamalad7.mixinextras.injector.ModifyReturnValue; import kubatech.loaders.BlockLoader; -@SuppressWarnings("unused") @Mixin(value = World.class) public class WorldMixin { @SuppressWarnings("ConstantConditions") @ModifyReturnValue(method = "getBlock", at = @At("RETURN"), require = 1) - private Block kubatech$getBlockDetector(Block block, int x, int y, int z) { + private Block gt5u$getBlockDetector(Block block, int x, int y, int z) { if (block == BlockLoader.kubaBlock) BlockLoader.kubaBlock.setLastBlockAccess((World) (Object) this, x, y, z); return block; } diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/BlockStemMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/BlockStemMixin.java new file mode 100644 index 0000000000..c3c8ecb5b4 --- /dev/null +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/BlockStemMixin.java @@ -0,0 +1,23 @@ +package gregtech.mixin.mixins.early.minecraft.accessors; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockStem; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import gregtech.mixin.interfaces.accessors.IBlockStemAccessor; + +@Mixin(value = BlockStem.class) +public class BlockStemMixin implements IBlockStemAccessor { + + @Shadow + @Final + private Block field_149877_a; + + @Override + public Block gt5u$getCropBlock() { + return this.field_149877_a; + } +} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/EntityPlayerMPMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/EntityPlayerMPMixin.java new file mode 100644 index 0000000000..a93f62a1a1 --- /dev/null +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/EntityPlayerMPMixin.java @@ -0,0 +1,21 @@ +package gregtech.mixin.mixins.early.minecraft.accessors; + +import net.minecraft.entity.player.EntityPlayerMP; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import gregtech.mixin.interfaces.accessors.EntityPlayerMPAccessor; + +@Mixin(EntityPlayerMP.class) +public class EntityPlayerMPMixin implements EntityPlayerMPAccessor { + + @Shadow + private String translator; + + @Override + public String gt5u$getTranslator() { + return this.translator; + } + +} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/ForgeShapedRecipeMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/ForgeShapedRecipeMixin.java new file mode 100644 index 0000000000..9023880242 --- /dev/null +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/ForgeShapedRecipeMixin.java @@ -0,0 +1,52 @@ +package gregtech.mixin.mixins.early.minecraft.accessors; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.ShapedOreRecipe; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import gregtech.mixin.interfaces.accessors.IRecipeMutableAccess; +import gregtech.mixin.interfaces.accessors.ShapedOreRecipeAccessor; + +@Mixin(value = ShapedOreRecipe.class, remap = false) +public class ForgeShapedRecipeMixin implements IRecipeMutableAccess, ShapedOreRecipeAccessor { + + @Shadow + private ItemStack output; + + @Shadow + private Object[] input; + + @Shadow + private int width; + + @Shadow + private int height; + + @Override + public ItemStack gt5u$getRecipeOutputItem() { + return this.output; + } + + @Override + public void gt5u$setRecipeOutputItem(ItemStack newItem) { + this.output = newItem; + } + + @Override + public Object gt5u$getRecipeInputs() { + return this.input; + } + + @Override + public int gt5u$getWidth() { + return this.width; + } + + @Override + public int gt5u$getHeight() { + return this.height; + } + +} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/ForgeShapelessRecipeMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/ForgeShapelessRecipeMixin.java new file mode 100644 index 0000000000..0a346175fd --- /dev/null +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/ForgeShapelessRecipeMixin.java @@ -0,0 +1,36 @@ +package gregtech.mixin.mixins.early.minecraft.accessors; + +import java.util.ArrayList; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.ShapelessOreRecipe; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import gregtech.mixin.interfaces.accessors.IRecipeMutableAccess; + +@Mixin(value = ShapelessOreRecipe.class, remap = false) +public class ForgeShapelessRecipeMixin implements IRecipeMutableAccess { + + @Shadow + private ItemStack output; + + @Shadow + private ArrayList input; + + @Override + public ItemStack gt5u$getRecipeOutputItem() { + return this.output; + } + + @Override + public void gt5u$setRecipeOutputItem(ItemStack newItem) { + this.output = newItem; + } + + @Override + public Object gt5u$getRecipeInputs() { + return this.input; + } +} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/PotionMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/PotionMixin.java new file mode 100644 index 0000000000..0f8e912337 --- /dev/null +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/PotionMixin.java @@ -0,0 +1,23 @@ +package gregtech.mixin.mixins.early.minecraft.accessors; + +import net.minecraft.potion.Potion; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import gregtech.mixin.interfaces.accessors.PotionAccessor; + +@Mixin(Potion.class) +public class PotionMixin implements PotionAccessor { + + @Shadow + @Final + private boolean isBadEffect; + + @Override + public boolean gt5u$isBadEffect() { + return this.isBadEffect; + } + +} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/VanillaShapedRecipeMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/VanillaShapedRecipeMixin.java new file mode 100644 index 0000000000..ff27b3d8ff --- /dev/null +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/VanillaShapedRecipeMixin.java @@ -0,0 +1,36 @@ +package gregtech.mixin.mixins.early.minecraft.accessors; + +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.ShapedRecipes; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import gregtech.mixin.interfaces.accessors.IRecipeMutableAccess; + +@Mixin(ShapedRecipes.class) +public class VanillaShapedRecipeMixin implements IRecipeMutableAccess { + + @Shadow + private ItemStack recipeOutput; + + @Shadow + @Final + public ItemStack[] recipeItems; + + @Override + public ItemStack gt5u$getRecipeOutputItem() { + return this.recipeOutput; + } + + @Override + public void gt5u$setRecipeOutputItem(ItemStack newItem) { + this.recipeOutput = newItem; + } + + @Override + public Object gt5u$getRecipeInputs() { + return this.recipeItems; + } +} diff --git a/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/VanillaShapelessRecipeMixin.java b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/VanillaShapelessRecipeMixin.java new file mode 100644 index 0000000000..1088e77214 --- /dev/null +++ b/src/mixin/java/gregtech/mixin/mixins/early/minecraft/accessors/VanillaShapelessRecipeMixin.java @@ -0,0 +1,41 @@ +package gregtech.mixin.mixins.early.minecraft.accessors; + +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.ShapelessRecipes; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.Shadow; + +import gregtech.mixin.interfaces.accessors.IRecipeMutableAccess; + +@Mixin(ShapelessRecipes.class) +public class VanillaShapelessRecipeMixin implements IRecipeMutableAccess { + + @Final + @Mutable + @Shadow + private ItemStack recipeOutput; + + @Shadow + @Final + public List recipeItems; + + @Override + public ItemStack gt5u$getRecipeOutputItem() { + return this.recipeOutput; + } + + @Override + public void gt5u$setRecipeOutputItem(ItemStack newItem) { + this.recipeOutput = newItem; + } + + @Override + public Object gt5u$getRecipeInputs() { + return this.recipeItems; + } +} -- cgit