package WayofTime.bloodmagic.registry; import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.fml.common.registry.GameRegistry; import WayofTime.bloodmagic.BloodMagic; import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.orb.BloodOrb; import WayofTime.bloodmagic.api.registry.OrbRegistry; import WayofTime.bloodmagic.item.ItemActivationCrystal; import WayofTime.bloodmagic.item.ItemAltarMaker; import WayofTime.bloodmagic.item.ItemArcaneAshes; import WayofTime.bloodmagic.item.ItemBloodOrb; import WayofTime.bloodmagic.item.ItemBloodShard; import WayofTime.bloodmagic.item.ItemBoundAxe; import WayofTime.bloodmagic.item.ItemBoundPickaxe; import WayofTime.bloodmagic.item.ItemBoundShovel; import WayofTime.bloodmagic.item.ItemBoundSword; import WayofTime.bloodmagic.item.ItemBucketEssence; import WayofTime.bloodmagic.item.ItemComponent; import WayofTime.bloodmagic.item.ItemDaggerOfSacrifice; import WayofTime.bloodmagic.item.ItemDemonCrystal; import WayofTime.bloodmagic.item.ItemExperienceBook; import WayofTime.bloodmagic.item.ItemInscriptionTool; import WayofTime.bloodmagic.item.ItemLavaCrystal; import WayofTime.bloodmagic.item.ItemRitualDiviner; import WayofTime.bloodmagic.item.ItemRitualReader; import WayofTime.bloodmagic.item.ItemSacrificialDagger; import WayofTime.bloodmagic.item.ItemSlate; import WayofTime.bloodmagic.item.ItemTelepositionFocus; import WayofTime.bloodmagic.item.ItemUpgradeTome; import WayofTime.bloodmagic.item.ItemUpgradeTrainer; import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid; import WayofTime.bloodmagic.item.armour.ItemLivingArmour; import WayofTime.bloodmagic.item.armour.ItemSentientArmour; import WayofTime.bloodmagic.item.gear.ItemPackSacrifice; import WayofTime.bloodmagic.item.gear.ItemPackSelfSacrifice; import WayofTime.bloodmagic.item.routing.ItemNodeRouter; import WayofTime.bloodmagic.item.routing.ItemRouterFilter; import WayofTime.bloodmagic.item.sigil.ItemSigilAir; import WayofTime.bloodmagic.item.sigil.ItemSigilBloodLight; import WayofTime.bloodmagic.item.sigil.ItemSigilCompression; import WayofTime.bloodmagic.item.sigil.ItemSigilDivination; import WayofTime.bloodmagic.item.sigil.ItemSigilElementalAffinity; import WayofTime.bloodmagic.item.sigil.ItemSigilEnderSeverance; import WayofTime.bloodmagic.item.sigil.ItemSigilFastMiner; import WayofTime.bloodmagic.item.sigil.ItemSigilGreenGrove; import WayofTime.bloodmagic.item.sigil.ItemSigilHaste; import WayofTime.bloodmagic.item.sigil.ItemSigilLava; import WayofTime.bloodmagic.item.sigil.ItemSigilMagnetism; import WayofTime.bloodmagic.item.sigil.ItemSigilPhantomBridge; import WayofTime.bloodmagic.item.sigil.ItemSigilSeer; import WayofTime.bloodmagic.item.sigil.ItemSigilSuppression; import WayofTime.bloodmagic.item.sigil.ItemSigilTeleposition; import WayofTime.bloodmagic.item.sigil.ItemSigilTransposition; import WayofTime.bloodmagic.item.sigil.ItemSigilVoid; import WayofTime.bloodmagic.item.sigil.ItemSigilWater; import WayofTime.bloodmagic.item.sigil.ItemSigilWhirlwind; import WayofTime.bloodmagic.item.soul.ItemMonsterSoul; import WayofTime.bloodmagic.item.soul.ItemSentientArmourGem; import WayofTime.bloodmagic.item.soul.ItemSentientBow; import WayofTime.bloodmagic.item.soul.ItemSentientSword; import WayofTime.bloodmagic.item.soul.ItemSoulGem; import WayofTime.bloodmagic.item.soul.ItemSoulSnare; import WayofTime.bloodmagic.util.helper.InventoryRenderHelper; public class ModItems { public static Item bloodOrb; public static BloodOrb orbWeak; public static BloodOrb orbApprentice; public static BloodOrb orbMagician; public static BloodOrb orbMaster; public static BloodOrb orbArchmage; public static BloodOrb orbTranscendent; public static Item bucketEssence; public static Item activationCrystal; public static Item slate; public static Item inscriptionTool; public static Item sacrificialDagger; public static Item packSelfSacrifice; public static Item packSacrifice; public static Item daggerOfSacrifice; public static Item ritualDiviner; public static Item ritualReader; public static Item lavaCrystal; public static Item boundSword; public static Item boundPickaxe; public static Item boundAxe; public static Item boundShovel; public static Item sigilDivination; public static Item sigilAir; public static Item sigilWater; public static Item sigilLava; public static Item sigilVoid; public static Item sigilGreenGrove; public static Item sigilBloodLight; public static Item sigilElementalAffinity; public static Item sigilHaste; public static Item sigilMagnetism; public static Item sigilSuppression; public static Item sigilFastMiner; public static Item sigilSeer; public static Item sigilEnderSeverance; public static Item sigilWhirlwind; public static Item sigilPhantomBridge; public static Item sigilCompression; public static Item sigilTeleposition; public static Item sigilTransposition; public static Item itemComponent; public static Item itemDemonCrystal; public static Item telepositionFocus; public static Item experienceTome; public static Item bloodShard; public static Item livingArmourHelmet; public static Item livingArmourChest; public static Item livingArmourLegs; public static Item livingArmourBoots; public static Item sentientArmourHelmet; public static Item sentientArmourChest; public static Item sentientArmourLegs; public static Item sentientArmourBoots; public static Item altarMaker; public static Item upgradeTome; public static Item upgradeTrainer; public static Item arcaneAshes; public static Item monsterSoul; public static Item soulGem; public static Item soulSnare; public static Item sentientSword; public static Item sentientBow; public static Item sentientArmourGem; public static Item nodeRouter; public static Item baseItemFilter; public static Item cuttingFluid; public static Item.ToolMaterial boundToolMaterial = EnumHelper.addToolMaterial("BoundToolMaterial", 4, 1, 10, 8, 50); public static Item.ToolMaterial soulToolMaterial = EnumHelper.addToolMaterial("SoulToolMaterial", 4, 520, 7, 8, 50); public static void init() { bloodOrb = registerItem(new ItemBloodOrb(), Constants.BloodMagicItem.BLOOD_ORB.getRegName()); orbWeak = new BloodOrb("weak", 1, 5000); OrbRegistry.registerOrb(orbWeak); orbApprentice = new BloodOrb("apprentice", 2, 25000); OrbRegistry.registerOrb(orbApprentice); orbMagician = new BloodOrb("magician", 3, 150000); OrbRegistry.registerOrb(orbMagician); orbMaster = new BloodOrb("master", 4, 1000000); OrbRegistry.registerOrb(orbMaster); orbArchmage = new BloodOrb("archmage", 5, 10000000); OrbRegistry.registerOrb(orbArchmage); orbTranscendent = new BloodOrb("transcendent", 6, 30000000); OrbRegistry.registerOrb(orbTranscendent); bucketEssence = registerItem(new ItemBucketEssence(), Constants.BloodMagicItem.BUCKET_ESSENCE.getRegName()); activationCrystal = registerItem(new ItemActivationCrystal(), Constants.BloodMagicItem.ACTIVATION_CRYSTAL.getRegName()); slate = registerItem(new ItemSlate(), Constants.BloodMagicItem.SLATE.getRegName()); inscriptionTool = registerItem(new ItemInscriptionTool(), Constants.BloodMagicItem.INSCRIPTION_TOOL.getRegName()); sacrificialDagger = registerItem(new ItemSacrificialDagger(), Constants.BloodMagicItem.SACRIFICIAL_DAGGER.getRegName()); packSacrifice = registerItem(new ItemPackSacrifice(), Constants.BloodMagicItem.SACRIFICE_PACK.getRegName()); packSelfSacrifice = registerItem(new ItemPackSelfSacrifice(), Constants.BloodMagicItem.SELF_SACRIFICE_PACK.getRegName()); daggerOfSacrifice = registerItem(new ItemDaggerOfSacrifice(), Constants.BloodMagicItem.DAGGER_OF_SACRIFICE.getRegName()); ritualDiviner = registerItem(new ItemRitualDiviner(), Constants.BloodMagicItem.RITUAL_DIVINER.getRegName()); ritualReader = registerItem(new ItemRitualReader(), Constants.BloodMagicItem.RITUAL_READER.getRegName()); lavaCrystal = registerItem(new ItemLavaCrystal(), Constants.BloodMagicItem.LAVA_CRYSTAL.getRegName()); GameRegistry.registerFuelHandler(new ItemLavaCrystal()); boundSword = registerItem(new ItemBoundSword(), Constants.BloodMagicItem.BOUND_SWORD.getRegName()); boundPickaxe = registerItem(new ItemBoundPickaxe(), Constants.BloodMagicItem.BOUND_PICKAXE.getRegName()); boundAxe = registerItem(new ItemBoundAxe(), Constants.BloodMagicItem.BOUND_AXE.getRegName()); boundShovel = registerItem(new ItemBoundShovel(), Constants.BloodMagicItem.BOUND_SHOVEL.getRegName()); sigilDivination = registerItem(new ItemSigilDivination(), Constants.BloodMagicItem.SIGIL_DIVINATION.getRegName()); sigilAir = registerItem(new ItemSigilAir(), Constants.BloodMagicItem.SIGIL_AIR.getRegName()); sigilWater = registerItem(new ItemSigilWater(), Constants.BloodMagicItem.SIGIL_WATER.getRegName()); sigilLava = registerItem(new ItemSigilLava(), Constants.BloodMagicItem.SIGIL_LAVA.getRegName()); sigilVoid = registerItem(new ItemSigilVoid(), Constants.BloodMagicItem.SIGIL_VOID.getRegName()); sigilGreenGrove = registerItem(new ItemSigilGreenGrove(), Constants.BloodMagicItem.SIGIL_GREEN_GROVE.getRegName()); sigilBloodLight = registerItem(new ItemSigilBloodLight(), Constants.BloodMagicItem.SIGIL_BLOOD_LIGHT.getRegName()); sigilElementalAffinity = registerItem(new ItemSigilElementalAffinity(), Constants.BloodMagicItem.SIGIL_ELEMENTAL_AFFINITY.getRegName()); sigilMagnetism = registerItem(new ItemSigilMagnetism(), Constants.BloodMagicItem.SIGIL_MAGNETISM.getRegName()); sigilSuppression = registerItem(new ItemSigilSuppression(), Constants.BloodMagicItem.SIGIL_SUPPRESION.getRegName()); sigilHaste = registerItem(new ItemSigilHaste(), Constants.BloodMagicItem.SIGIL_HASTE.getRegName()); sigilFastMiner = registerItem(new ItemSigilFastMiner(), Constants.BloodMagicItem.SIGIL_FAST_MINER.getRegName()); sigilSeer = registerItem(new ItemSigilSeer(), Constants.BloodMagicItem.SIGIL_SEER.getRegName()); sigilPhantomBridge = registerItem(new ItemSigilPhantomBridge(), Constants.BloodMagicItem.SIGIL_PHANTOM_BRIDGE.getRegName()); sigilWhirlwind = registerItem(new ItemSigilWhirlwind(), Constants.BloodMagicItem.SIGIL_WHIRLWIND.getRegName()); sigilCompression = registerItem(new ItemSigilCompression(), Constants.BloodMagicItem.SIGIL_COMPRESSION.getRegName()); sigilEnderSeverance = registerItem(new ItemSigilEnderSeverance(), Constants.BloodMagicItem.SIGIL_ENDER_SEVERANCE.getRegName()); sigilTeleposition = registerItem(new ItemSigilTeleposition(), Constants.BloodMagicItem.SIGIL_TELEPOSITION.getRegName()); sigilTransposition = registerItem(new ItemSigilTransposition(), Constants.BloodMagicItem.SIGIL_TRANSPOSITION.getRegName()); itemComponent = registerItem(new ItemComponent(), Constants.BloodMagicItem.COMPONENT.getRegName()); itemDemonCrystal = registerItem(new ItemDemonCrystal(), Constants.BloodMagicItem.DEMON_CRYSTAL.getRegName()); telepositionFocus = registerItem(new ItemTelepositionFocus(), Constants.BloodMagicItem.TELEPOSITION_FOCUS.getRegName()); experienceTome = registerItem(new ItemExperienceBook(), Constants.BloodMagicItem.EXPERIENCE_TOME.getRegName()); bloodShard = registerItem(new ItemBloodShard(), Constants.BloodMagicItem.BLOOD_SHARD.getRegName()); livingArmourHelmet = registerItem(new ItemLivingArmour(EntityEquipmentSlot.HEAD), "ItemLivingArmourHelmet"); livingArmourChest = registerItem(new ItemLivingArmour(EntityEquipmentSlot.CHEST), "ItemLivingArmourChest"); livingArmourLegs = registerItem(new ItemLivingArmour(EntityEquipmentSlot.LEGS), "ItemLivingArmourLegs"); livingArmourBoots = registerItem(new ItemLivingArmour(EntityEquipmentSlot.FEET), "ItemLivingArmourBoots"); sentientArmourHelmet = registerItem(new ItemSentientArmour(EntityEquipmentSlot.HEAD), "ItemSentientArmourHelmet"); sentientArmourChest = registerItem(new ItemSentientArmour(EntityEquipmentSlot.CHEST), "ItemSentientArmourChest"); sentientArmourLegs = registerItem(new ItemSentientArmour(EntityEquipmentSlot.LEGS), "ItemSentientArmourLegs"); sentientArmourBoots = registerItem(new ItemSentientArmour(EntityEquipmentSlot.FEET), "ItemSentientArmourBoots"); altarMaker = registerItem(new ItemAltarMaker(), Constants.BloodMagicItem.ALTAR_MAKER.getRegName()); upgradeTome = registerItem(new ItemUpgradeTome(), Constants.BloodMagicItem.UPGRADE_TOME.getRegName()); upgradeTrainer = registerItem(new ItemUpgradeTrainer(), Constants.BloodMagicItem.UPGRADE_TRAINER.getRegName()); arcaneAshes = registerItem(new ItemArcaneAshes(), Constants.BloodMagicItem.ARCANE_ASHES.getRegName()); monsterSoul = registerItem(new ItemMonsterSoul(), Constants.BloodMagicItem.MONSTER_SOUL.getRegName()); soulGem = registerItem(new ItemSoulGem(), Constants.BloodMagicItem.SOUL_GEM.getRegName()); soulSnare = registerItem(new ItemSoulSnare(), Constants.BloodMagicItem.SOUL_SNARE.getRegName()); sentientSword = registerItem(new ItemSentientSword(), Constants.BloodMagicItem.SENTIENT_SWORD.getRegName()); sentientBow = registerItem(new ItemSentientBow(), Constants.BloodMagicItem.SENTIENT_BOW.getRegName()); sentientArmourGem = registerItem(new ItemSentientArmourGem(), Constants.BloodMagicItem.SENTIENT_ARMOR_GEM.getRegName()); nodeRouter = registerItem(new ItemNodeRouter(), Constants.BloodMagicItem.NODE_ROUTER.getRegName()); baseItemFilter = registerItem(new ItemRouterFilter(), Constants.BloodMagicItem.ROUTER_FILTER.getRegName()); cuttingFluid = registerItem(new ItemCuttingFluid(), Constants.BloodMagicItem.CUTTING_FLUID.getRegName()); } public static void initRenders() { InventoryRenderHelper renderHelper = BloodMagic.proxy.getRenderHelper(); renderHelper.itemRenderAll(bloodOrb); OrbRegistry.registerOrbTexture(orbWeak, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbWeak")); OrbRegistry.registerOrbTexture(orbApprentice, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbApprentice")); OrbRegistry.registerOrbTexture(orbMagician, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbMagician")); OrbRegistry.registerOrbTexture(orbMaster, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbMaster")); OrbRegistry.registerOrbTexture(orbArchmage, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbArchmage")); OrbRegistry.registerOrbTexture(orbTranscendent, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbTranscendent")); renderHelper.itemRender(bucketEssence); renderHelper.itemRender(sentientBow, 0, "ItemSentientBow"); // renderHelper.itemRender(sentientBow, 1, "ItemSentientBow_pulling_0"); // renderHelper.itemRender(sentientBow, 2, "ItemSentientBow_pulling_1"); // renderHelper.itemRender(sentientBow, 3, "ItemSentientBow_pulling_2"); renderHelper.itemRender(sentientArmourGem, 0, "ItemSentientArmourGem0"); renderHelper.itemRender(sentientArmourGem, 1, "ItemSentientArmourGem1"); } private static Item registerItem(Item item, String name) { if (!ConfigHandler.itemBlacklist.contains(name)) { if (item.getRegistryName() == null) item.setRegistryName(name); GameRegistry.register(item); BloodMagic.proxy.tryHandleItemModel(item, name); } return item; } }