diff --git a/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java index 24dbd755b..b330b5303 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java @@ -18,7 +18,7 @@ import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.npc.Villager; +import net.minecraft.world.entity.npc.AbstractVillager; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraftforge.event.AnvilUpdateEvent; @@ -101,7 +101,7 @@ public class PlayerEventHandler { public static void aimAtVillager(Player player) { if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zoom) { Entity entity = TraceTool.findLookingEntity(player, 10); - if (entity instanceof Villager villager) { + if (entity instanceof AbstractVillager villager) { List entities = SeekTool.seekLivingEntities(villager, villager.level(), 16, 120); for (var e : entities) { if (e == player) { diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/AimVillagerMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/AimVillagerMessage.java index ac59d9f04..ee839c353 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/AimVillagerMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/AimVillagerMessage.java @@ -3,6 +3,7 @@ package com.atsuishio.superbwarfare.network.message; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.ai.gossip.GossipType; +import net.minecraft.world.entity.npc.AbstractVillager; import net.minecraft.world.entity.npc.Villager; import net.minecraft.world.entity.schedule.Activity; import net.minecraftforge.network.NetworkEvent; @@ -31,10 +32,13 @@ public class AimVillagerMessage { if (sender == null) return; Entity entity = sender.level().getEntity(message.villagerId); - if (entity instanceof Villager villager) { - villager.getBrain().setActiveActivityIfPossible(Activity.PANIC); - villager.getGossips().add(sender.getUUID(), GossipType.MINOR_NEGATIVE, 10); + if (entity instanceof AbstractVillager abstractVillager) { + if (entity instanceof Villager villager) { + villager.getGossips().add(sender.getUUID(), GossipType.MINOR_NEGATIVE, 10); + } + abstractVillager.getBrain().setActiveActivityIfPossible(Activity.PANIC); } + }); context.get().setPacketHandled(true); }