geforkt von Mirrors/Paper
fix NPE when iterating over default drops (#10017)
Dieser Commit ist enthalten in:
Ursprung
5954b852d8
Commit
a3a40ecd2b
@ -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
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren