Skip to content

Commit d544f93

Browse files
committed
Fix incompatibility with NeoForge (via connector)
1 parent ff38192 commit d544f93

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/main/java/net/earthcomputer/clientcommands/mixin/rngevents/LivingEntityMixin.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
import net.minecraft.client.player.LocalPlayer;
77
import net.minecraft.core.BlockPos;
88
import net.minecraft.tags.BlockTags;
9+
import net.minecraft.tags.FluidTags;
910
import net.minecraft.world.entity.Entity;
1011
import net.minecraft.world.entity.EntityType;
1112
import net.minecraft.world.entity.LivingEntity;
1213
import net.minecraft.world.item.ItemStack;
13-
import net.minecraft.world.item.enchantment.EnchantmentHelper;
1414
import net.minecraft.world.item.enchantment.Enchantments;
1515
import net.minecraft.world.level.Level;
1616
import net.minecraft.world.level.block.Blocks;
@@ -22,7 +22,6 @@
2222
import org.spongepowered.asm.mixin.Unique;
2323
import org.spongepowered.asm.mixin.injection.At;
2424
import org.spongepowered.asm.mixin.injection.Inject;
25-
import org.spongepowered.asm.mixin.injection.Slice;
2625
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2726

2827
@Mixin(LivingEntity.class)
@@ -32,6 +31,8 @@ public abstract class LivingEntityMixin extends Entity {
3231
@Shadow
3332
protected int useItemRemaining;
3433

34+
@Shadow public abstract boolean isAlive();
35+
3536
public LivingEntityMixin(EntityType<?> entityType_1, Level level_1) {
3637
super(entityType_1, level_1);
3738
}
@@ -57,11 +58,9 @@ public void onEat(ItemStack stack, int particleCount, CallbackInfo ci) {
5758
}
5859
}
5960

60-
@Inject(method = "baseTick",
61-
slice = @Slice(from = @At(value = "FIELD", target = "Lnet/minecraft/tags/FluidTags;WATER:Lnet/minecraft/tags/TagKey;", ordinal = 0)),
62-
at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;getBlockState(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;", ordinal = 0))
61+
@Inject(method = "baseTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;isAlive()Z", ordinal = 0))
6362
public void onUnderwater(CallbackInfo ci) {
64-
if (isThePlayer()) {
63+
if (isThePlayer() && isAlive() && isEyeInFluid(FluidTags.WATER)) {
6564
PlayerRandCracker.onUnderwater();
6665
}
6766
}

0 commit comments

Comments
 (0)