mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-03 05:26:50 +01:00
Implement ItemMergeEvent
This commit is contained in:
parent
8f9ff9f6fd
commit
2359f6fcb0
2 changed files with 24 additions and 3 deletions
|
@ -66,7 +66,15 @@
|
|||
this.die();
|
||||
}
|
||||
|
||||
@@ -183,6 +202,11 @@
|
||||
@@ -137,6 +156,7 @@
|
||||
} else if (itemstack1.count + itemstack.count > itemstack1.getMaxStackSize()) {
|
||||
return false;
|
||||
} else {
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemMergeEvent(this, entityitem).isCancelled()) return false; // CraftBukkit
|
||||
itemstack1.count += itemstack.count;
|
||||
entityitem.pickupDelay = Math.max(entityitem.pickupDelay, this.pickupDelay);
|
||||
entityitem.age = Math.min(entityitem.age, this.age);
|
||||
@@ -183,6 +203,11 @@
|
||||
} else if (this.getItemStack() != null && this.getItemStack().getItem() == Items.NETHER_STAR && damagesource.isExplosion()) {
|
||||
return false;
|
||||
} else {
|
||||
|
@ -78,7 +86,7 @@
|
|||
this.ac();
|
||||
this.e = (int) ((float) this.e - f);
|
||||
if (this.e <= 0) {
|
||||
@@ -228,7 +252,18 @@
|
||||
@@ -228,7 +253,18 @@
|
||||
|
||||
NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("Item");
|
||||
|
||||
|
@ -98,7 +106,7 @@
|
|||
if (this.getItemStack() == null) {
|
||||
this.die();
|
||||
}
|
||||
@@ -240,6 +275,26 @@
|
||||
@@ -240,6 +276,26 @@
|
||||
ItemStack itemstack = this.getItemStack();
|
||||
int i = itemstack.count;
|
||||
|
||||
|
|
|
@ -300,6 +300,19 @@ public class CraftEventFactory {
|
|||
return event;
|
||||
}
|
||||
|
||||
/**
|
||||
* ItemMergeEvent
|
||||
*/
|
||||
public static ItemMergeEvent callItemMergeEvent(EntityItem merging, EntityItem mergingWith) {
|
||||
org.bukkit.entity.Item entityMerging = (org.bukkit.entity.Item) merging.getBukkitEntity();
|
||||
org.bukkit.entity.Item entityMergingWith = (org.bukkit.entity.Item) mergingWith.getBukkitEntity();
|
||||
|
||||
ItemMergeEvent event = new ItemMergeEvent(entityMerging, entityMergingWith);
|
||||
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
return event;
|
||||
}
|
||||
|
||||
/**
|
||||
* PotionSplashEvent
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue