mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-04 16:34:44 +01:00
6e71f41536
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 65247583f SPIGOT-7857: Improve ItemMeta block data deserialization 05d80500d SPIGOT-7857: Fix spurious internal NBT tag when deserializing BlockStateMeta cebb58e9a SPIGOT-7804: Fix written book serialization efcdd5d38 SPIGOT-7794: Cancelling InventoryItemMoveEvent destroys items b568ba572 SPIGOT-7789: Fix NPE in CraftMetaFirework applyToItem f057cf449 Remove outdated build delay Spigot Changes: f6a48054 SPIGOT-7835: Fix issue with custom hopper settings bb63b137 Rebuild patches e1142b4d Rebuild patches
21 lines
1.4 KiB
Diff
21 lines
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Golfing8 <atroo@me.com>
|
|
Date: Mon, 8 May 2023 09:18:17 -0400
|
|
Subject: [PATCH] ExperienceOrb should call EntitySpawnEvent
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
index 16f183c8e81b8c22ca51387e9e35282ed20d651c..97ce8663744041bd57bbb1000f77a05e01156a6c 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
@@ -735,7 +735,8 @@ public class CraftEventFactory {
|
|
// Spigot start - SPIGOT-7523: Merge after spawn event and only merge if the event was not cancelled (gets checked above)
|
|
if (entity instanceof net.minecraft.world.entity.ExperienceOrb xp) {
|
|
double radius = world.spigotConfig.expMerge;
|
|
- if (radius > 0) {
|
|
+ event = CraftEventFactory.callEntitySpawnEvent(entity); // Call spawn event for ExperienceOrb entities
|
|
+ if (radius > 0 && !event.isCancelled() && !entity.isRemoved()) {
|
|
// Paper start - Maximum exp value when merging; Whole section has been tweaked, see comments for specifics
|
|
final long maxValue = world.paperConfig().entities.behavior.experienceMergeMaxValue;
|
|
final boolean mergeUnconditionally = maxValue <= 0;
|