mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-18 22:03:51 -07:00
Finish API patches
This commit is contained in:
@@ -1,29 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Bjarne Koll <git@lynxplay.dev>
|
||||
Date: Fri, 4 Aug 2023 15:53:36 +0200
|
||||
Subject: [PATCH] Only erase allay memory on non-item targets
|
||||
|
||||
Spigot incorrectly instanceOf checks the EntityTargetEvent#getTarget
|
||||
against the internal ItemEntity type and removes the nearest wanted item
|
||||
memory if said instanceOf check fails, (which is always the case)
|
||||
causing allays to behave differently as they constantly loose their
|
||||
target item.
|
||||
|
||||
This commit fixes the faulty behaviour by instance performing a check
|
||||
against the CraftItem type.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/GoToWantedItem.java b/src/main/java/net/minecraft/world/entity/ai/behavior/GoToWantedItem.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/GoToWantedItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/GoToWantedItem.java
|
||||
@@ -0,0 +0,0 @@ public class GoToWantedItem {
|
||||
if (event.isCancelled()) {
|
||||
return false;
|
||||
}
|
||||
- if (!(event.getTarget() instanceof ItemEntity)) {
|
||||
+ if (!(event.getTarget() instanceof org.bukkit.craftbukkit.entity.CraftItem)) { // Paper - only erase allay memory on non-item targets
|
||||
memoryaccessor2.erase();
|
||||
+ return false; // Paper - only erase allay memory on non-item targets
|
||||
}
|
||||
|
||||
entityitem = (ItemEntity) ((org.bukkit.craftbukkit.entity.CraftEntity) event.getTarget()).getHandle();
|
Reference in New Issue
Block a user