2013-12-13 11:10:33 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								From daed468c7916d5bf90cc56e5c16558ec5492db97 Mon Sep 17 00:00:00 2001
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-04 18:49:59 +11:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								From: md_5 <md_5@live.com.au>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								Date: Mon, 4 Mar 2013 18:45:52 +1100
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								Subject: [PATCH] PlayerItemDamageEvent
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
							 | 
						
					
						
							
								
									
										
										
										
											2013-12-01 14:40:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								index 53c665b..123e4a5 100644
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-04 18:49:59 +11:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								--- a/src/main/java/net/minecraft/server/ItemStack.java
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+++ b/src/main/java/net/minecraft/server/ItemStack.java
							 | 
						
					
						
							
								
									
										
										
										
											2013-12-01 14:40:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								@@ -175,7 +175,13 @@ public final class ItemStack {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								         return this.item.getMaxDurability();
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 09:08:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								     }
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 11:57:39 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								+    // Spigot start
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								     public boolean isDamaged(int i, Random random) {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+        return isDamaged(i, random, null);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+    }
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 09:08:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								+    public boolean isDamaged(int i, Random random, EntityLiving entityliving) {
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 11:57:39 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								+        // Spigot end
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 09:08:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								         if (!this.g()) {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								             return false;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								         } else {
							 | 
						
					
						
							
								
									
										
										
										
											2013-12-01 14:40:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								@@ -190,7 +196,16 @@ public final class ItemStack {
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-04 18:49:59 +11:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								                 }
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								                 i -= k;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								-                if (i <= 0) {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                // Spigot start
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                if (entityliving instanceof EntityPlayer) {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                    org.bukkit.craftbukkit.inventory.CraftItemStack item = org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(this);
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-05 07:22:03 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								+                    org.bukkit.event.player.PlayerItemDamageEvent event = new org.bukkit.event.player.PlayerItemDamageEvent((org.bukkit.entity.Player) entityliving.getBukkitEntity(), item, i);
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-04 18:49:59 +11:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                    org.bukkit.Bukkit.getServer().getPluginManager().callEvent(event);
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 09:08:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								+                    if (event.isCancelled()) return false;
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-04 18:49:59 +11:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                    i = event.getDamage();
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                }
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                // Spigot end
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                if (i <= 0 ) {
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 08:35:56 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								                     return false;
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-04 18:49:59 +11:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								                 }
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								             }
							 | 
						
					
						
							
								
									
										
										
										
											2013-12-01 14:40:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								@@ -203,7 +218,7 @@ public final class ItemStack {
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 09:08:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								     public void damage(int i, EntityLiving entityliving) {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								         if (!(entityliving instanceof EntityHuman) || !((EntityHuman) entityliving).abilities.canInstantlyBuild) {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								             if (this.g()) {
							 | 
						
					
						
							
								
									
										
										
										
											2013-12-01 14:40:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								-                if (this.isDamaged(i, entityliving.aI())) {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								+                if (this.isDamaged(i, entityliving.aI(), entityliving)) {
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 09:08:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								                     entityliving.a(this);
							 | 
						
					
						
							
								
									
										
										
										
											2013-07-02 13:03:56 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								                     --this.count;
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-16 09:08:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								                     if (entityliving instanceof EntityHuman) {
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-04 18:49:59 +11:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								-- 
							 | 
						
					
						
							
								
									
										
										
										
											2013-12-01 14:40:53 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								1.8.3.2
							 | 
						
					
						
							
								
									
										
										
										
											2013-03-04 18:49:59 +11:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 |