diff options
| author | Raven Szewczyk <git@eigenraven.me> | 2024-05-26 22:40:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-26 23:40:25 +0200 |
| commit | f3df59d9f730d7d777346c454c43e28157d1f60f (patch) | |
| tree | fff0ca6f093f071ec6a926ea5e80476a5c6919fd /src/main/java/gregtech/mixin/mixins/late | |
| parent | d96dbdb8d58b646c3f3dda174b8dd87724327d7f (diff) | |
| download | GT5-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')
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; + } +} |
