readd removal cause for thrown eggs

This commit is contained in:
Lulu13022002
2024-12-15 23:07:15 +01:00
parent f5cd5989a4
commit ec57b99bf5
22 changed files with 96 additions and 82 deletions

View File

@@ -204,7 +204,7 @@
+ ItemStack itemstack = this.getPickupItem();
+ if (this.pickup == Pickup.ALLOWED && !itemstack.isEmpty() && entity.getInventory().canHold(itemstack) > 0) {
+ ItemEntity item = new ItemEntity(this.level(), this.getX(), this.getY(), this.getZ(), itemstack);
+ org.bukkit.event.player.PlayerPickupArrowEvent event = new org.bukkit.event.player.PlayerPickupArrowEvent((org.bukkit.entity.Player) entity.getBukkitEntity(), new org.bukkit.craftbukkit.entity.CraftItem(this.level().getCraftServer(), item), (org.bukkit.entity.AbstractArrow) this.getBukkitEntity());
+ org.bukkit.event.player.PlayerPickupArrowEvent event = new org.bukkit.event.player.PlayerPickupArrowEvent((org.bukkit.entity.Player) entity.getBukkitEntity(), (org.bukkit.entity.Item) item.getBukkitEntity(), (org.bukkit.entity.AbstractArrow) this.getBukkitEntity());
+ // event.setCancelled(!entityhuman.canPickUpLoot); TODO
+ this.level().getCraftServer().getPluginManager().callEvent(event);
+

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/world/entity/projectile/ThrownEgg.java
+++ b/net/minecraft/world/entity/projectile/ThrownEgg.java
@@ -59,22 +_,56 @@
@@ -59,28 +_,62 @@
protected void onHit(HitResult result) {
super.onHit(result);
if (!this.level().isClientSide) {
@@ -61,3 +61,10 @@
}
}
}
this.level().broadcastEntityEvent(this, (byte)3);
- this.discard();
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.HIT); // CraftBukkit - add Bukkit remove cause
}
}