From a4fb286a17aaec355a8788e35face0ea6840e639 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Thu, 9 Jan 2025 20:53:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A9=E6=B5=81=E6=B5=AA=E5=95=86=E4=BA=BA?= =?UTF-8?q?=E4=B9=9F=E6=84=9F=E5=88=B0=E6=81=90=E6=85=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/event/PlayerEventHandler.java | 4 ++-- .../network/message/AimVillagerMessage.java | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) 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); }