/src/main/java/bspkrs/util/ItemID.java
Java | 95 lines | 76 code | 16 blank | 3 comment | 17 complexity | 6f49b49eeed7012ce4e5fa8d20ec016e MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception
- package bspkrs.util;
-
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraftforge.fml.common.registry.ForgeRegistries;
-
- public class ItemID
- {
- /**
- * Unique ID of the item from the namespace registry
- */
- public final String id;
- public final int damage;
-
- public ItemID(String id, int damage)
- {
- this.id = id;
- this.damage = damage;
- }
-
- public ItemID(String id)
- {
- this(id, -1);
- }
-
- public ItemID(ItemStack itemStack, int damage)
- {
- this(itemStack.getItem(), damage);
- }
-
- public ItemID(ItemStack itemStack)
- {
- this(itemStack.getItem(), -1);
- }
-
- public ItemID(Item item, int damage)
- {
- this(ForgeRegistries.ITEMS.getKey(item).toString(), damage);
- }
-
- public ItemID(Item item)
- {
- this(ForgeRegistries.ITEMS.getKey(item).toString(), -1);
- }
-
- public ItemID(String format, String delimiter)
- {
- String[] parts = format.split(delimiter);
-
- if (parts.length > 1)
- {
- id = parts[0].trim();
- damage = CommonUtils.parseInt(parts[1], -1);
- }
- else
- {
- id = parts[0].trim();
- damage = -1;
- }
- }
-
- @Override
- public ItemID clone()
- {
- return new ItemID(id, damage);
- }
-
- @Override
- public boolean equals(Object obj)
- {
- if (this == obj)
- return true;
-
- if (!(obj instanceof ItemID))
- return false;
-
- ItemID o = (ItemID) obj;
- if ((o.damage == -1) || (damage == -1))
- return id != null ? id.equals(o.id) : o.id == null;
- else
- return id != null ? id.equals(o.id) && (damage == o.damage) : (o.id == null) && (damage == o.damage);
- }
-
- @Override
- public int hashCode()
- {
- return id.hashCode() * 31;
- }
-
- @Override
- public String toString()
- {
- return (damage == -1 ? id + "" : id + ", " + damage);
- }
- }