CC: Tweaked

CC: Tweaked

42M Downloads

Melee Turtle dupe with SimpleTomb

Waoweens opened this issue ยท 1 comments

commented

Minecraft Version

1.16.x

Version

1.98.2

Details

Description

If you have Simple Tombstone installed, and you get killed by a Melee Turtle, the turtle will have your items in its inventory, but your grave will still be there and so your items are duplicated.

I am using SkyFactory One version 1.0.1. This happens on both singleplayer and multiplayer.

Related issues:
DarkPacks/SkyFactory-One#84
Lothrazar/SimpleTomb#8

Expected behavior

Turtle kills you, item in Turtle inventory, grave disappears / Turtle kills you, item on grave, turtle does not have your items.

Steps to reproduce

  • Place Melee Turtle
  • Create a file with:
while (true) do
  turtle.attack()
end
  • Run the file
  • Stand in front of the turtle and die
  • Open grave
  • Check turtle inventory

Additional Information

Logs (singleplayer):
latest.log

Video:

turtdupe.mp4
commented

Turtles cancel the drop event, rather than just clearing the list. It looks like SimpleTomb still receives cancelled drop events, hence the dupe. Not sure why the cancelled event is being received, @Lothrazar will obviously understand ST's side of things :).

That said, we should probably clear the drop list within our event handler, just to avoid this sort of thing:

@SubscribeEvent( priority = EventPriority.LOW )
public static void onLivingDrops( LivingDropsEvent drops )
{
if( dropEntity == null || drops.getEntity() != dropEntity ) return;
for( ItemEntity drop : drops.getDrops() ) handleDrops( drop.getItem() );
drops.setCanceled( true );