Prepare for 1.19 dev
This commit is contained in:
		
					parent
					
						
							
								f34f678b20
							
						
					
				
			
			
				commit
				
					
						1148687a8d
					
				
			
		
					 1302 changed files with 120 additions and 61 deletions
				
			
		|  | @ -1,65 +0,0 @@ | |||
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||||
| From: Jake Potrebic <jake.m.potrebic@gmail.com> | ||||
| Date: Tue, 22 Dec 2020 13:52:48 -0800 | ||||
| Subject: [PATCH] Added EntityDamageItemEvent | ||||
| 
 | ||||
| 
 | ||||
| diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
 | ||||
| index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/main/java/net/minecraft/world/item/ItemStack.java
 | ||||
| +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
 | ||||
| @@ -0,0 +0,0 @@ public final class ItemStack {
 | ||||
|          return this.getItem().getMaxDamage(); | ||||
|      } | ||||
|   | ||||
| -    public boolean hurt(int amount, Random random, @Nullable ServerPlayer player) {
 | ||||
| +    public boolean hurt(int amount, Random random, @Nullable LivingEntity player) { // Paper - allow any living entity instead of only ServerPlayers
 | ||||
|          if (!this.isDamageableItem()) { | ||||
|              return false; | ||||
|          } else { | ||||
| @@ -0,0 +0,0 @@ public final class ItemStack {
 | ||||
|   | ||||
|                  amount -= k; | ||||
|                  // CraftBukkit start | ||||
| -                if (player != null) {
 | ||||
| -                    PlayerItemDamageEvent event = new PlayerItemDamageEvent(player.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount);
 | ||||
| +                if (player instanceof ServerPlayer serverPlayer) { // Paper
 | ||||
| +                    PlayerItemDamageEvent event = new PlayerItemDamageEvent(serverPlayer.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount); // Paper
 | ||||
|                      event.getPlayer().getServer().getPluginManager().callEvent(event); | ||||
|   | ||||
|                      if (amount != event.getDamage() || event.isCancelled()) { | ||||
| @@ -0,0 +0,0 @@ public final class ItemStack {
 | ||||
|                      } | ||||
|   | ||||
|                      amount = event.getDamage(); | ||||
| +                    // Paper start - EntityDamageItemEvent
 | ||||
| +                } else if (player != null) {
 | ||||
| +                    io.papermc.paper.event.entity.EntityDamageItemEvent event = new io.papermc.paper.event.entity.EntityDamageItemEvent(player.getBukkitLivingEntity(), CraftItemStack.asCraftMirror(this), amount);
 | ||||
| +                    if (!event.callEvent()) {
 | ||||
| +                        return false;
 | ||||
| +                    }
 | ||||
| +                    amount = event.getDamage();
 | ||||
| +                    // Paper end
 | ||||
|                  } | ||||
|                  // CraftBukkit end | ||||
|                  if (amount <= 0) { | ||||
| @@ -0,0 +0,0 @@ public final class ItemStack {
 | ||||
|                  } | ||||
|              } | ||||
|   | ||||
| -            if (player != null && amount != 0) {
 | ||||
| -                CriteriaTriggers.ITEM_DURABILITY_CHANGED.trigger(player, this, this.getDamageValue() + amount);
 | ||||
| +            if (player instanceof ServerPlayer serverPlayer && amount != 0) { // Paper
 | ||||
| +                CriteriaTriggers.ITEM_DURABILITY_CHANGED.trigger(serverPlayer, this, this.getDamageValue() + amount); // Paper
 | ||||
|              } | ||||
|   | ||||
|              j = this.getDamageValue() + amount; | ||||
| @@ -0,0 +0,0 @@ public final class ItemStack {
 | ||||
|      public <T extends LivingEntity> void hurtAndBreak(int amount, T entity, Consumer<T> breakCallback) { | ||||
|          if (!entity.level.isClientSide && (!(entity instanceof net.minecraft.world.entity.player.Player) || !((net.minecraft.world.entity.player.Player) entity).getAbilities().instabuild)) { | ||||
|              if (this.isDamageableItem()) { | ||||
| -                if (this.hurt(amount, entity.getRandom(), entity instanceof ServerPlayer ? (ServerPlayer) entity : null)) {
 | ||||
| +                if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent
 | ||||
|                      breakCallback.accept(entity); | ||||
|                      Item item = this.getItem(); | ||||
|                      // CraftBukkit start - Check for item breaking | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Nassim Jahnke
				Nassim Jahnke