diff options
Diffstat (limited to 'src/main/java/gregtech/mixin/mixins')
8 files changed, 117 insertions, 4 deletions
diff --git a/src/main/java/gregtech/mixin/mixins/early/minecraft/CraftingManagerMixin.java b/src/main/java/gregtech/mixin/mixins/early/minecraft/CraftingManagerMixin.java new file mode 100644 index 0000000000..1a88150128 --- /dev/null +++ b/src/main/java/gregtech/mixin/mixins/early/minecraft/CraftingManagerMixin.java @@ -0,0 +1,24 @@ +package gregtech.mixin.mixins.early.minecraft; + +import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.world.World; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; + +import com.github.bartimaeusnek.bartworks.ASM.BWCoreStaticReplacementMethodes; + +@Mixin(CraftingManager.class) +public abstract class CraftingManagerMixin { + + /** + * @author bart + * @reason Cache the result of findMatchingRecipe + */ + @Overwrite + public ItemStack findMatchingRecipe(InventoryCrafting inventoryCrafting, World world) { + return BWCoreStaticReplacementMethodes.findCachedMatchingRecipe(inventoryCrafting, world); + } +} diff --git a/src/main/java/gregtech/mixin/mixins/minecraft/LanguageRegistryMixin.java b/src/main/java/gregtech/mixin/mixins/early/minecraft/LanguageRegistryMixin.java index ee98a11f88..f6a0ebeaad 100644 --- a/src/main/java/gregtech/mixin/mixins/minecraft/LanguageRegistryMixin.java +++ b/src/main/java/gregtech/mixin/mixins/early/minecraft/LanguageRegistryMixin.java @@ -1,4 +1,4 @@ -package gregtech.mixin.mixins.minecraft; +package gregtech.mixin.mixins.early.minecraft; import static gregtech.mixin.MixinsVariablesHelper.currentlyTranslating; diff --git a/src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java b/src/main/java/gregtech/mixin/mixins/early/minecraft/LocaleMixin.java index 3a1864534a..e45548765c 100644 --- a/src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java +++ b/src/main/java/gregtech/mixin/mixins/early/minecraft/LocaleMixin.java @@ -1,4 +1,4 @@ -package gregtech.mixin.mixins.minecraft; +package gregtech.mixin.mixins.early.minecraft; import static gregtech.mixin.MixinsVariablesHelper.currentlyTranslating; diff --git a/src/main/java/gregtech/mixin/mixins/minecraft/StringTranslateMixin.java b/src/main/java/gregtech/mixin/mixins/early/minecraft/StringTranslateMixin.java index d9b80a0f52..5fb393def9 100644 --- a/src/main/java/gregtech/mixin/mixins/minecraft/StringTranslateMixin.java +++ b/src/main/java/gregtech/mixin/mixins/early/minecraft/StringTranslateMixin.java @@ -1,4 +1,4 @@ -package gregtech.mixin.mixins.minecraft; +package gregtech.mixin.mixins.early.minecraft; import static gregtech.mixin.MixinsVariablesHelper.currentlyTranslating; diff --git a/src/main/java/gregtech/mixin/mixins/minecraft/WorldMixin.java b/src/main/java/gregtech/mixin/mixins/early/minecraft/WorldMixin.java index 1d99287659..abdb61f55b 100644 --- a/src/main/java/gregtech/mixin/mixins/minecraft/WorldMixin.java +++ b/src/main/java/gregtech/mixin/mixins/early/minecraft/WorldMixin.java @@ -1,4 +1,4 @@ -package gregtech.mixin.mixins.minecraft; +package gregtech.mixin.mixins.early.minecraft; import net.minecraft.block.Block; import net.minecraft.world.World; diff --git a/src/main/java/gregtech/mixin/mixins/late/thaumcraft/TileWandPedestalMixin.java b/src/main/java/gregtech/mixin/mixins/late/thaumcraft/TileWandPedestalMixin.java new file mode 100644 index 0000000000..bfc79731e4 --- /dev/null +++ b/src/main/java/gregtech/mixin/mixins/late/thaumcraft/TileWandPedestalMixin.java @@ -0,0 +1,43 @@ +package gregtech.mixin.mixins.late.thaumcraft; + +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; + +import thaumcraft.api.TileThaumcraft; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.IAspectContainer; +import thaumcraft.common.items.baubles.ItemAmuletVis; +import thaumcraft.common.items.wands.ItemWandCasting; +import thaumcraft.common.tiles.TileWandPedestal; + +@Mixin(TileWandPedestal.class) +public abstract class TileWandPedestalMixin extends TileThaumcraft implements ISidedInventory, IAspectContainer { + + @WrapWithCondition( + method = "updateEntity", + at = @At( + value = "INVOKE", + target = "Lthaumcraft/common/items/wands/ItemWandCasting;addVis(Lnet/minecraft/item/ItemStack;Lthaumcraft/api/aspects/Aspect;IZ)I", + remap = false)) + boolean gregtech$checkWandServerWorld(ItemWandCasting instance, ItemStack is, Aspect aspect, int amount, + boolean doit) { + return !this.worldObj.isRemote; + } + + @WrapWithCondition( + method = "updateEntity", + at = @At( + value = "INVOKE", + target = "Lthaumcraft/common/items/baubles/ItemAmuletVis;addVis(Lnet/minecraft/item/ItemStack;Lthaumcraft/api/aspects/Aspect;IZ)I", + remap = false)) + boolean gregtech$checkAmuletServerWorld(ItemAmuletVis instance, ItemStack is, Aspect aspect, int amount, + boolean doit) { + return !this.worldObj.isRemote; + } + +} diff --git a/src/main/java/gregtech/mixin/mixins/late/xu/ChunkProviderEndOfTimeMixin.java b/src/main/java/gregtech/mixin/mixins/late/xu/ChunkProviderEndOfTimeMixin.java new file mode 100644 index 0000000000..2565e309f2 --- /dev/null +++ b/src/main/java/gregtech/mixin/mixins/late/xu/ChunkProviderEndOfTimeMixin.java @@ -0,0 +1,28 @@ +package gregtech.mixin.mixins.late.xu; + +import java.util.Collections; +import java.util.List; + +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.IChunkProvider; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; + +import com.rwtema.extrautils.worldgen.endoftime.ChunkProviderEndOfTime; + +@Mixin(ChunkProviderEndOfTime.class) +@SuppressWarnings("unused") +public abstract class ChunkProviderEndOfTimeMixin implements IChunkProvider { + + /** + * @author bart + * @reason Disable creature spawning in the Last Millenium entirely + */ + @Overwrite + public List<BiomeGenBase.SpawnListEntry> getPossibleCreatures(EnumCreatureType p_73155_1_, int p_73155_2_, + int p_73155_3_, int p_73155_4_) { + return Collections.emptyList(); + } +} diff --git a/src/main/java/gregtech/mixin/mixins/late/xu/WorldProviderEndOfTimeMixin.java b/src/main/java/gregtech/mixin/mixins/late/xu/WorldProviderEndOfTimeMixin.java new file mode 100644 index 0000000000..3a063dc283 --- /dev/null +++ b/src/main/java/gregtech/mixin/mixins/late/xu/WorldProviderEndOfTimeMixin.java @@ -0,0 +1,18 @@ +package gregtech.mixin.mixins.late.xu; + +import net.minecraft.world.WorldProvider; +import net.minecraft.world.chunk.Chunk; + +import org.spongepowered.asm.mixin.Mixin; + +import com.rwtema.extrautils.worldgen.endoftime.WorldProviderEndOfTime; + +@Mixin(WorldProviderEndOfTime.class) +@SuppressWarnings("unused") +public abstract class WorldProviderEndOfTimeMixin extends WorldProvider { + + @Override + public boolean canDoRainSnowIce(Chunk chunk) { + return false; + } +} |