summaryrefslogtreecommitdiff
path: root/common/darkknight/jewelrycraft/util/JewelryNBT.java
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2013-12-26 00:50:16 +0200
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2013-12-26 00:50:16 +0200
commit1a3455b24d90b0def912c28467cbc51662d660e0 (patch)
tree90232ffe1b1a52ab43594b438cfac44ad3c0b60e /common/darkknight/jewelrycraft/util/JewelryNBT.java
parent1997f4547812121223836dcacfcb31ea63acdda6 (diff)
Major changes. Thanks domi for helping me with the chest linking ring :)
Diffstat (limited to 'common/darkknight/jewelrycraft/util/JewelryNBT.java')
-rw-r--r--common/darkknight/jewelrycraft/util/JewelryNBT.java201
1 files changed, 201 insertions, 0 deletions
diff --git a/common/darkknight/jewelrycraft/util/JewelryNBT.java b/common/darkknight/jewelrycraft/util/JewelryNBT.java
index c097a49..be2f959 100644
--- a/common/darkknight/jewelrycraft/util/JewelryNBT.java
+++ b/common/darkknight/jewelrycraft/util/JewelryNBT.java
@@ -2,6 +2,7 @@ package darkknight.jewelrycraft.util;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
@@ -104,6 +105,25 @@ public class JewelryNBT
itemStackData.setTag("z", coords);
}
+ public static void addBlockCoordonates(ItemStack item, int x, int y, int z)
+ {
+ NBTTagCompound itemStackData;
+ if (item.hasTagCompound())
+ itemStackData = item.getTagCompound();
+ else
+ {
+ itemStackData = new NBTTagCompound();
+ item.setTagCompound(itemStackData);
+ }
+ NBTTagCompound coords = new NBTTagCompound();
+ coords.setInteger("blockX", x);
+ coords.setInteger("blockY", y);
+ coords.setInteger("blockZ", z);
+ itemStackData.setTag("blockX", coords);
+ itemStackData.setTag("blockY", coords);
+ itemStackData.setTag("blockZ", coords);
+ }
+
public static void addCoordonatesAndDimension(ItemStack item, double x, double y, double z, int dim, String name)
{
NBTTagCompound itemStackData;
@@ -139,6 +159,13 @@ public class JewelryNBT
}
itemStackData.removeTag(tag);
}
+
+ public static void removeEntity(ItemStack item)
+ {
+ JewelryNBT.removeNBT(item, "entityID");
+ JewelryNBT.removeNBT(item, "entity");
+ JewelryNBT.removeNBT(item, "ench");
+ }
public static void addEnchantment(ItemStack item)
{
@@ -153,4 +180,178 @@ public class JewelryNBT
itemStackData.setTag("ench", new NBTTagList("ench"));
}
+ public static ItemStack jewel(ItemStack stack)
+ {
+ if(stack != null && stack != new ItemStack(0, 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("jewel"))
+ {
+ NBTTagCompound jewelNBT = (NBTTagCompound) stack.getTagCompound().getTag("jewel");
+ ItemStack jewel = new ItemStack(0, 0, 0);
+ jewel.readFromNBT(jewelNBT);
+ return jewel;
+ }
+ return null;
+ }
+
+ public static boolean isJewelX(ItemStack stack, ItemStack jewel)
+ {
+ if(jewel(stack) != null && jewel(stack).itemID == jewel.itemID && jewel(stack).getItemDamage() == jewel.getItemDamage()) return true;
+ return false;
+ }
+
+ public static ItemStack modifier(ItemStack stack)
+ {
+ if(stack != null && stack != new ItemStack(0, 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("modifier"))
+ {
+ NBTTagCompound modifierNBT = (NBTTagCompound) stack.getTagCompound().getTag("modifier");
+ ItemStack modifier = new ItemStack(0, 0, 0);
+ modifier.readFromNBT(modifierNBT);
+ return modifier;
+ }
+ return null;
+ }
+
+ public static boolean isModifierX(ItemStack stack, ItemStack modifier)
+ {
+ if(modifier(stack) != null && modifier(stack).itemID == modifier.itemID && modifier(stack).getItemDamage() == modifier.getItemDamage()) return true;
+ return false;
+ }
+
+ public static ItemStack ingot(ItemStack stack)
+ {
+ if(stack != null && stack != new ItemStack(0, 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("ingot"))
+ {
+ NBTTagCompound ingotNBT = (NBTTagCompound) stack.getTagCompound().getTag("ingot");
+ ItemStack ingot = new ItemStack(0, 0, 0);
+ ingot.readFromNBT(ingotNBT);
+ return ingot;
+ }
+ return null;
+ }
+
+ public static boolean isIngotX(ItemStack stack, ItemStack ingot)
+ {
+ if(ingot(stack) != null && ingot(stack).itemID == ingot.itemID && ingot(stack).getItemDamage() == ingot.getItemDamage()) return true;
+ return false;
+ }
+
+ public static EntityLivingBase entity(ItemStack stack, EntityPlayer player)
+ {
+ if (stack != null && stack != new ItemStack(0, 0, 0) && stack.getTagCompound().hasKey("entityID") && stack.getTagCompound().hasKey("entity"))
+ {
+ NBTTagCompound enID = (NBTTagCompound) stack.getTagCompound().getTag("entityID");
+ NBTTagCompound en = (NBTTagCompound) stack.getTagCompound().getTag("entity");
+ int entityID = 0;
+ entityID = enID.getInteger("entityID");
+ EntityLivingBase entity = (EntityLivingBase) EntityList.createEntityByID(entityID, player.worldObj);
+ entity.readFromNBT(en);
+ return entity;
+ }
+ return null;
+ }
+
+ public static boolean isEntityX(ItemStack stack, EntityPlayer player, EntityLivingBase entity)
+ {
+ if(entity(stack, player) != null && entity(stack, player).equals(entity)) return true;
+ return false;
+ }
+
+ public static String dimName(ItemStack stack)
+ {
+ if(stack != null && stack != new ItemStack(0, 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimName"))
+ {
+ NBTTagCompound dim = (NBTTagCompound) stack.getTagCompound().getTag("dimName");
+ String name = dim.getString("dimName");
+ return name;
+ }
+ return null;
+ }
+
+ public static boolean isDimNameX(ItemStack stack, String dimName)
+ {
+ if(ingot(stack) != null && dimName(stack).equals(dimName)) return true;
+ return false;
+ }
+
+ public static int dimension(ItemStack stack)
+ {
+ if(stack != null && stack != new ItemStack(0, 0, 0) && stack.hasTagCompound() && stack.getTagCompound().hasKey("dimension"))
+ {
+ NBTTagCompound dim = (NBTTagCompound) stack.getTagCompound().getTag("dimension");
+ int dimension = dim.getInteger("dimension");
+ return dimension;
+ }
+ return -2;
+ }
+
+ public static boolean isDimensionX(ItemStack stack, int dimension)
+ {
+ if(dimension(stack) != -2 && dimension(stack) == dimension) return true;
+ return false;
+ }
+
+ public static int blockCoordX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(0, 0, 0) && stack.getTagCompound().hasKey("blockX"))
+ {
+ NBTTagCompound x = (NBTTagCompound) stack.getTagCompound().getTag("blockX");
+ int posX = x.getInteger("blockX");
+ return posX;
+ }
+ return -1;
+ }
+
+ public static int blockCoordY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(0, 0, 0) && stack.getTagCompound().hasKey("blockY"))
+ {
+ NBTTagCompound y = (NBTTagCompound) stack.getTagCompound().getTag("blockY");
+ int posY = y.getInteger("blockY");
+ return posY;
+ }
+ return -1;
+ }
+
+ public static int blockCoordZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(0, 0, 0) && stack.getTagCompound().hasKey("blockZ"))
+ {
+ NBTTagCompound z = (NBTTagCompound) stack.getTagCompound().getTag("blockZ");
+ int posZ = z.getInteger("blockZ");
+ return posZ;
+ }
+ return -1;
+ }
+
+ public static double playerPosX(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(0, 0, 0) && stack.getTagCompound().hasKey("x"))
+ {
+ NBTTagCompound x = (NBTTagCompound) stack.getTagCompound().getTag("x");
+ double posX = x.getDouble("x");
+ return posX;
+ }
+ return -1;
+ }
+
+ public static double playerPosY(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(0, 0, 0) && stack.getTagCompound().hasKey("y"))
+ {
+ NBTTagCompound y = (NBTTagCompound) stack.getTagCompound().getTag("y");
+ double posY = y.getDouble("y");
+ return posY;
+ }
+ return -1;
+ }
+
+ public static double playerPosZ(ItemStack stack)
+ {
+ if (stack != null && stack != new ItemStack(0, 0, 0) && stack.getTagCompound().hasKey("z"))
+ {
+ NBTTagCompound z = (NBTTagCompound) stack.getTagCompound().getTag("z");
+ double posZ = z.getDouble("z");
+ return posZ;
+ }
+ return -1;
+ }
}