Commits

md_5 authored 491f3675024
Rebuild patches
No tags

CraftBukkit-Patches/0005-Merge-tweaks-and-configuration.patch

Modified
1 -From 5fb274a0444392922ca200792a84b43ff4ad149a Mon Sep 17 00:00:00 2001
1 +From 818649539bd5def348502676ffd9680c2e9e2205 Mon Sep 17 00:00:00 2001
2 2 From: md_5 <git@md-5.net>
3 3 Date: Sat, 23 Mar 2013 09:46:33 +1100
4 4 Subject: [PATCH] Merge tweaks and configuration
5 5
6 6 This allows the merging of Experience orbs, as well as the configuration of the merge radius of items. Additionally it refactors the merge algorithm to be a better experience for players.
7 7
8 8 diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
9 9 index 301540e659..4b29f547f7 100644
10 10 --- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
11 11 +++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
24 24 @@ -277,7 +280,7 @@ public class EntityItem extends Entity implements TraceableEntity {
25 25 ItemStack itemstack1 = entityitem.getItem();
26 26
27 27 if (Objects.equals(this.target, entityitem.target) && areMergable(itemstack, itemstack1)) {
28 28 - if (itemstack1.getCount() < itemstack.getCount()) {
29 29 + if (true || itemstack1.getCount() < itemstack.getCount()) { // Spigot
30 30 merge(this, itemstack, entityitem, itemstack1);
31 31 } else {
32 32 merge(entityitem, itemstack1, this, itemstack);
33 33 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
34 -index b21f91958d..96e909bacd 100644
34 +index f69ff48eb4..0d03e6ff15 100644
35 35 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
36 36 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
37 -@@ -708,6 +708,23 @@ public class CraftEventFactory {
37 +@@ -709,6 +709,23 @@ public class CraftEventFactory {
38 38 return false;
39 39 }
40 40
41 41 + // Spigot start - SPIGOT-7523: Merge after spawn event and only merge if the event was not cancelled (gets checked above)
42 42 + if (entity instanceof EntityExperienceOrb xp) {
43 43 + double radius = world.spigotConfig.expMerge;
44 44 + if (radius > 0) {
45 45 + List<Entity> entities = world.getEntities(entity, entity.getBoundingBox().inflate(radius, radius, radius));
46 46 + for (Entity e : entities) {
47 47 + if (e instanceof EntityExperienceOrb loopItem) {

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut