diff --git a/src/main/java/xyz/pixelatedw/finalbeta/mixin/FlowingFluidTileMixin.java b/src/main/java/xyz/pixelatedw/finalbeta/mixin/FlowingFluidTileMixin.java new file mode 100644 index 0000000..1aa2f95 --- /dev/null +++ b/src/main/java/xyz/pixelatedw/finalbeta/mixin/FlowingFluidTileMixin.java @@ -0,0 +1,15 @@ +package xyz.pixelatedw.finalbeta.mixin; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.ModifyArg; + +import net.minecraft.tile.FlowingFluidTile; + +@Mixin(FlowingFluidTile.class) +public class FlowingFluidTileMixin { + @ModifyArg(method = "onScheduledTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/level/Level;getTileMeta(III)I"), index = 1) + private int updateFlowingWater(int y) { + return y - 1; + } +} diff --git a/src/main/java/xyz/pixelatedw/finalbeta/mixin/LevelMixin.java b/src/main/java/xyz/pixelatedw/finalbeta/mixin/LevelMixin.java index 5768ff8..2b30b3c 100644 --- a/src/main/java/xyz/pixelatedw/finalbeta/mixin/LevelMixin.java +++ b/src/main/java/xyz/pixelatedw/finalbeta/mixin/LevelMixin.java @@ -19,7 +19,7 @@ public class LevelMixin { public void tick(CallbackInfo ci) { WyHelper.playTime++; } - + @Inject(method="updatePosition", at = @At("TAIL")) public void updatePosition(Entity entity, boolean forceUpdate, CallbackInfo ci) { if (ModConfig.FURNACE_MINECART_CHUNK_LOADING.get() && entity instanceof Minecart) { diff --git a/src/main/java/xyz/pixelatedw/finalbeta/mixin/SnowballMixin.java b/src/main/java/xyz/pixelatedw/finalbeta/mixin/SnowballMixin.java index 52f30f7..8d2d00c 100644 --- a/src/main/java/xyz/pixelatedw/finalbeta/mixin/SnowballMixin.java +++ b/src/main/java/xyz/pixelatedw/finalbeta/mixin/SnowballMixin.java @@ -18,7 +18,16 @@ import xyz.pixelatedw.finalbeta.ModConfig; public class SnowballMixin { // Note, this is actually the "fireball" used by Ghasts. I guess they didn't have the fire charges done yet - @Inject(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;damage(Lnet/minecraft/entity/Entity;I)Z", shift = At.Shift.BEFORE), locals = LocalCapture.CAPTURE_FAILHARD, cancellable = true) + @Inject( + method = "tick", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/entity/Entity;damage(Lnet/minecraft/entity/Entity;I)Z", + shift = At.Shift.BEFORE + ), + locals = LocalCapture.CAPTURE_FAILHARD, + cancellable = true + ) private void newDamageRouter(CallbackInfo ci, Vec3d _v1, Vec3d _v2, HitResult result) { Snowball fireball = ((Snowball)(Object)this); if (ModConfig.ENABLE_GHASTS_INSTA_DEATH.get() && result != null && !fireball.level.isClient) { diff --git a/src/main/resources/finalbeta.mixins.json b/src/main/resources/finalbeta.mixins.json index f295b9f..ad9c34c 100644 --- a/src/main/resources/finalbeta.mixins.json +++ b/src/main/resources/finalbeta.mixins.json @@ -49,7 +49,8 @@ "ItemTypeAccessor", "PressurePlateTileMixin", "LeavesTileMixin", - "StillFluidTileMixin" + "StillFluidTileMixin", + "FlowingFluidTileMixin" ], "injectors": { "defaultRequire": -1