aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/mixin/mixins
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/mixin/mixins')
-rw-r--r--src/main/java/gregtech/mixin/mixins/early/minecraft/CraftingManagerMixin.java24
-rw-r--r--src/main/java/gregtech/mixin/mixins/early/minecraft/LanguageRegistryMixin.java (renamed from src/main/java/gregtech/mixin/mixins/minecraft/LanguageRegistryMixin.java)2
-rw-r--r--src/main/java/gregtech/mixin/mixins/early/minecraft/LocaleMixin.java (renamed from src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java)2
-rw-r--r--src/main/java/gregtech/mixin/mixins/early/minecraft/StringTranslateMixin.java (renamed from src/main/java/gregtech/mixin/mixins/minecraft/StringTranslateMixin.java)2
-rw-r--r--src/main/java/gregtech/mixin/mixins/early/minecraft/WorldMixin.java (renamed from src/main/java/gregtech/mixin/mixins/minecraft/WorldMixin.java)2
-rw-r--r--src/main/java/gregtech/mixin/mixins/late/thaumcraft/TileWandPedestalMixin.java43
-rw-r--r--src/main/java/gregtech/mixin/mixins/late/xu/ChunkProviderEndOfTimeMixin.java28
-rw-r--r--src/main/java/gregtech/mixin/mixins/late/xu/WorldProviderEndOfTimeMixin.java18
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;
+ }
+}