From 734f434f453d0024f5751ede1a16c5416fe72ad5 Mon Sep 17 00:00:00 2001 From: Christian Date: Fri, 22 Mar 2013 14:05:56 -0400 Subject: [PATCH] Allow itemstack sensitive damage computation for attacks. Should allow storing data in the nbt :) --- .../minecraft/net/minecraft/item/Item.java.patch | 15 ++++++++++++++- .../net/minecraft/item/ItemStack.java.patch | 11 +++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 patches/minecraft/net/minecraft/item/ItemStack.java.patch diff --git a/patches/minecraft/net/minecraft/item/Item.java.patch b/patches/minecraft/net/minecraft/item/Item.java.patch index a0eae145d..57b2f7583 100644 --- a/patches/minecraft/net/minecraft/item/Item.java.patch +++ b/patches/minecraft/net/minecraft/item/Item.java.patch @@ -47,7 +47,7 @@ Vec3 vec31 = vec3.addVector((double)f7 * d3, (double)f6 * d3, (double)f8 * d3); return par1World.rayTraceBlocks_do_do(vec3, vec31, par3, !par3); } -@@ -720,4 +730,336 @@ +@@ -720,4 +730,349 @@ { StatList.initStats(); } @@ -382,5 +382,18 @@ + { + return true; + } ++ ++ /** ++ * An itemstack sensitive version of getDamageVsEntity - allows items to handle damage based on ++ * itemstack data, like tags. Falls back to getDamageVsEntity. ++ * ++ * @param par1Entity The entity being attacked (or the attacking mob, if it's a mob - vanilla bug?) ++ * @param itemStack The itemstack ++ * @return the damage ++ */ ++ public int getDamageVsEntity(Entity par1Entity, ItemStack itemStack) ++ { ++ return getDamageVsEntity(par1Entity); ++ } + } diff --git a/patches/minecraft/net/minecraft/item/ItemStack.java.patch b/patches/minecraft/net/minecraft/item/ItemStack.java.patch new file mode 100644 index 000000000..9e7d8f2eb --- /dev/null +++ b/patches/minecraft/net/minecraft/item/ItemStack.java.patch @@ -0,0 +1,11 @@ +--- ../src_base/minecraft/net/minecraft/item/ItemStack.java ++++ ../src_work/minecraft/net/minecraft/item/ItemStack.java +@@ -382,7 +382,7 @@ + */ + public int getDamageVsEntity(Entity par1Entity) + { +- return Item.itemsList[this.itemID].getDamageVsEntity(par1Entity); ++ return Item.itemsList[this.itemID].getDamageVsEntity(par1Entity, this); + } + + /**