fix: enderman chases player regardless of the dim

This commit is contained in:
iceBear67 committed 2024-07-14 15:59:20 +08:00
1 parent 0e1bd32a57
commit 20f874096d
2 files changed
+31

No files matched your search

@@ -0,0 +1,30 @@
package io.ib67.sfcraft.mixin.server.fixes;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.player.PlayerEntity;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
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;
public class EndermanEntityMixin {
@Mixin(targets = "net.minecraft.entity.mob.EndermanEntity$ChasePlayerGoal")
public static class ChaseGoalMixin {
@Shadow
@Final
private EndermanEntity enderman;
@Inject(method = "canStart", at = @At("HEAD"), cancellable = true)
public void fixCrossDimTeleport(CallbackInfoReturnable<Boolean> cir) {
var target = enderman.getTarget();
if (target!=null && enderman.getWorld() != target.getWorld()) {
cir.setReturnValue(false);
}
}
}
}
+1
View File
@@ -8,6 +8,7 @@
"client": [ "client": [
], ],
"server": [ "server": [
"server.fixes.EndermanEntityMixin$ChaseGoalMixin",
"server.bridge.ServerWorldBridge", "server.bridge.ServerWorldBridge",
"server.bridge.ServerPlayerBridge", "server.bridge.ServerPlayerBridge",
"server.MinecraftServerMixin", "server.MinecraftServerMixin",