CraftBukkit/nms-patches/net/minecraft/world/entity/IEntityAngerable.patch
2025-03-26 03:05:00 +11:00

48 lines
1.9 KiB
Diff

--- a/net/minecraft/world/entity/IEntityAngerable.java
+++ b/net/minecraft/world/entity/IEntityAngerable.java
@@ -10,6 +10,10 @@
import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.World;
+// CraftBukkit start
+import org.bukkit.event.entity.EntityTargetEvent;
+// CraftBukkit end
+
public interface IEntityAngerable {
String TAG_ANGER_TIME = "AngerTime";
@@ -34,13 +38,13 @@
default void readPersistentAngerSaveData(World world, NBTTagCompound nbttagcompound) {
this.setRemainingPersistentAngerTime(nbttagcompound.getIntOr("AngerTime", 0));
if (world instanceof WorldServer worldserver) {
- UUID uuid = (UUID) nbttagcompound.read("AngryAt", UUIDUtil.CODEC).orElse((Object) null);
+ UUID uuid = (UUID) nbttagcompound.read("AngryAt", UUIDUtil.CODEC).orElse(null); // CraftBukkit - decompile error
this.setPersistentAngerTarget(uuid);
Entity entity = uuid != null ? worldserver.getEntity(uuid) : null;
if (entity instanceof EntityLiving entityliving) {
- this.setTarget(entityliving);
+ this.setTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, false); // CraftBukkit
}
}
@@ -96,7 +100,7 @@
default void stopBeingAngry() {
this.setLastHurtByMob((EntityLiving) null);
this.setPersistentAngerTarget((UUID) null);
- this.setTarget((EntityLiving) null);
+ this.setTarget((EntityLiving) null, org.bukkit.event.entity.EntityTargetEvent.TargetReason.FORGOT_TARGET, true); // CraftBukkit
this.setRemainingPersistentAngerTime(0);
}
@@ -107,6 +111,8 @@
void setTarget(@Nullable EntityLiving entityliving);
+ boolean setTarget(@Nullable EntityLiving entityliving, org.bukkit.event.entity.EntityTargetEvent.TargetReason reason, boolean fireEvent); // CraftBukkit
+
boolean canAttack(EntityLiving entityliving);
@Nullable