mirror of
https://github.com/PaperMC/Paper.git
synced 2025-09-02 21:33:52 -07:00
fix NPE when iterating over default drops (#10017)
This commit is contained in:
@@ -188,12 +188,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
lootCheck.run(); // Paper - advancement triggers before destroying items
|
||||
|
||||
- for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
|
||||
- if (stack == null || stack.getType() == Material.AIR || stack.getAmount() == 0) continue;
|
||||
+ // Paper start
|
||||
+ for (Entity.DefaultDrop drop : drops) {
|
||||
+ if (drop == null) continue;;
|
||||
+ final org.bukkit.inventory.ItemStack stack = drop.stack();
|
||||
+ if (drop == null || stack == null || stack.getType() == Material.AIR || stack.getAmount() == 0) continue;
|
||||
+ // Paper end
|
||||
if (stack == null || stack.getType() == Material.AIR || stack.getAmount() == 0) continue;
|
||||
|
||||
- world.dropItem(entity.getLocation(), stack); // Paper - note: dropItem already clones due to this being bukkit -> NMS
|
||||
+ drop.runConsumer(world, entity.getLocation()); // Paper
|
||||
@@ -216,12 +216,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
victim.newExp = event.getNewExp();
|
||||
|
||||
- for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
|
||||
- if (stack == null || stack.getType() == Material.AIR) continue;
|
||||
+ // Paper start
|
||||
+ for (Entity.DefaultDrop drop : drops) {
|
||||
+ if (drop == null) continue;
|
||||
+ final org.bukkit.inventory.ItemStack stack = drop.stack();
|
||||
+ if (drop == null || stack == null || stack.getType() == Material.AIR) continue;
|
||||
+ // Paper end
|
||||
if (stack == null || stack.getType() == Material.AIR) continue;
|
||||
|
||||
- world.dropItem(entity.getLocation(), stack);
|
||||
+ drop.runConsumer(world, entity.getLocation()); // Paper
|
||||
|
Reference in New Issue
Block a user