From 15f59b6e6e7576d9c60e24807741e905cb0d564d Mon Sep 17 00:00:00 2001 From: Sydney <94016034+Sydokiddo@users.noreply.github.com> Date: Fri, 5 Apr 2024 15:54:01 -0700 Subject: [PATCH] Minor tweak --- .../entities/hostile/SlimeFloatGoalMixin.java | 29 ------------------- .../mixin/entities/hostile/SlimeMixin.java | 23 ++++++++++++--- src/main/resources/odyssey.mixins.json | 2 +- 3 files changed, 20 insertions(+), 34 deletions(-) delete mode 100644 src/main/java/net/sydokiddo/odyssey/mixin/entities/hostile/SlimeFloatGoalMixin.java diff --git a/src/main/java/net/sydokiddo/odyssey/mixin/entities/hostile/SlimeFloatGoalMixin.java b/src/main/java/net/sydokiddo/odyssey/mixin/entities/hostile/SlimeFloatGoalMixin.java deleted file mode 100644 index 3a70ac2..0000000 --- a/src/main/java/net/sydokiddo/odyssey/mixin/entities/hostile/SlimeFloatGoalMixin.java +++ /dev/null @@ -1,29 +0,0 @@ -package net.sydokiddo.odyssey.mixin.entities.hostile; - -import net.minecraft.world.entity.monster.MagmaCube; -import net.minecraft.world.entity.monster.Slime; -import net.sydokiddo.odyssey.Odyssey; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Mutable; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(targets = "net/minecraft/world/entity/monster/Slime$SlimeFloatGoal", priority = 1500) -public class SlimeFloatGoalMixin { - - @Mutable @Final @Shadow private final Slime slime; - - private SlimeFloatGoalMixin(Slime slime) { - this.slime = slime; - } - - @Inject(method = "canUse", at = @At(value = "HEAD"), cancellable = true) - private void odyssey$preventSlimeFloatingOnWater(CallbackInfoReturnable cir) { - if (this.slime instanceof MagmaCube magmaCube && magmaCube.isInWater() && Odyssey.getConfig().entities.hostileMobsConfig.slime_and_magma_cube_converting) { - cir.setReturnValue(false); - } - } -} \ No newline at end of file diff --git a/src/main/java/net/sydokiddo/odyssey/mixin/entities/hostile/SlimeMixin.java b/src/main/java/net/sydokiddo/odyssey/mixin/entities/hostile/SlimeMixin.java index 2d3f825..a978fd1 100644 --- a/src/main/java/net/sydokiddo/odyssey/mixin/entities/hostile/SlimeMixin.java +++ b/src/main/java/net/sydokiddo/odyssey/mixin/entities/hostile/SlimeMixin.java @@ -14,9 +14,7 @@ import net.sydokiddo.odyssey.Odyssey; import net.sydokiddo.odyssey.registry.OdysseyRegistry; import net.sydokiddo.odyssey.registry.misc.ModSoundEvents; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.*; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -206,7 +204,7 @@ private void doEntityConversionEvents(Mob mob) { @Inject(at = @At("HEAD"), method = "getJumpDelay", cancellable = true) private void odyssey$preventSlimeJumpingWhileConverting(CallbackInfoReturnable cir) { if ((this.isSlimeConverting() || this.isMagmaConverting()) && Odyssey.getConfig().entities.hostileMobsConfig.slime_and_magma_cube_converting) { - cir.setReturnValue(conversionTime); + cir.setReturnValue(this.conversionTime); } } @@ -218,5 +216,22 @@ public boolean isInvulnerableTo(DamageSource damageSource) { return super.isInvulnerableTo(damageSource); } + @Mixin(targets = "net/minecraft/world/entity/monster/Slime$SlimeFloatGoal", priority = 1500) + public static class SlimeFloatGoalMixin { + + @Mutable @Final @Shadow private final Slime slime; + + private SlimeFloatGoalMixin(Slime slime) { + this.slime = slime; + } + + @Inject(method = "canUse", at = @At(value = "HEAD"), cancellable = true) + private void odyssey$preventMagmaCubesFloatingOnWater(CallbackInfoReturnable cir) { + if (this.slime instanceof MagmaCube magmaCube && magmaCube.isInWater() && Odyssey.getConfig().entities.hostileMobsConfig.slime_and_magma_cube_converting) { + cir.setReturnValue(false); + } + } + } + // endregion } \ No newline at end of file diff --git a/src/main/resources/odyssey.mixins.json b/src/main/resources/odyssey.mixins.json index 522c713..8c22b93 100644 --- a/src/main/resources/odyssey.mixins.json +++ b/src/main/resources/odyssey.mixins.json @@ -32,8 +32,8 @@ "blocks.plants.SugarCaneBlockMixin", "entities.hostile.CreeperMixin", "entities.hostile.GuardianMixin", - "entities.hostile.SlimeFloatGoalMixin", "entities.hostile.SlimeMixin", + "entities.hostile.SlimeMixin$SlimeFloatGoalMixin", "entities.hostile.VexMixin", "entities.misc.EntityMixin", "entities.misc.ItemFrameMixin",