Advertisement
Guest User

ArmourListMF

a guest
Aug 3rd, 2015
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.49 KB | None | 0 0
  1. package minefantasy.mf2.item.list;
  2.  
  3. import minefantasy.mf2.api.armour.ArmourDesign;
  4. import minefantasy.mf2.api.armour.ArmourMaterialMF;
  5. import minefantasy.mf2.api.crafting.exotic.SpecialForging;
  6. import minefantasy.mf2.item.archery.ItemArrowMF;
  7. import minefantasy.mf2.item.armour.ItemArmourMF;
  8. import minefantasy.mf2.material.BaseMaterialMF;
  9. import net.minecraft.client.resources.model.ModelResourceLocation;
  10. import net.minecraft.entity.EntityLivingBase;
  11. import net.minecraft.item.Item;
  12. import net.minecraft.item.ItemStack;
  13. import net.minecraftforge.fml.common.event.FMLInitializationEvent;
  14. import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
  15.  
  16. /**
  17.  * @author Anonymous Productions
  18.  */
  19. public class ArmourListMF
  20. {
  21.     public static ArmourMaterialMF LEATHER = new ArmourMaterialMF("Leather",         5,   0.30F,  18,  1.00F);
  22.     public static ArmourMaterialMF APRON = new ArmourMaterialMF("Apron",             6,   0.30F,  0,   1.00F);
  23.    
  24.     public static final BaseMaterialMF[] leathermats = new BaseMaterialMF[]
  25.     {
  26.         BaseMaterialMF.hide,
  27.         BaseMaterialMF.reinforced,
  28.         BaseMaterialMF.studded,
  29.         BaseMaterialMF.scaled,
  30.         BaseMaterialMF.padding,
  31.     };
  32.    
  33.     public static final BaseMaterialMF[] mats = new BaseMaterialMF[]
  34.     {
  35.         BaseMaterialMF.copper,
  36.         BaseMaterialMF.bronze,
  37.         BaseMaterialMF.iron,
  38.         BaseMaterialMF.steel,
  39.         BaseMaterialMF.encrusted,
  40.         BaseMaterialMF.blacksteel,
  41.         BaseMaterialMF.dragonforge,
  42.         BaseMaterialMF.redsteel,
  43.         BaseMaterialMF.bluesteel,
  44.         BaseMaterialMF.adamantium,
  45.         BaseMaterialMF.mithril,
  46.         BaseMaterialMF.ignotumite,
  47.         BaseMaterialMF.mithium,
  48.         BaseMaterialMF.enderforge,
  49.     };
  50.    
  51.     public static ItemArmourMF[] leather = new ItemArmourMF[leathermats.length*4];
  52.    
  53.     public static ItemArmourMF[] chainmail = new ItemArmourMF[mats.length*4];
  54.     public static ItemArmourMF[] fieldplate = new ItemArmourMF[mats.length*4 - 4];
  55.    
  56.     public static void init(FMLInitializationEvent event)
  57.     {
  58.         for(int a = 0; a < leathermats.length; a ++)
  59.         {
  60.             BaseMaterialMF baseMat = leathermats[a];
  61.             String matName = baseMat.name;
  62.             int rarity = baseMat.rarity;
  63.             int id = a*4;
  64.             float bulk = baseMat.weight;
  65.             ArmourDesign design = baseMat == BaseMaterialMF.padding ? ArmourDesign.PADDING : ArmourDesign.LEATHER;
  66.            
  67.             leather[id+0] = new ItemArmourMF(matName.toLowerCase()+"_helmet", baseMat, design, 0, matName.toLowerCase()+"_layer_1", rarity, bulk);
  68.             leather[id+1] = new ItemArmourMF(matName.toLowerCase()+"_chest", baseMat, design, 1, matName.toLowerCase()+"_layer_1", rarity, bulk);
  69.             leather[id+2] = new ItemArmourMF(matName.toLowerCase()+"_legs", baseMat, design, 2, matName.toLowerCase()+"_layer_2", rarity, bulk);
  70.             leather[id+3] = new ItemArmourMF(matName.toLowerCase()+"_boots", baseMat, design, 3, matName.toLowerCase()+"_layer_1", rarity, bulk);
  71.         }
  72.         for(int a = 0; a < mats.length; a ++)
  73.         {
  74.             BaseMaterialMF baseMat = mats[a];
  75.             ArmourMaterialMF mat = baseMat.getArmourConversion();
  76.            
  77.             String matName=baseMat.name;
  78.             int rarity = baseMat.rarity;
  79.             int id = a*4;
  80.             float bulk = baseMat.weight;
  81.            
  82.             chainmail[id+0] = new ItemArmourMF(matName.toLowerCase()+"_mail_helmet", baseMat, ArmourDesign.MAIL, 0, matName.toLowerCase()+"_mail_layer_1", rarity);
  83.             chainmail[id+1] = new ItemArmourMF(matName.toLowerCase()+"_mail_chest", baseMat, ArmourDesign.MAIL, 1, matName.toLowerCase()+"_mail_layer_1", rarity);
  84.             chainmail[id+2] = new ItemArmourMF(matName.toLowerCase()+"_mail_legs", baseMat, ArmourDesign.MAIL, 2, matName.toLowerCase()+"_mail_layer_2", rarity);
  85.             chainmail[id+3] = new ItemArmourMF(matName.toLowerCase()+"_mail_boots", baseMat, ArmourDesign.MAIL, 3, matName.toLowerCase()+"_mail_layer_1", rarity);
  86.            
  87.             if(a > 0)
  88.             {
  89.                 int id2 = (a-1)*4;
  90.                 fieldplate[id2+0] = new ItemArmourMF(matName.toLowerCase()+"_plate_helmet", baseMat, ArmourDesign.PLATE, 0, matName.toLowerCase()+"_plate_layer_1", rarity);
  91.                 fieldplate[id2+1] = new ItemArmourMF(matName.toLowerCase()+"_plate_chest", baseMat, ArmourDesign.PLATE, 1, matName.toLowerCase()+"_plate_layer_1", rarity);
  92.                 fieldplate[id2+2] = new ItemArmourMF(matName.toLowerCase()+"_plate_legs", baseMat, ArmourDesign.PLATE, 2, matName.toLowerCase()+"_plate_layer_2", rarity);
  93.                 fieldplate[id2+3] = new ItemArmourMF(matName.toLowerCase()+"_plate_boots", baseMat, ArmourDesign.PLATE, 3, matName.toLowerCase()+"_plate_layer_1", rarity);
  94.             }
  95.         }
  96.         for(int a = 0; a < 4; a++)
  97.         {
  98.             SpecialForging.addDragonforgeCraft(chainmail[5*4+a], chainmail[6*4+a]);
  99.             SpecialForging.addDragonforgeCraft(fieldplate[4*4+a], fieldplate[5*4+a]);
  100.         }
  101.        
  102.    
  103.     }
  104.    
  105.     /**
  106.      * Gets a piece of armour
  107.      * @param pool the armour item (Mail, Plate, Etc)
  108.      * @param tier the tier of metal
  109.      * @param piece the piece (0=Helmet, 1=Chest, 2=Legs, 3=Boots)
  110.      */
  111.     public static ItemStack armour(ItemArmourMF[] pool, int tier, int piece)
  112.     {
  113.         if(pool == fieldplate)
  114.         {
  115.             tier-=1;
  116.         }
  117.         int slot = tier*4+piece;
  118.         if(slot >= pool.length)
  119.         {
  120.             slot = pool.length-1;
  121.         }
  122.         return new ItemStack(pool[slot]);
  123.     }
  124.     public static Item armourItem(ItemArmourMF[] pool, int tier, int piece)
  125.     {
  126.         if(pool == fieldplate)
  127.         {
  128.             tier-=1;
  129.         }
  130.         int slot = tier*4+piece;
  131.         if(slot >= pool.length)
  132.         {
  133.             slot = pool.length-1;
  134.         }
  135.         return pool[slot];
  136.     }
  137.    
  138.    
  139.     public static boolean isUnbreakable(BaseMaterialMF material, EntityLivingBase user)
  140.     {
  141.         if(material == BaseMaterialMF.enderforge || material == BaseMaterialMF.ignotumite || material == BaseMaterialMF.mithium)
  142.         {
  143.             return true;
  144.         }
  145.         return false;
  146.     }
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement