readd removal cause for thrown eggs

This commit is contained in:
Lulu13022002
2024-12-15 23:07:15 +01:00
parent f5cd5989a4
commit ec57b99bf5
22 changed files with 96 additions and 82 deletions

View File

@@ -6,8 +6,8 @@
if (!level.isClientSide) {
- contents.forEach(itemStack -> level.addFreshEntity(new ItemEntity(level, container.getX(), container.getY(), container.getZ(), itemStack)));
+ // Paper start - call EntityDropItemEvent
+ contents.forEach(stack -> {
+ ItemEntity droppedItem = new ItemEntity(level, container.getX(), container.getY(), container.getZ(), stack);
+ contents.forEach(itemStack -> {
+ ItemEntity droppedItem = new ItemEntity(level, container.getX(), container.getY(), container.getZ(), itemStack);
+ org.bukkit.event.entity.EntityDropItemEvent event = new org.bukkit.event.entity.EntityDropItemEvent(container.getBukkitEntity(), (org.bukkit.entity.Item) droppedItem.getBukkitEntity());
+ if (event.callEvent()) {
+ level.addFreshEntity(droppedItem);

View File

@@ -9,7 +9,7 @@
+ java.util.Optional<Boolean> status = entity.randomTeleport(d, d1, d2, true, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.CHORUS_FRUIT);
+
+ // teleport event was canceled, no more tries
+ if (!status.isPresent()) break;
+ if (status.isEmpty()) break;
+ if (status.get()) {
+ // CraftBukkit end
level.gameEvent(GameEvent.TELEPORT, vec3, GameEvent.Context.of(entity));