/* * 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.blocks.*; import matteroverdrive.blocks.includes.MOBlock; import matteroverdrive.blocks.world.DilithiumOre; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.crafting.IRecipe; import net.minecraftforge.fluids.BlockFluidFinite; import net.minecraftforge.oredict.OreDictionary; import java.util.ArrayList; import java.util.List; public class MatterOverdriveBlocks { public static BlockReplicator replicator; public static BlockDecomposer decomposer; public static BlockTransporter transporter; public static BlockMatterPipe matter_pipe; public static BlockNetworkPipe network_pipe; public static BlockNetworkRouter network_router; public static BlockMatterAnalyzer matter_analyzer; public static DilithiumOre dilithium_ore; public static MOBlock tritaniumOre; public static MOBlock tritanium_block; public static MOBlock machine_hull; public static BlockPatternStorage pattern_storage; public static BlockSolarPanel solar_panel; public static BlockWeaponStation weapon_station; public static BlockMicrowave microwave; public static BlockPatternMonitor pattern_monitor; public static BlockNetworkSwitch network_switch; public static BlockGravitationalAnomaly gravitational_anomaly; public static BlockGravitationalStabilizer gravitational_stabilizer; public static BlockFusionReactorController fusion_reactor_controller; public static BlockFusionReactorCoil fusion_reactor_coil; public static BlockMatterRecycler recycler; public static BlockAndroidStation androidStation; public static BlockStarMap starMap; public static BlockChargingStation chargingStation; public static BlockMatterPipe heavy_matter_pipe; public static BlockHoloSign holoSign; public static ForceGlass forceGlass; public static BlockFluidMatterPlasma blockMatterPlasma; public static BlockFluidFinite blockMoltenTritanium; public static BlockBoundingBox boundingBox; public static BlockFusionReactorIO fusionReactorIO; public static BlockTritaniumCrate[] tritaniumCrate; public static BlockInscriber inscriber; public static BlockContractMarket contractMarket; public static BlockAndroidSpawner androidSpawner; public static BlockDecorative decorative_stripes; public static BlockDecorative decorative_coils; public static BlockDecorative decorative_clean; public static BlockDecorative decorative_vent_dark; public static BlockDecorative decorative_vent_bright; public static BlockDecorative decorative_holo_matrix; public static BlockDecorative decorative_tritanium_plate; public static BlockDecorative decorative_carbon_fiber_plate; public static BlockDecorative decorative_matter_tube; public static BlockDecorative decorative_beams; public static BlockDecorative decorative_floor_tiles; public static BlockDecorative decorative_floor_tiles_green; public static BlockDecorative decorative_floor_noise; public static BlockDecorative decorative_tritanium_plate_stripe; public static BlockDecorative decorative_floot_tile_white; public static BlockDecorative decorative_white_plate; public static BlockDecorative decorative_separator; public static BlockDecorative decorative_tritanium_lamp; public static BlockDecorative getDecorative_tritanium_plate_colored; public static BlockDecorative decorative_engine_exhaust_plasma; public static final List<IRecipe> recipes = new ArrayList<>(); public static void init(FMLPreInitializationEvent event) { replicator = new BlockReplicator(Material.iron, "replicator"); decomposer = new BlockDecomposer(Material.iron, "decomposer"); transporter = new BlockTransporter(Material.iron, "transporter"); matter_pipe = new BlockMatterPipe(Material.iron, "matter_pipe"); network_pipe = new BlockNetworkPipe(Material.iron, "network_pipe"); network_router = new BlockNetworkRouter(Material.iron, "network_router"); matter_analyzer = new BlockMatterAnalyzer(Material.iron, "matter_analyzer"); dilithium_ore = new DilithiumOre(Material.rock, "dilithium_ore"); tritaniumOre = new MOBlock(Material.rock, "tritanium_ore"); tritaniumOre.setHardness(8f); tritaniumOre.setResistance(5.0F); tritaniumOre.setHarvestLevel("pickaxe", 2); tritaniumOre.setStepSound(Block.soundTypePiston); tritanium_block = new MOBlock(Material.iron, "tritanium_block"); tritanium_block.setHardness(15.0F); tritanium_block.setResistance(10.0F); tritanium_block.setHarvestLevel("pickaxe", 2); machine_hull = new MOBlock(Material.iron, "machine_hull"); machine_hull.setHardness(15.0F); machine_hull.setResistance(8.0F); machine_hull.setHarvestLevel("pickaxe", 2); machine_hull.setBlockTextureName(Reference.MOD_ID + ":" + "base"); pattern_storage = new BlockPatternStorage(Material.iron, "pattern_storage"); solar_panel = new BlockSolarPanel(Material.iron, "solar_panel"); weapon_station = new BlockWeaponStation(Material.iron, "weapon_station"); microwave = new BlockMicrowave(Material.iron, "microwave"); pattern_monitor = new BlockPatternMonitor(Material.iron, "pattern_monitor"); network_switch = new BlockNetworkSwitch(Material.iron, "network_switch"); gravitational_anomaly = new BlockGravitationalAnomaly(Material.portal, "gravitational_anomaly"); gravitational_stabilizer = new BlockGravitationalStabilizer(Material.iron, "gravitational_stabilizer"); fusion_reactor_controller = new BlockFusionReactorController(Material.iron, "fusion_reactor_controller"); fusion_reactor_coil = new BlockFusionReactorCoil(Material.iron, "fusion_reactor_coil"); recycler = new BlockMatterRecycler(Material.iron, "matter_recycler"); androidStation = new BlockAndroidStation(Material.iron, "android_station"); starMap = new BlockStarMap(Material.iron, "star_map"); chargingStation = new BlockChargingStation(Material.iron, "charging_station"); heavy_matter_pipe = new BlockHeavyMatterPipe(Material.iron, "heavy_matter_pipe"); holoSign = new BlockHoloSign(Material.iron,"holo_sign"); forceGlass = new ForceGlass(Material.glass,"force_glass"); blockMatterPlasma = new BlockFluidMatterPlasma(MatterOverdriveFluids.matterPlasma, Material.water); blockMoltenTritanium = (BlockFluidFinite)new BlockFluidFinite(MatterOverdriveFluids.moltenTritanium,Material.lava).setBlockName("molten_tritanium").setBlockTextureName(Reference.MOD_ID + ":" + "molten_tritanium_Still"); blockMatterPlasma.setBlockName("matter_plasma"); boundingBox = new BlockBoundingBox(Material.air, "bounding_box"); fusionReactorIO = new BlockFusionReactorIO(Material.iron,"fusion_reactor_io"); tritaniumCrate = BlockTritaniumCrate.createAllColors(Material.iron,"tritanium_crate"); inscriber = new BlockInscriber(Material.iron,"inscriber"); contractMarket = new BlockContractMarket(Material.iron,"contract_market"); androidSpawner = new BlockAndroidSpawner(Material.iron,"android_spawner"); decorative_stripes = new BlockDecorative(Material.iron,"decorative.stripes","base_stripes",5,1,8,0xd4b108); decorative_coils = new BlockDecorative(Material.iron,"decorative.coils","base_coil",5,1,8,0xb6621e); decorative_clean = new BlockDecorative(Material.iron,"decorative.clean","transporter_side",5,1,8,0x3b484b); decorative_vent_dark = new BlockDecorative(Material.iron,"decorative.vent.dark","vent",5,1,8,0x32393c); decorative_vent_bright = new BlockDecorative(Material.iron,"decorative.vent.bright","vent2",5,1,8,0x3f4b4e); decorative_holo_matrix = new BlockDecorative(Material.iron,"decorative.holo_matrix","weapon_station_top",3,1,4,0x323b3a); decorative_tritanium_plate = new BlockDecorative(Material.iron,"decorative.tritanium_plate","tritanium_plate",10,1,10,0x475459); decorative_carbon_fiber_plate = new BlockDecorative(Material.iron,"decorative.carbon_fiber_plate","carbon_fiber_plate",10,1,12,0x1c1f20); decorative_matter_tube = new BlockDecorative(Material.glass,"decorative.matter_tube","matter_tube",3,1,4,0x5088a5).setRotated(true); decorative_beams = new BlockDecorative(Material.iron,"decorative.beams","beams",8,1,8,0x1e2220).setRotated(true); decorative_floor_tiles = new BlockDecorative(Material.clay,"decorative.floor_tiles","floor_tiles",4,0,4,0x958d7c); decorative_floor_tiles_green = new BlockDecorative(Material.clay,"decorative.floor_tiles_green","floor_tiles_green",4,0,4,0x53593f); decorative_floor_noise = new BlockDecorative(Material.clay,"decorative.floor_noise","floor_noise",4,0,4,0x7f7e7b); decorative_tritanium_plate_stripe = new BlockDecorative(Material.iron,"decorative.tritanium_plate_stripe",10,1,10,0x576468,new String[]{"tritanium_plate","tritanium_plate","tritanium_plate_yellow_stripe","tritanium_plate_yellow_stripe","tritanium_plate_yellow_stripe","tritanium_plate_yellow_stripe"}); decorative_floot_tile_white = new BlockDecorative(Material.clay,"decorative.floor_tile_white","floor_tile_white",4,0,4,0xa3a49c); decorative_white_plate = new BlockDecorative(Material.iron,"decorative.white_plate","white_plate",8,1,8,0xe3e3e3); decorative_separator = new BlockDecorative(Material.iron,"decorative.separator","separator",8,1,8,0x303837).setRotated(true); decorative_tritanium_lamp = (BlockDecorative)new BlockDecorative(Material.iron,"decorative.tritanium_lamp",2,1,4,0xd4f8f5,new String[]{"tritanium_lamp_bottom","tritanium_lamp_top","tritanium_plate_yellow_stripe","tritanium_plate_yellow_stripe","tritanium_lamp_sides","tritanium_lamp_sides"}).setLightLevel(1); getDecorative_tritanium_plate_colored = new BlockDecorative(Material.iron,"decorative.tritanium_plate_colored","tritanium_plate_colorless",10,1,10,0x505050).setColored(true); decorative_engine_exhaust_plasma = (BlockDecorative)new BlockDecorative(Material.cactus,"decorative.engine_exhaust_plasma","engine_exhaust_plasma",1,1,1,0x387c9e).setLightLevel(1); } public static void register(FMLInitializationEvent event) { replicator.register(); MatterOverdrive.configHandler.subscribe(replicator); transporter.register(); MatterOverdrive.configHandler.subscribe(transporter); decomposer.register(); MatterOverdrive.configHandler.subscribe(decomposer); matter_pipe.register(); network_pipe.register(); network_router.register(); matter_analyzer.register(); MatterOverdrive.configHandler.subscribe(matter_analyzer); dilithium_ore.register(); tritaniumOre.register(); tritanium_block.register(); machine_hull.register(); pattern_storage.register(); MatterOverdrive.configHandler.subscribe(pattern_storage); solar_panel.register(); MatterOverdrive.configHandler.subscribe(solar_panel); weapon_station.register(); microwave.register(); pattern_monitor.register(); MatterOverdrive.configHandler.subscribe(pattern_monitor); network_switch.register(); MatterOverdrive.configHandler.subscribe(network_switch); gravitational_anomaly.register(); MatterOverdrive.configHandler.subscribe(gravitational_anomaly); gravitational_stabilizer.register(); MatterOverdrive.configHandler.subscribe(gravitational_stabilizer); fusion_reactor_controller.register(); MatterOverdrive.configHandler.subscribe(fusion_reactor_controller); fusion_reactor_coil.register(); recycler.register(); MatterOverdrive.configHandler.subscribe(recycler); androidStation.register(); MatterOverdrive.configHandler.subscribe(androidStation); starMap.register(); MatterOverdrive.configHandler.subscribe(starMap); chargingStation.register(); MatterOverdrive.configHandler.subscribe(chargingStation); heavy_matter_pipe.register(); holoSign.register(); forceGlass.register(); GameRegistry.registerBlock(blockMatterPlasma, "matter_plasma"); GameRegistry.registerBlock(blockMoltenTritanium,"molten_tritanium"); boundingBox.register(); fusionReactorIO.register(); BlockTritaniumCrate.registerAll(tritaniumCrate,"tritanium_crate"); inscriber.register(); contractMarket.register(); androidSpawner.register(); decorative_stripes.register(); decorative_coils.register(); decorative_clean.register(); decorative_vent_dark.register(); decorative_vent_bright.register(); decorative_holo_matrix.register(); decorative_tritanium_plate.register(); decorative_carbon_fiber_plate.register(); decorative_matter_tube.register(); decorative_beams.register(); decorative_floor_tiles.register(); decorative_floor_tiles_green.register(); decorative_floor_noise.register(); decorative_tritanium_plate_stripe.register(); decorative_floot_tile_white.register(); decorative_white_plate.register(); decorative_separator.register(); decorative_tritanium_lamp.register(); getDecorative_tritanium_plate_colored.register(); decorative_engine_exhaust_plasma.register(); OreDictionary.registerOre("oreTritanium", tritaniumOre); OreDictionary.registerOre("oreDilithium",dilithium_ore); OreDictionary.registerOre("blockTritanium",tritanium_block); } }