aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/item
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/item')
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java43
1 files changed, 35 insertions, 8 deletions
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java
index c2bb478f85..5b55bbd84f 100644
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockNBT.java
@@ -1,12 +1,14 @@
package gtPlusPlus.core.item.base.itemblock;
-import gtPlusPlus.core.util.nbt.NBTUtils;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.core.util.player.PlayerUtils;
import net.minecraft.block.Block;
-import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class ItemBlockNBT extends ItemBlock {
@@ -17,14 +19,39 @@ public class ItemBlockNBT extends ItemBlock {
@Override
public void onCreated(ItemStack item, World world, EntityPlayer player) {
- if (player != null){
- NBTUtils.setString(item, "mOwner", player.getDisplayName());
- NBTUtils.setString(item, "mUUID", ""+player.getUniqueID());
- boolean mOP = PlayerUtils.isPlayerOP(player);
- NBTUtils.setBoolean(item, "mOP", mOP);
- }
+ addNBT(player, item);
super.onCreated(item, world, player);
}
+ @Override
+ public void onUpdate(ItemStack item, World world, Entity entity, int p_77663_4_, boolean p_77663_5_) {
+ if (entity instanceof EntityPlayerMP) {
+ EntityPlayerMP mPlayer = (EntityPlayerMP) entity;
+
+ NBTTagCompound rNBT = item.getTagCompound();
+ rNBT = ((rNBT == null) ? new NBTTagCompound() : rNBT);
+ if (!rNBT.hasKey("mOwner")){
+ addNBT(mPlayer, item);
+ }
+ }
+ super.onUpdate(item, world, entity, p_77663_4_, p_77663_5_);
+ }
+
+ private void addNBT(EntityPlayer player, ItemStack item) {
+ NBTTagCompound rNBT = item.getTagCompound();
+ rNBT = ((rNBT == null) ? new NBTTagCompound() : rNBT);
+ if (player != null) {
+ boolean mOP = PlayerUtils.isPlayerOP(player);
+ rNBT.setString("mOwner", player.getDisplayName());
+ rNBT.setString("mUUID", ""+player.getUniqueID());
+ rNBT.setBoolean("mOP", mOP);
+ }
+ else if (player == null) {
+ rNBT.setString("mOwner", "fakeplayer");
+ rNBT.setString("mUUID", "00000000");
+ rNBT.setBoolean("mOP", false);
+ }
+ GT_Utility.ItemNBT.setNBT(item, rNBT);
+ }
} \ No newline at end of file