From 835ce65c84ec4847d7115e48574ac54f92edaa43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=9D=E5=A4=8F=E5=90=8C=E5=AD=A6?= <2411829240@qq.com> Date: Sat, 8 Jun 2024 13:40:28 +0800 Subject: [PATCH] Magic Spreader --- dependencies.gradle | 1 + .../wohaopa/GTNHModify/LateMixinLoader.java | 2 +- .../late/botania/TileSpreaderMixin.java | 24 +++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/github/wohaopa/GTNHModify/mixins/late/botania/TileSpreaderMixin.java diff --git a/dependencies.gradle b/dependencies.gradle index e415610..eb4aeb1 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -40,6 +40,7 @@ dependencies { implementation("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") implementation("com.github.GTNewHorizons:Botania:1.10.12-GTNH:dev") + implementation("com.github.GTNewHorizons:GTNEIOrePlugin:1.3.0:dev") compileOnly("com.github.GTNewHorizons:GTNH-Intergalactic:1.3.4:dev") compileOnly("com.github.GTNewHorizons:TecTech:5.3.45:dev") diff --git a/src/main/java/com/github/wohaopa/GTNHModify/LateMixinLoader.java b/src/main/java/com/github/wohaopa/GTNHModify/LateMixinLoader.java index 38564c2..4b5f6e9 100644 --- a/src/main/java/com/github/wohaopa/GTNHModify/LateMixinLoader.java +++ b/src/main/java/com/github/wohaopa/GTNHModify/LateMixinLoader.java @@ -39,7 +39,7 @@ public List getMixins(Set loadedMods) { mixins.add("gtnhintergalactic.TileEntityModuleMinerMixin"); } if (Mods.Botania.isLoaded()) { - // mixins.add("botania.BotaniaMixin"); + mixins.add("botania.TileSpreaderMixin"); } return mixins; diff --git a/src/main/java/com/github/wohaopa/GTNHModify/mixins/late/botania/TileSpreaderMixin.java b/src/main/java/com/github/wohaopa/GTNHModify/mixins/late/botania/TileSpreaderMixin.java new file mode 100644 index 0000000..663551c --- /dev/null +++ b/src/main/java/com/github/wohaopa/GTNHModify/mixins/late/botania/TileSpreaderMixin.java @@ -0,0 +1,24 @@ +package com.github.wohaopa.GTNHModify.mixins.late.botania; + +import org.objectweb.asm.Opcodes; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +import com.github.wohaopa.GTNHModify.handler.ThaumcraftHandler; + +import vazkii.botania.common.block.tile.mana.TileSpreader; + +@Mixin(value = TileSpreader.class, remap = false) +public abstract class TileSpreaderMixin { + + @Redirect( + method = "pingback", + at = @At( + value = "FIELD", + target = "Lvazkii/botania/common/block/tile/mana/TileSpreader;pingbackTicks:I", + opcode = Opcodes.PUTFIELD)) + private void injectedPingback(TileSpreader tileSpreader, int pingbackTicks) { + tileSpreader.pingbackTicks = ThaumcraftHandler.handle(tileSpreader, pingbackTicks); + } +}