/* * This file is part of Matter Overdrive * Copyright (c) 2015., Simeon Radivoev, All rights reserved. * * Matter Overdrive is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Matter Overdrive is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Matter Overdrive. If not, see <http://www.gnu.org/licenses>. */ package matteroverdrive.init; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import matteroverdrive.MatterOverdrive; import matteroverdrive.Reference; import matteroverdrive.items.*; import matteroverdrive.items.android.RougeAndroidParts; import matteroverdrive.items.android.TritaniumSpine; import matteroverdrive.items.armour.TritaniumArmor; import matteroverdrive.items.food.AndroidPill; import matteroverdrive.items.food.EarlGrayTea; import matteroverdrive.items.food.RomulanAle; import matteroverdrive.items.includes.MOBaseItem; import matteroverdrive.items.starmap.*; import matteroverdrive.items.tools.TritaniumAxe; import matteroverdrive.items.tools.TritaniumPickaxe; import matteroverdrive.items.weapon.*; import matteroverdrive.items.weapon.module.WeaponModuleBarrel; import matteroverdrive.items.weapon.module.WeaponModuleColor; import matteroverdrive.items.weapon.module.WeaponModuleSniperScope; import net.minecraft.item.*; import net.minecraft.util.WeightedRandomChestContent; import net.minecraftforge.common.ChestGenHooks; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.oredict.OreDictionary; public class MatterOverdriveItems { public static MOBaseItem matter_scanner; public static ItemFood emergency_ration; public static EarlGrayTea earl_gray_tea; public static RomulanAle romulan_ale; public static MOBaseItem me_conversion_matrix; public static Phaser phaser; public static Battery battery; public static Battery hc_battery; public static MOBaseItem creative_battery; public static MatterDust matter_dust; public static MatterDust matter_dust_refined; public static IsolinearCircuit isolinear_circuit; public static MOBaseItem h_compensator; public static MOBaseItem integration_matrix; public static MOBaseItem machine_casing; public static MOBaseItem s_magnet; public static MOBaseItem dilithium_ctystal; public static MOBaseItem tritanium_ingot; public static MOBaseItem tritanium_dust; public static MOBaseItem tritanium_plate; public static PatternDrive pattern_drive; public static ItemUpgrade item_upgrade; public static WeaponModuleColor weapon_module_color; public static WeaponModuleBarrel weapon_module_barrel; public static SecurityProtocol security_protocol; public static SpacetimeEqualizer spacetime_equalizer; public static Wrench wrench; public static RougeAndroidParts androidParts; public static MOBaseItem forceFieldEmitter; public static ShipFactory shipFactory; public static ItemScoutShip scoutShip; public static ItemColonizerShip colonizerShip; public static ItemBuildingBase buildingBase; public static AndroidPill androidPill; public static NetworkFlashDrive networkFlashDrive; public static CreativePatternDrive creativePatternDrive; public static PhaserRifle phaserRifle; public static EnergyPack energyPack; public static TransportFlashDrive transportFlashDrive; public static MatterContainer matterContainerFull; public static MatterContainer matterContainer; public static DataPad dataPad; public static TritaniumSpine tritaniumSpine; public static MOBaseItem tritanium_nugget; public static OmniTool omniTool; public static TritaniumAxe tritaniumAxe; public static TritaniumPickaxe tritaniumPickaxe; public static ItemSword tritaniumSword; public static ItemHoe tritaniumHoe; public static TritaniumArmor tritaniumHelemet; public static TritaniumArmor tritaniumChestplate; public static TritaniumArmor tritaniumLeggings; public static TritaniumArmor tritaniumBoots; public static Contract contract; public static PlasmaShotgun plasmaShotgun; public static IonSniper ionSniper; public static WeaponModuleSniperScope sniperScope; public static ItemBuildingResidential buildingResidential; public static ItemBuildingMatterExtractor buildingMatterExtractor; public static ItemBuildingShipHangar buildingShipHangar; public static ItemBuildingPowerGenerator buildingPowerGenerator; public static MOBaseItem weaponHandle; public static MOBaseItem weaponReceiver; public static MOBaseItem plasmaCore; public static PortableDecomposer portableDecomposer; public static Item.ToolMaterial toolMaterialTritanium; public static ItemArmor.ArmorMaterial armorMaterialTritanium; public static void init(FMLPreInitializationEvent event) { toolMaterialTritanium = EnumHelper.addToolMaterial("tritanium",2,3122,6f,2f,14); armorMaterialTritanium = EnumHelper.addArmorMaterial("tritanium",66,new int[]{4, 9, 7, 4}, 20); matter_dust = new MatterDust("matter_dust",false); matter_dust_refined = new MatterDust("matter_dust_refined",true); matter_scanner = new MatterScanner("matter_scanner"); battery = new Battery("battery", 1 << 19,Reference.COLOR_MATTER,400,800); creative_battery = new CreativeBattery("creative_battery",1 << 24,Reference.COLOR_HOLO_RED,8192,8192); hc_battery = new Battery("hc_battery",1 << 20,Reference.COLOR_YELLOW_STRIPES,4096,4096); phaser = new Phaser("phaser"); emergency_ration = new ItemFood(8,0.8F,false); emergency_ration.setUnlocalizedName("emergency_ration").setCreativeTab(MatterOverdrive.tabMatterOverdrive_food).setTextureName(Reference.MOD_ID + ":" + "emergency_ration"); earl_gray_tea = new EarlGrayTea("earl_gray_tea"); romulan_ale = new RomulanAle("romulan_ale"); me_conversion_matrix = new MOBaseItem("me_conversion_matrix"); isolinear_circuit = new IsolinearCircuit("isolinear_circuit"); item_upgrade = new ItemUpgrade("upgrade"); h_compensator = new MOBaseItem("h_compensator"); integration_matrix = new MOBaseItem("integration_matrix"); machine_casing = new MOBaseItem("machine_casing"); s_magnet = new MOBaseItem("s_magnet"); dilithium_ctystal = new MOBaseItem("dilithium_crystal"); tritanium_ingot = new MOBaseItem("tritanium_ingot"); toolMaterialTritanium.setRepairItem(new ItemStack(tritanium_ingot)); armorMaterialTritanium.customCraftingMaterial = tritanium_ingot; tritanium_dust = new MOBaseItem("tritanium_dust"); tritanium_plate = new MOBaseItem("tritanium_plate"); pattern_drive = new PatternDrive("pattern_drive",2); weapon_module_color = new WeaponModuleColor("weapon_module_color"); weapon_module_barrel = new WeaponModuleBarrel("weapon_module_barrel"); security_protocol = new SecurityProtocol("security_protocol"); spacetime_equalizer = new SpacetimeEqualizer("spacetime_equalizer"); wrench = new Wrench("tritanium_wrench"); androidParts = new RougeAndroidParts("rouge_android_part"); forceFieldEmitter = new MOBaseItem("forcefield_emitter"); shipFactory = new ShipFactory("ship_factory"); scoutShip = new ItemScoutShip("scout_ship"); colonizerShip = new ItemColonizerShip("ship_colonizer"); buildingBase = new ItemBuildingBase("building_base"); androidPill = new AndroidPill("android_pill"); networkFlashDrive = new NetworkFlashDrive("network_flash_drive",Reference.COLOR_YELLOW_STRIPES); creativePatternDrive = new CreativePatternDrive("creative_pattern_drive",0); phaserRifle = new PhaserRifle("phaser_rifle"); energyPack = new EnergyPack("energy_pack"); transportFlashDrive = new TransportFlashDrive("transport_flash_drive",Reference.COLOR_HOLO_GREEN); matterContainer = new MatterContainer("matter_container",false); matterContainerFull = new MatterContainer("matter_container_full",true); dataPad = new DataPad("data_pad"); tritaniumSpine = new TritaniumSpine("tritainum_spine"); tritanium_nugget = new MOBaseItem("tritanium_nugget"); omniTool = new OmniTool("omni_tool"); tritaniumAxe = new TritaniumAxe("tritanium_axe"); tritaniumPickaxe = new TritaniumPickaxe("tritanium_pickaxe"); tritaniumSword = (ItemSword)new ItemSword(toolMaterialTritanium).setUnlocalizedName("tritanium_sword").setTextureName(Reference.MOD_ID + ":" + "tritanium_sword"); tritaniumHoe = (ItemHoe)new ItemHoe(toolMaterialTritanium).setUnlocalizedName("tritanium_hoe").setTextureName(Reference.MOD_ID + ":" + "tritanium_hoe"); tritaniumHelemet = (TritaniumArmor)new TritaniumArmor(armorMaterialTritanium,2,0).setUnlocalizedName("tritanium_helmet").setTextureName(Reference.MOD_ID + ":" + "tritanium_helmet"); tritaniumChestplate = (TritaniumArmor)new TritaniumArmor(armorMaterialTritanium,2,1).setUnlocalizedName("tritanium_chestplate").setTextureName(Reference.MOD_ID + ":" + "tritanium_chestplate"); tritaniumLeggings = (TritaniumArmor)new TritaniumArmor(armorMaterialTritanium,2,2).setUnlocalizedName("tritanium_leggings").setTextureName(Reference.MOD_ID + ":" + "tritanium_leggings"); tritaniumBoots = (TritaniumArmor)new TritaniumArmor(armorMaterialTritanium,2,3).setUnlocalizedName("tritanium_boots").setTextureName(Reference.MOD_ID + ":" + "tritanium_boots"); contract = new Contract("contract"); plasmaShotgun = new PlasmaShotgun("plasma_shotgun"); ionSniper = new IonSniper("ion_sniper"); sniperScope = new WeaponModuleSniperScope("sniper_scope"); buildingMatterExtractor = new ItemBuildingMatterExtractor("building_matter_extractor"); buildingResidential = new ItemBuildingResidential("building_residential"); buildingShipHangar = new ItemBuildingShipHangar("building_ship_hangar"); buildingPowerGenerator = new ItemBuildingPowerGenerator("building_power_generator"); weaponHandle = new MOBaseItem("weapon_handle"); weaponReceiver = new MOBaseItem("weapon_receiver"); plasmaCore = new MOBaseItem("plasma_core"); portableDecomposer = new PortableDecomposer("portable_decomposer",128000,256,512,0.1f); } public static void register(FMLInitializationEvent event) { GameRegistry.registerItem(emergency_ration, emergency_ration.getUnlocalizedName().substring(5)); matter_dust_refined.register(); matter_dust.register(); creative_battery.register(); me_conversion_matrix.register(); matter_scanner.register(); phaser.register(); battery.register(); isolinear_circuit.register(); item_upgrade.register(); h_compensator.register(); integration_matrix.register(); machine_casing.register(); s_magnet.register(); dilithium_ctystal.register(); MatterOverdrive.matterRegistry.addToBlacklist(dilithium_ctystal); tritanium_ingot.register(); MatterOverdrive.matterRegistry.addToBlacklist(tritanium_ingot); tritanium_dust.register(); MatterOverdrive.matterRegistry.addToBlacklist(tritanium_dust); tritanium_plate.register(); MatterOverdrive.matterRegistry.addToBlacklist(tritanium_plate); pattern_drive.register(); weapon_module_color.register(); weapon_module_barrel.register(); earl_gray_tea.Register(); romulan_ale.register(); security_protocol.register(); spacetime_equalizer.Register(); wrench.register(); androidParts.register(); forceFieldEmitter.register(); hc_battery.register(); shipFactory.register(); scoutShip.register(); colonizerShip.register(); buildingBase.register(); androidPill.register(); networkFlashDrive.register(); creativePatternDrive.register(); phaserRifle.register(); energyPack.register(); transportFlashDrive.register(); matterContainer.register(); matterContainerFull.register(); dataPad.register(); tritaniumSpine.register(); tritanium_nugget.register(); omniTool.register(); contract.register(); plasmaShotgun.register(); ionSniper.register(); sniperScope.register(); buildingMatterExtractor.register(); buildingResidential.register(); buildingShipHangar.register(); buildingPowerGenerator.register(); weaponHandle.register(); weaponReceiver.register(); plasmaCore.register(); portableDecomposer.register(); GameRegistry.addSmelting(new ItemStack(tritanium_dust), new ItemStack(tritanium_ingot), 5); GameRegistry.addSmelting(new ItemStack(MatterOverdriveBlocks.tritaniumOre), new ItemStack(tritanium_ingot), 10); GameRegistry.registerItem(tritaniumAxe,"tritanium_axe"); GameRegistry.registerItem(tritaniumPickaxe,"tritanium_pickaxe"); GameRegistry.registerItem(tritaniumSword,"tritanium_sword"); GameRegistry.registerItem(tritaniumHoe,"tritanium_hoe"); GameRegistry.registerItem(tritaniumHelemet,"tritanium_helmet"); GameRegistry.registerItem(tritaniumChestplate,"tritanium_chestplate"); GameRegistry.registerItem(tritaniumLeggings,"tritanium_leggings"); GameRegistry.registerItem(tritaniumBoots,"tritanium_boots"); OreDictionary.registerOre("dustTritanium", tritanium_dust); OreDictionary.registerOre("ingotTritanium",tritanium_ingot); OreDictionary.registerOre("gemDilithium",dilithium_ctystal); OreDictionary.registerOre("matterDust",matter_dust); OreDictionary.registerOre("matterDustRefined",matter_dust_refined); OreDictionary.registerOre("nuggetTritanium",tritanium_nugget); } public static void addToDungons() { weapon_module_color.addToDunguns(); androidPill.addToDunguns(); addToDungons(emergency_ration, 1, 8, 6); addToDungons(earl_gray_tea, 1, 2, 2); addToDungons(romulan_ale, 1, 2, 2); } public static void addToMODungons() { ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(emergency_ration),8,20,100)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(earl_gray_tea),4,10,50)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(romulan_ale),4,10,50)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(isolinear_circuit,0,1,5,50)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(isolinear_circuit,1,1,4,40)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(isolinear_circuit,2,1,3,30)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(isolinear_circuit,3,1,2,20)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(androidPill,1,1,2,10)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(androidPill,0,1,1,5)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(weapon_module_barrel,WeaponModuleBarrel.DAMAGE_BARREL_ID,1,1,10)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(weapon_module_barrel,WeaponModuleBarrel.FIRE_BARREL_ID,1,1,8)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(weapon_module_barrel,WeaponModuleBarrel.HEAL_BARREL_ID,1,1,10)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(weapon_module_barrel,WeaponModuleBarrel.EXPLOSION_BARREL_ID,1,1,5)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(tritaniumSpine),1,1,10)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(androidParts,0,1,2,15)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(androidParts,1,1,2,15)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(androidParts,2,1,2,15)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(androidParts,3,1,2,15)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(hc_battery),1,1,10)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(h_compensator),1,2,10)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(me_conversion_matrix),1,2,10)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(matterContainerFull),4,8,20)); ChestGenHooks.getInfo(Reference.CHEST_GEN_ANDROID_HOUSE).addItem(new WeightedRandomChestContent(new ItemStack(phaser),1,1,10)); } private static void addToDungons(Item item,int min,int max,int chance) { ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(item),min,max,chance)); ChestGenHooks.getInfo(ChestGenHooks.PYRAMID_DESERT_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(item),min,max,chance)); ChestGenHooks.getInfo(ChestGenHooks.MINESHAFT_CORRIDOR).addItem(new WeightedRandomChestContent(new ItemStack(item),min,max,chance)); ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_CORRIDOR).addItem(new WeightedRandomChestContent(new ItemStack(item),min,max,chance)); ChestGenHooks.getInfo(ChestGenHooks.VILLAGE_BLACKSMITH).addItem(new WeightedRandomChestContent(new ItemStack(item),min,max,chance)); } }