disableharmfulmobgriefs/src/main/java/zone/oat/disableharmfulmobgriefs/mixin/DisableEndermanBlockSteal.java

28 lines
1.2 KiB
Java

package zone.oat.disableharmfulmobgriefs.mixin;
import net.minecraft.entity.ai.goal.Goal;
import net.minecraft.entity.ai.goal.GoalSelector;
import net.minecraft.entity.mob.EndermanEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.Slice;
@Mixin(EndermanEntity.class)
public class DisableEndermanBlockSteal {
@Redirect(
method = "initGoals",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/entity/ai/goal/GoalSelector;add(ILnet/minecraft/entity/ai/goal/Goal;)V"
),
slice = @Slice(
from = @At(value = "INVOKE", target = "Lnet/minecraft/entity/mob/EndermanEntity$PlaceBlockGoal;<init>(Lnet/minecraft/entity/mob/EndermanEntity;)V"),
to = @At(value = "INVOKE", target = "Lnet/minecraft/entity/mob/EndermanEntity$TeleportTowardsPlayerGoal;<init>(Lnet/minecraft/entity/mob/EndermanEntity;Ljava/util/function/Predicate;)V")
)
)
private void injected(GoalSelector instance, int priority, Goal goal) {
// just completely ignore it
}
}