aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/mixin/mixins/late
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-26 22:40:25 +0100
committerGitHub <noreply@github.com>2024-05-26 23:40:25 +0200
commitf3df59d9f730d7d777346c454c43e28157d1f60f (patch)
treefff0ca6f093f071ec6a926ea5e80476a5c6919fd /src/main/java/gregtech/mixin/mixins/late
parentd96dbdb8d58b646c3f3dda174b8dd87724327d7f (diff)
downloadGT5-Unofficial-f3df59d9f730d7d777346c454c43e28157d1f60f.tar.gz
GT5-Unofficial-f3df59d9f730d7d777346c454c43e28157d1f60f.tar.bz2
GT5-Unofficial-f3df59d9f730d7d777346c454c43e28157d1f60f.zip
Asm->Mixin conversion (#2620)
* Set up early and late mixins hodgepodge-style * Port bartworks asm to mixins * Wire up bartworks asm configs * Fix wrong mixin targets * Remove the coremod dependency * update deps --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/mixin/mixins/late')
-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
3 files changed, 89 insertions, 0 deletions
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;
+ }
+}