Terms
Discord Username (optional)
yuzinho
What happened?
I am trying to implement a custom drop system using FurnitureBreakEvent. To prevent the default ItemsAdder item from dropping, I cancel the event and manually call CustomFurniture.remove().
However, when event.setCancelled(true) is called, the furniture.remove() or CustomFurniture.remove() method seems to be ignored or blocked, resulting in the furniture remaining in the world while the custom drop is still spawned.
The furniture should be removed from the world manually even if the break event itself is cancelled (to prevent default drops).
Steps to reproduce the issue
Listen to FurnitureBreakEvent.
Call event.setCancelled(true).
Call event.getFurniture().remove(false) or CustomFurniture.remove(entity, false).
Observe that the furniture entity/block does not disappear from the world.
Server version
This server is running Paper version 1.21.10-130-ver/1.21.10@8043efd (2026-01-04T21:00:59Z) (Implementing API version 1.21.10-R0.1-SNAPSHOT)
ItemsAdder Version
ItemsAdder version 4.0.15
ProtocolLib Version
ProtocolLib version 5.4.1-SNAPSHOT-f606cc9
Full Server Log
https://mclo.gs/CuXoa2N
Error (optional)
Problematic items yml configuration file (optional)
Other files, you can drag and drop them here to upload. (optional)
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBreak(FurnitureBreakEvent event) {
event.setCancelled(true);
// This call seems to be ignored because the event is cancelled
CustomFurniture.remove(event.getFurniture().getEntity(), false);
// Custom drop logic here
loc.getWorld().dropItemNaturally(loc, myCustomItem);
}
Screenshots/Videos (you can drag and drop files or paste links)
No response
Terms
#itemsadder-forumchannel on Discord for similar issues.Discord Username (optional)
yuzinho
What happened?
I am trying to implement a custom drop system using FurnitureBreakEvent. To prevent the default ItemsAdder item from dropping, I cancel the event and manually call CustomFurniture.remove().
However, when event.setCancelled(true) is called, the furniture.remove() or CustomFurniture.remove() method seems to be ignored or blocked, resulting in the furniture remaining in the world while the custom drop is still spawned.
The furniture should be removed from the world manually even if the break event itself is cancelled (to prevent default drops).
Steps to reproduce the issue
Listen to FurnitureBreakEvent.
Call event.setCancelled(true).
Call event.getFurniture().remove(false) or CustomFurniture.remove(entity, false).
Observe that the furniture entity/block does not disappear from the world.
Server version
This server is running Paper version 1.21.10-130-ver/1.21.10@8043efd (2026-01-04T21:00:59Z) (Implementing API version 1.21.10-R0.1-SNAPSHOT)
ItemsAdder Version
ItemsAdder version 4.0.15
ProtocolLib Version
ProtocolLib version 5.4.1-SNAPSHOT-f606cc9
Full Server Log
https://mclo.gs/CuXoa2N
Error (optional)
Problematic items yml configuration file (optional)
Other files, you can drag and drop them here to upload. (optional)
Screenshots/Videos (you can drag and drop files or paste links)
No response