Skip to content

Commit 961461c

Browse files
committed
Protect against allay pickups and modification.
Closes #1923.
1 parent ad6d5af commit 961461c

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
import org.bukkit.event.entity.EntityDeathEvent;
114114
import org.bukkit.event.entity.EntityExplodeEvent;
115115
import org.bukkit.event.entity.EntityInteractEvent;
116+
import org.bukkit.event.entity.EntityPickupItemEvent;
116117
import org.bukkit.event.entity.EntityTameEvent;
117118
import org.bukkit.event.entity.EntityUnleashEvent;
118119
import org.bukkit.event.entity.ExpBottleEvent;
@@ -919,6 +920,12 @@ public void onPlayerPickupItem(PlayerPickupItemEvent event) {
919920
pickupDebounce.debounce(event.getPlayer(), item, event, new DestroyEntityEvent(event, create(event.getPlayer()), event.getItem()));
920921
}
921922

923+
@EventHandler(ignoreCancelled = true)
924+
public void onEntityPickupItem(EntityPickupItemEvent event) {
925+
Item item = event.getItem();
926+
pickupDebounce.debounce(event.getEntity(), item, event, new DestroyEntityEvent(event, create(event.getEntity()), event.getItem()));
927+
}
928+
922929
@EventHandler(ignoreCancelled = true)
923930
public void onPlayerDropItem(PlayerDropItemEvent event) {
924931
Events.fireToCancel(event, new SpawnEntityEvent(event, create(event.getPlayer()), event.getItemDrop()));

worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Entities.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
package com.sk89q.worldguard.bukkit.util;
2121

22+
import org.bukkit.entity.Allay;
2223
import org.bukkit.entity.Ambient;
2324
import org.bukkit.entity.ArmorStand;
2425
import org.bukkit.entity.Arrow;
@@ -218,6 +219,7 @@ public static boolean isConsideredBuildingIfUsed(Entity entity) {
218219
return entity instanceof Hanging
219220
|| entity instanceof ArmorStand
220221
|| entity instanceof EnderCrystal
222+
|| entity instanceof Allay
221223
|| entity instanceof Minecart && entity instanceof InventoryHolder;
222224
}
223225

0 commit comments

Comments
 (0)