Guest User

Untitled

a guest
Jan 23rd, 2018
488
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. package halestormxv.init;
  2.  
  3. import halestormxv.RunicSorcery;
  4. import halestormxv.util.handlers.EnumHandlerRunes;
  5. import halestormxv.util.interfaces.IHasModel;
  6. import halestormxv.util.interfaces.IMetaName;
  7. import net.minecraft.block.properties.PropertyEnum;
  8. import net.minecraft.creativetab.CreativeTabs;
  9. import net.minecraft.item.EnumRarity;
  10. import net.minecraft.item.Item;
  11. import net.minecraft.item.ItemStack;
  12. import net.minecraft.util.NonNullList;
  13.  
  14. public class ItemRunes extends Item implements IMetaName, IHasModel
  15. {
  16.     public static final PropertyEnum<EnumHandlerRunes.EnumTypeRunes> VARIANT = PropertyEnum.<EnumHandlerRunes.EnumTypeRunes>create("variant", EnumHandlerRunes.EnumTypeRunes.class);
  17.     private String name;
  18.  
  19.     public ItemRunes(String name)
  20.     {
  21.         setUnlocalizedName(name);
  22.         setRegistryName(name);
  23.         setCreativeTab(RunicSorcery.RUNICSORCERY);
  24.         setHasSubtypes(true);
  25.  
  26.         this.name = name;
  27.  
  28.         ItemInit.ITEMS.add(this);
  29.     }
  30.  
  31.     @Override
  32.     public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items)
  33.     {
  34.         for (EnumHandlerRunes.EnumTypeRunes variant : EnumHandlerRunes.EnumTypeRunes.values())
  35.         {
  36.             items.add(new ItemStack(this, 1, variant.getMeta()));
  37.         }
  38.     }
  39.  
  40.     @Override
  41.     public void registerModels()
  42.     {
  43.         for(int i = 0; i < EnumHandlerRunes.EnumTypeRunes.values().length; i++)
  44.         {
  45.             RunicSorcery.proxy.registerVariantRenderer(this, i, "runestones/rune_" + EnumHandlerRunes.EnumTypeRunes.values()[i].getName(), "inventory");
  46.         }
  47.     }
  48.  
  49.     @Override
  50.     public String getSpecialName(ItemStack stack)
  51.     {
  52.         return EnumHandlerRunes.EnumTypeRunes.values()[stack.getItemDamage()].getName();
  53.     }
  54.  
  55.     @Override
  56.     public String getUnlocalizedName(ItemStack stack)
  57.     {
  58.         return super.getUnlocalizedName()+ "_" + this.getSpecialName(stack);
  59.     }
  60.  
  61.     @Override
  62.     public EnumRarity getRarity(ItemStack itemStack)
  63.     {
  64.         switch(itemStack.getItemDamage())
  65.         {
  66.             case 5:
  67.                 return EnumRarity.EPIC;
  68.             default:
  69.                 return EnumRarity.COMMON;
  70.         }
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment