TechReborn/src/main/java/techreborn/init/ModBlocks.java

539 lines
26 KiB
Java
Raw Normal View History

/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2017 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
2015-04-11 18:03:14 +02:00
package techreborn.init;
2015-04-12 10:45:31 +02:00
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
2015-05-07 19:39:47 +02:00
import net.minecraft.init.Blocks;
2016-05-08 11:13:21 +02:00
import net.minecraft.item.ItemBlock;
2015-04-12 15:59:29 +02:00
import net.minecraft.item.ItemStack;
2015-11-23 20:19:18 +01:00
import net.minecraftforge.fml.common.registry.GameRegistry;
2015-04-12 15:59:29 +02:00
import net.minecraftforge.oredict.OreDictionary;
import reborncore.common.tile.TileMachineBase;
import reborncore.common.util.StringUtils;
2015-11-08 13:15:45 +01:00
import techreborn.Core;
2016-05-08 22:42:09 +02:00
import techreborn.blocks.*;
2016-10-08 21:46:16 +02:00
import techreborn.blocks.advanced_machine.*;
import techreborn.blocks.generator.*;
import techreborn.blocks.iron_machines.BlockAlloyFurnace;
import techreborn.blocks.iron_machines.BlockIronFurnace;
2016-10-08 21:46:16 +02:00
import techreborn.blocks.machine.*;
import techreborn.blocks.storage.*;
import techreborn.blocks.tier1.*;
2016-03-16 17:54:44 +01:00
import techreborn.blocks.transformers.BlockHVTransformer;
import techreborn.blocks.transformers.BlockLVTransformer;
import techreborn.blocks.transformers.BlockMVTransformer;
2016-10-08 21:46:16 +02:00
import techreborn.itemblocks.*;
2016-05-08 22:42:09 +02:00
import techreborn.tiles.*;
import techreborn.tiles.fusionReactor.TileEntityFusionController;
import techreborn.tiles.generator.*;
import techreborn.tiles.idsu.TileIDSU;
2015-06-14 14:35:36 +02:00
import techreborn.tiles.lesu.TileLesu;
import techreborn.tiles.lesu.TileLesuStorage;
import techreborn.tiles.multiblock.*;
2016-03-14 09:26:41 +01:00
import techreborn.tiles.storage.TileBatBox;
import techreborn.tiles.storage.TileMFE;
import techreborn.tiles.storage.TileMFSU;
2016-10-08 21:46:16 +02:00
import techreborn.tiles.teir1.*;
2016-03-16 17:54:44 +01:00
import techreborn.tiles.transformers.TileHVTransformer;
import techreborn.tiles.transformers.TileLVTransformer;
import techreborn.tiles.transformers.TileMVTransformer;
2015-04-11 18:03:14 +02:00
2016-05-08 11:13:21 +02:00
import java.lang.reflect.InvocationTargetException;
2016-10-08 21:46:16 +02:00
public class ModBlocks {
2016-03-25 10:47:34 +01:00
public static Block THERMAL_GENERATOR;
public static Block QUANTUM_TANK;
public static Block QUANTUM_CHEST;
public static Block DIGITAL_CHEST;
public static Block INDUSTRIAL_CENTRIFUGE;
public static Block ROLLING_MACHINE;
public static Block MACHINE_CASINGS;
public static Block INDUSTRIAL_BLAST_FURNACE;
public static Block ALLOY_SMELTER;
public static Block INDUSTRIAL_GRINDER;
public static Block IMPLOSION_COMPRESSOR;
public static Block MATTER_FABRICATOR;
public static Block CHUNK_LOADER;
public static Block DRAGON_EGG_SIPHONER;
public static Block MAGIC_ENERGY_CONVERTER;
public static Block ASSEMBLY_MACHINE;
public static Block DIESEL_GENERATOR;
public static Block INDUSTRIAL_ELECTROLYZER;
public static Block MAGICAL_ABSORBER;
public static Block SEMIFLUID_GENERATOR;
public static Block GAS_TURBINE;
public static Block IRON_ALLOY_FURNACE;
public static Block CHEMICAL_REACTOR;
public static Block INTERDIMENSIONAL_SU;
public static Block ADJUSTABLE_SU;
public static Block LAPOTRONIC_SU;
public static Block LSU_STORAGE_BLOCK;
public static Block DISTILLATION_TOWER;
public static Block VACUUM_FREEZER;
public static Block FUSION_CONTROL_COMPUTER;
public static Block FUSION_COIL;
public static Block LIGHTNING_ROD;
public static Block HEAT_GENERATOR;
public static Block INDUSTRIAL_SAWMILL;
public static Block CHARGE_O_MAT;
public static Block PLAYER_DETECTOR;
public static Block GRINDER;
public static Block SOLID_FUEL_GENEREATOR;
public static Block COMPRESSOR;
public static Block EXTRACTOR;
public static Block ELECTRIC_FURNACE;
public static Block SOLAR_PANEL;
public static Block WATER_MILL;
public static Block WIND_MILL;
public static Block RECYCLER;
public static Block BATTERY_BOX;
public static Block MVSU;
public static Block HVSU;
public static Block SCRAPBOXINATOR;
public static Block LV_TRANSFORMER;
public static Block MV_TRANSFORMER;
public static Block HV_TRANSFORMER;
public static BlockOre ORE;
public static BlockOre2 ORE2;
public static Block STORAGE;
public static Block STORAGE2;
public static Block MACHINE_FRAMES;
public static Block REINFORCED_GLASS;
public static Block IRON_FURNACE;
public static Block NUKE;
public static Block RUBBER_LOG;
public static Block RUBBER_LEAVES;
public static Block RUBBER_SAPLING;
public static Block RUBBER_PLANKS;
public static Block REFINED_IRON_FENCE;
public static Block FLARE;
2016-03-25 10:47:34 +01:00
2016-10-08 21:46:16 +02:00
public static void init() {
THERMAL_GENERATOR = new BlockThermalGenerator();
registerBlock(THERMAL_GENERATOR, "techreborn.thermalGenerator");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileThermalGenerator.class, "TileThermalGeneratorTR");
Core.proxy.registerCustomBlockStateLocation(THERMAL_GENERATOR, "machines/generators/thermal_generator");
2016-03-25 10:47:34 +01:00
QUANTUM_TANK = new BlockQuantumTank();
registerBlock(QUANTUM_TANK, ItemBlockQuantumTank.class, "techreborn.quantumTank");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileQuantumTank.class, "TileQuantumTankTR");
Core.proxy.registerCustomBlockStateLocation(QUANTUM_TANK, "machines/tier3_machines/quantum_tank");
2016-03-25 10:47:34 +01:00
QUANTUM_CHEST = new BlockQuantumChest();
registerBlock(QUANTUM_CHEST, ItemBlockQuantumChest.class, "techreborn.quantumChest");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileQuantumChest.class, "TileQuantumChestTR");
Core.proxy.registerCustomBlockStateLocation(QUANTUM_CHEST, "machines/tier3_machines/quantum_chest");
2016-03-25 10:47:34 +01:00
DIGITAL_CHEST = new BlockDigitalChest();
registerBlock(DIGITAL_CHEST, ItemBlockDigitalChest.class, "techreborn.digitalChest");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileDigitalChest.class, "TileDigitalChestTR");
Core.proxy.registerCustomBlockStateLocation(DIGITAL_CHEST, "machines/tier2_machines/digital_chest");
2016-03-25 10:47:34 +01:00
INDUSTRIAL_CENTRIFUGE = new BlockCentrifuge();
registerBlock(INDUSTRIAL_CENTRIFUGE, "techreborn.centrifuge");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileCentrifuge.class, "TileCentrifugeTR");
Core.proxy.registerCustomBlockStateLocation(INDUSTRIAL_CENTRIFUGE, "machines/tier2_machines/industrial_centrifuge");
2016-03-25 10:47:34 +01:00
ROLLING_MACHINE = new BlockRollingMachine(Material.ROCK);
registerBlock(ROLLING_MACHINE, "rollingmachine");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileRollingMachine.class, "TileRollingMachineTR");
Core.proxy.registerCustomBlockStateLocation(ROLLING_MACHINE, "machines/tier1_machines/rolling_machine");
2016-03-25 10:47:34 +01:00
INDUSTRIAL_BLAST_FURNACE = new BlockBlastFurnace(Material.ROCK);
registerBlock(INDUSTRIAL_BLAST_FURNACE, "blastFurnace");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileBlastFurnace.class, "TileBlastFurnaceTR");
Core.proxy.registerCustomBlockStateLocation(INDUSTRIAL_BLAST_FURNACE, "machines/tier2_machines/industrial_blast_furnace");
2016-03-25 10:47:34 +01:00
ALLOY_SMELTER = new BlockAlloySmelter(Material.ROCK);
registerBlock(ALLOY_SMELTER, "alloySmelter");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileAlloySmelter.class, "TileAlloySmalterTR");
Core.proxy.registerCustomBlockStateLocation(ALLOY_SMELTER, "machines/tier1_machines/electric_alloy_smelter");
2016-03-25 10:47:34 +01:00
INDUSTRIAL_GRINDER = new BlockIndustrialGrinder(Material.ROCK);
registerBlock(INDUSTRIAL_GRINDER, "grinder");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileIndustrialGrinder.class, "TileIndustrialGrinderTR");
Core.proxy.registerCustomBlockStateLocation(INDUSTRIAL_GRINDER, "machines/tier2_machines/industrial_grinder");
2016-03-25 10:47:34 +01:00
IMPLOSION_COMPRESSOR = new BlockImplosionCompressor(Material.ROCK);
registerBlock(IMPLOSION_COMPRESSOR, "implosioncompressor");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileImplosionCompressor.class, "TileImplosionCompressorTR");
Core.proxy.registerCustomBlockStateLocation(IMPLOSION_COMPRESSOR, "machines/tier2_machines/implosion_compressor");
2016-03-25 10:47:34 +01:00
MATTER_FABRICATOR = new BlockMatterFabricator(Material.ROCK);
registerBlock(MATTER_FABRICATOR, "matterfabricator");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileMatterFabricator.class, "TileMatterFabricatorTR");
Core.proxy.registerCustomBlockStateLocation(MATTER_FABRICATOR, "machines/tier3_machines/matter_fabricator");
2016-03-25 10:47:34 +01:00
CHUNK_LOADER = new BlockChunkLoader(Material.ROCK);
registerBlock(CHUNK_LOADER, "chunkloader");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileChunkLoader.class, "TileChunkLoaderTR");
Core.proxy.registerCustomBlockStateLocation(CHUNK_LOADER, "machines/tier3_machines/industrial_chunk_loader");
2016-03-25 10:47:34 +01:00
CHARGE_O_MAT = new BlockChargeBench(Material.ROCK);
registerBlock(CHARGE_O_MAT, "chargebench");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileChargeBench.class, "TileChargeBench");
Core.proxy.registerCustomBlockStateLocation(CHARGE_O_MAT, "machines/tier2_machines/charge_bench");
2016-03-25 10:47:34 +01:00
PLAYER_DETECTOR = new BlockPlayerDetector();
registerBlock(PLAYER_DETECTOR, ItemBlockPlayerDetector.class, "playerDetector");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TilePlayerDectector.class, "TilePlayerDectectorTR");
MACHINE_CASINGS = new BlockMachineCasing(Material.ROCK);
registerBlock(MACHINE_CASINGS, ItemBlockMachineCasing.class, "machinecasing");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileMachineCasing.class, "TileMachineCasingTR");
2016-12-05 11:48:21 +01:00
if (Core.proxy.isCTMAvailable()) {
Core.proxy.registerCustomBlockStateLocation(MACHINE_CASINGS, "machines/structure/machine_casing_ctm");
2016-12-05 11:07:41 +01:00
} else {
Core.proxy.registerCustomBlockStateLocation(MACHINE_CASINGS, "machines/structure/machine_casing");
2016-12-05 11:07:41 +01:00
}
2016-11-28 13:54:44 +01:00
ORE = new BlockOre(Material.ROCK);
registerBlock(ORE, ItemBlockOre.class, "techreborn.ore");
2016-11-28 13:54:44 +01:00
for (int i = 0; i < BlockOre.ores.length; i++) {
Core.proxy.registerSubBlockInventoryLocation(ORE, i, "storage/ores", BlockOre.ores[i]);
2016-11-28 13:54:44 +01:00
}
2016-03-25 10:47:34 +01:00
ORE2 = new BlockOre2(Material.ROCK);
registerBlock(ORE2, ItemBlockOre2.class, "techreborn.ore2");
2016-11-28 13:54:44 +01:00
for (int i = 0; i < BlockOre2.ores.length; i++) {
Core.proxy.registerSubBlockInventoryLocation(ORE2, i, "storage/ores", BlockOre2.ores[i]);
2016-11-28 13:54:44 +01:00
}
2016-03-25 10:47:34 +01:00
STORAGE = new BlockStorage(Material.IRON);
registerBlock(STORAGE, ItemBlockStorage.class, "techreborn.storage");
2016-11-28 13:54:44 +01:00
for (int i = 0; i < BlockStorage.types.length; i++) {
Core.proxy.registerSubBlockInventoryLocation(STORAGE, i, "storage/storage", BlockStorage.types[i]);
2016-11-28 13:54:44 +01:00
}
2016-03-25 10:47:34 +01:00
STORAGE2 = new BlockStorage2(Material.IRON);
registerBlock(STORAGE2, ItemBlockStorage2.class, "techreborn.storage2");
2016-11-28 13:54:44 +01:00
for (int i = 0; i < BlockStorage2.types.length; i++) {
Core.proxy.registerSubBlockInventoryLocation(STORAGE2, i, "storage/storage", BlockStorage2.types[i]);
2016-11-28 13:54:44 +01:00
}
2016-03-25 10:47:34 +01:00
DRAGON_EGG_SIPHONER = new BlockDragonEggSiphoner(Material.ROCK);
registerBlock(DRAGON_EGG_SIPHONER, "dragoneggenergsiphon");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileDragonEggSiphoner.class, "TileDragonEggSiphonerTR");
Core.proxy.registerCustomBlockStateLocation(DRAGON_EGG_SIPHONER, "machines/generators/dragon_egg_syphon");
2016-03-25 10:47:34 +01:00
MAGIC_ENERGY_CONVERTER = new BlockMagicEnergyConverter(Material.ROCK);
registerBlock(MAGIC_ENERGY_CONVERTER, "magicenergyconverter");
Core.proxy.registerCustomBlockStateLocation(MAGIC_ENERGY_CONVERTER, "machines/generators/magic_energy_converter");
2016-11-28 13:54:44 +01:00
ASSEMBLY_MACHINE = new BlockAssemblingMachine(Material.ROCK);
registerBlock(ASSEMBLY_MACHINE, "assemblymachine");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileAssemblingMachine.class, "TileAssemblyMachineTR");
Core.proxy.registerCustomBlockStateLocation(ASSEMBLY_MACHINE, "machines/tier1_machines/assembly_machine");
2016-03-25 10:47:34 +01:00
DIESEL_GENERATOR = new BlockDieselGenerator(Material.ROCK);
registerBlock(DIESEL_GENERATOR, "dieselgenerator");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileDieselGenerator.class, "TileDieselGeneratorTR");
Core.proxy.registerCustomBlockStateLocation(DIESEL_GENERATOR, "machines/generators/diesel_generator");
2016-11-28 13:54:44 +01:00
INDUSTRIAL_ELECTROLYZER = new BlockIndustrialElectrolyzer(Material.ROCK);
registerBlock(INDUSTRIAL_ELECTROLYZER, "industrialelectrolyzer");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileIndustrialElectrolyzer.class, "TileIndustrialElectrolyzerTR");
Core.proxy.registerCustomBlockStateLocation(INDUSTRIAL_ELECTROLYZER, "machines/tier1_machines/industrial_electrolyzer");
2016-11-28 13:54:44 +01:00
MAGICAL_ABSORBER = new BlockMagicEnergyAbsorber(Material.ROCK);
registerBlock(MAGICAL_ABSORBER, "magicrnergyabsorber");
Core.proxy.registerCustomBlockStateLocation(MAGICAL_ABSORBER, "machines/generators/magic_energy_absorber");
2016-03-25 10:47:34 +01:00
SEMIFLUID_GENERATOR = new BlockSemiFluidGenerator(Material.ROCK);
registerBlock(SEMIFLUID_GENERATOR, "semifluidgenerator");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileSemifluidGenerator.class, "TileSemifluidGeneratorTR");
Core.proxy.registerCustomBlockStateLocation(SEMIFLUID_GENERATOR, "machines/generators/semi_fluid_generator");
2016-03-25 10:47:34 +01:00
GAS_TURBINE = new BlockGasTurbine(Material.ROCK);
registerBlock(GAS_TURBINE, "gasturbine");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileGasTurbine.class, "TileGassTurbineTR");
Core.proxy.registerCustomBlockStateLocation(GAS_TURBINE, "machines/generators/gas_turbine");
2016-03-25 10:47:34 +01:00
IRON_ALLOY_FURNACE = new BlockAlloyFurnace(Material.ROCK);
registerBlock(IRON_ALLOY_FURNACE, "alloyfurnace");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileAlloyFurnace.class, "TileAlloyFurnaceTR");
Core.proxy.registerCustomBlockStateLocation(IRON_ALLOY_FURNACE, "machines/tier0_machines/alloy_furnace");
2016-03-25 10:47:34 +01:00
CHEMICAL_REACTOR = new BlockChemicalReactor(Material.ROCK);
registerBlock(CHEMICAL_REACTOR, "chemicalreactor");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileChemicalReactor.class, "TileChemicalReactorTR");
Core.proxy.registerCustomBlockStateLocation(CHEMICAL_REACTOR, "machines/tier1_machines/chemical_reactor");
2016-03-25 10:47:34 +01:00
INTERDIMENSIONAL_SU = new BlockIDSU();
registerBlock(INTERDIMENSIONAL_SU, "idsu");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileIDSU.class, "TileIDSUTR");
ADJUSTABLE_SU = new BlockAESU();
registerBlock(ADJUSTABLE_SU, ItemBlockAesu.class, "aesu");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileAesu.class, "TileAesuTR");
LAPOTRONIC_SU = new BlockLESU();
registerBlock(LAPOTRONIC_SU, "lesu");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileLesu.class, "TileLesuTR");
LSU_STORAGE_BLOCK = new BlockLESUStorage(Material.ROCK);
registerBlock(LSU_STORAGE_BLOCK, "lesustorage");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileLesuStorage.class, "TileLesuStorageTR");
2016-11-28 13:54:44 +01:00
if (Core.proxy.isCTMAvailable()) {
Core.proxy.registerCustomBlockStateLocation(LSU_STORAGE_BLOCK, "machines/energy/ev_multi_storage_ctm");
2016-11-28 13:54:44 +01:00
} else {
Core.proxy.registerCustomBlockStateLocation(LSU_STORAGE_BLOCK, "machines/energy/ev_multi_storage");
2016-11-28 13:54:44 +01:00
}
2016-03-25 10:47:34 +01:00
DISTILLATION_TOWER = new BlockDistillationTower(Material.ROCK);
registerBlock(DISTILLATION_TOWER, "distillationtower");
Core.proxy.registerCustomBlockStateLocation(DISTILLATION_TOWER, "machines/tier2_machines/distillation_tower");
2016-03-25 10:47:34 +01:00
VACUUM_FREEZER = new BlockVacuumFreezer(Material.ROCK);
registerBlock(VACUUM_FREEZER, "vacuumfreezer");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileVacuumFreezer.class, "TileVacuumFreezerTR");
Core.proxy.registerCustomBlockStateLocation(VACUUM_FREEZER, "machines/tier2_machines/vacuum_freezer");
2016-03-25 10:47:34 +01:00
FUSION_CONTROL_COMPUTER = new BlockFusionControlComputer(Material.ROCK);
registerBlock(FUSION_CONTROL_COMPUTER, "fusioncontrolcomputer");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileEntityFusionController.class, "TileEntityFustionControllerTR");
Core.proxy.registerCustomBlockStateLocation(FUSION_CONTROL_COMPUTER, "machines/generators/fusion_reactor");
2016-11-28 13:54:44 +01:00
FUSION_COIL = new BlockFusionCoil(Material.ROCK);
registerBlock(FUSION_COIL, "fusioncoil");
Core.proxy.registerCustomBlockStateLocation(FUSION_COIL, "machines/generators/fusion_coil");
2016-03-25 10:47:34 +01:00
LIGHTNING_ROD = new BlockLightningRod(Material.ROCK);
registerBlock(LIGHTNING_ROD, "lightningrod");
GameRegistry.registerTileEntity(TileLightningRod.class, "TileLightningRodTR");
Core.proxy.registerCustomBlockStateLocation(LIGHTNING_ROD, "machines/generators/lightning_rod");
2016-03-25 10:47:34 +01:00
HEAT_GENERATOR = new BlockHeatGenerator(Material.ROCK);
registerBlock(HEAT_GENERATOR, "heatgenerator");
GameRegistry.registerTileEntity(TileHeatGenerator.class, "TileHeatGeneratorTR");
2016-03-25 10:47:34 +01:00
INDUSTRIAL_SAWMILL = new BlockIndustrialSawmill(Material.ROCK);
registerBlock(INDUSTRIAL_SAWMILL, "industrialSawmill");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileIndustrialSawmill.class, "TileIndustrialSawmillTR");
Core.proxy.registerCustomBlockStateLocation(INDUSTRIAL_SAWMILL, "machines/tier2_machines/industrial_saw_mill");
2016-03-25 10:47:34 +01:00
MACHINE_FRAMES = new BlockMachineFrame(Material.IRON);
registerBlock(MACHINE_FRAMES, ItemBlockMachineFrame.class, "techreborn.machineFrame");
Core.proxy.registerCustomBlockStateLocation(MACHINE_FRAMES, "machines/storage/machine_blocks");
2016-03-25 10:47:34 +01:00
GRINDER = new BlockGrinder(Material.IRON);
registerBlock(GRINDER, "techreborn.grinder");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileGrinder.class, "TileGrinderTR");
Core.proxy.registerCustomBlockStateLocation(GRINDER, "machines/tier1_machines/grinder");
2016-03-25 10:47:34 +01:00
SOLID_FUEL_GENEREATOR = new BlockGenerator();
registerBlock(SOLID_FUEL_GENEREATOR, "techreborn.generator");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileGenerator.class, "TileGeneratorTR");
Core.proxy.registerCustomBlockStateLocation(SOLID_FUEL_GENEREATOR, "machines/generators/generator");
2016-03-25 10:47:34 +01:00
EXTRACTOR = new BlockExtractor(Material.IRON);
registerBlock(EXTRACTOR, "techreborn.extractor");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileExtractor.class, "TileExtractorTR");
Core.proxy.registerCustomBlockStateLocation(EXTRACTOR, "machines/tier1_machines/extractor");
2016-03-25 10:47:34 +01:00
COMPRESSOR = new BlockCompressor(Material.IRON);
registerBlock(COMPRESSOR, "techreborn.compressor");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileCompressor.class, "TileCompressorTR");
Core.proxy.registerCustomBlockStateLocation(COMPRESSOR, "machines/tier1_machines/compressor");
2016-03-25 10:47:34 +01:00
ELECTRIC_FURNACE = new BlockElectricFurnace(Material.IRON);
registerBlock(ELECTRIC_FURNACE, "techreborn.electricfurnace");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileElectricFurnace.class, "TileElectricFurnaceTR");
Core.proxy.registerCustomBlockStateLocation(ELECTRIC_FURNACE, "machines/tier1_machines/electric_furnace");
2016-03-25 10:47:34 +01:00
SOLAR_PANEL = new BlockSolarPanel();
registerBlock(SOLAR_PANEL, "techreborn.solarpanel");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileSolarPanel.class, "TileSolarPanel");
Core.proxy.registerCustomBlockStateLocation(SOLAR_PANEL, "machines/generators/solar_panel");
2016-03-25 10:47:34 +01:00
WATER_MILL = new BlockWaterMill();
registerBlock(WATER_MILL, "techreborn.watermill");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileWaterMill.class, "TileWaterMill");
Core.proxy.registerCustomBlockStateLocation(WATER_MILL, "machines/generators/water_mill");
2016-03-25 10:47:34 +01:00
WIND_MILL = new BlockWindMill();
registerBlock(WIND_MILL, "techreborn.windmill");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileWindMill.class, "TileWindMill");
Core.proxy.registerCustomBlockStateLocation(WIND_MILL, "machines/generators/wind_mill");
2016-07-01 16:40:46 +02:00
GameRegistry.registerTileEntity(TileMachineBase.class, "TileMachineBaseTR");
2016-03-25 10:47:34 +01:00
RUBBER_LOG = new BlockRubberLog();
registerBlock(RUBBER_LOG, "rubberLog");
2016-03-25 10:47:34 +01:00
RUBBER_PLANKS = new BlockRubberPlank();
registerBlock(RUBBER_PLANKS, "rubberPlanks");
2016-03-25 10:47:34 +01:00
RUBBER_LEAVES = new BlockRubberLeaves();
registerBlock(RUBBER_LEAVES, "rubberLeaves");
2016-03-25 10:47:34 +01:00
RUBBER_SAPLING = new BlockRubberSapling();
registerBlock(RUBBER_SAPLING, ItemBlockRubberSapling.class, "rubberSapling");
2016-03-25 10:47:34 +01:00
REFINED_IRON_FENCE = new BlockIronFence();
registerBlock(REFINED_IRON_FENCE, "ironFence");
2016-03-25 10:47:34 +01:00
REINFORCED_GLASS = new BlockReinforcedGlass(Material.GLASS);
registerBlock(REINFORCED_GLASS, "reinforcedglass");
2016-03-25 10:47:34 +01:00
RECYCLER = new BlockRecycler(Material.IRON);
registerBlock(RECYCLER, "recycler");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileRecycler.class, "TileRecyclerTR");
Core.proxy.registerCustomBlockStateLocation(RECYCLER, "machines/tier1_machines/recycler");
2016-03-25 10:47:34 +01:00
BATTERY_BOX = new BlockBatBox();
registerBlock(BATTERY_BOX, "batBox");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileBatBox.class, "TileBatBox");
MVSU = new BlockMFE();
registerBlock(MVSU, "MFE");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileMFE.class, "TileMFE");
HVSU = new BlockMFSU();
registerBlock(HVSU, "MFSU");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileMFSU.class, "TileMFSU");
LV_TRANSFORMER = new BlockLVTransformer();
registerBlock(LV_TRANSFORMER, "LVT");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileLVTransformer.class, "TileLVTransformer");
MV_TRANSFORMER = new BlockMVTransformer();
registerBlock(MV_TRANSFORMER, "MVT");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileMVTransformer.class, "TileMVTransformer");
HV_TRANSFORMER = new BlockHVTransformer();
registerBlock(HV_TRANSFORMER, "HVT");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileHVTransformer.class, "TileHVTransformer");
IRON_FURNACE = new BlockIronFurnace();
registerBlock(IRON_FURNACE, "ironfurnace");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileIronFurnace.class, "TileIronFurnaceTR");
Core.proxy.registerCustomBlockStateLocation(IRON_FURNACE, "machines/tier0_machines/furnace");
2016-03-25 10:47:34 +01:00
NUKE = new BlockNuke();
registerBlock(NUKE, "nuke");
2016-03-25 10:47:34 +01:00
SCRAPBOXINATOR = new BlockScrapboxinator(Material.IRON);
registerBlock(SCRAPBOXINATOR, "scrapboxinator");
2016-03-25 10:47:34 +01:00
GameRegistry.registerTileEntity(TileScrapboxinator.class, "TileScrapboxinatorTR");
Core.proxy.registerCustomBlockStateLocation(SCRAPBOXINATOR, "machines/tier1_machines/scrapboxinator");
2016-03-25 10:47:34 +01:00
//TODO enable when done
2016-11-25 14:25:51 +01:00
// flare = new BlockFlare();
// registerBlock(flare, "flare");
// ItemBlock itemBlock = new ItemColored(flare, true);
// itemBlock.setRegistryName("flareItemBlock");
// itemBlock.setCreativeTab(TechRebornCreativeTabMisc.instance);
// GameRegistry.register(itemBlock);
// GameRegistry.registerTileEntity(TileEntityFlare.class, "TileEntityFlareTR");
2016-11-06 20:14:43 +01:00
registerOreDict();
2016-03-25 10:47:34 +01:00
Core.logHelper.info("TechReborns Blocks Loaded");
}
2016-10-08 21:46:16 +02:00
public static void registerBlock(Block block, String name) {
name = name.toLowerCase();
2016-05-08 11:13:21 +02:00
block.setRegistryName(name);
GameRegistry.register(block);
GameRegistry.register(new ItemBlock(block), block.getRegistryName());
}
2016-10-08 21:46:16 +02:00
public static void registerBlock(Block block, Class<? extends ItemBlock> itemclass, String name) {
name = name.toLowerCase();
2016-05-08 11:13:21 +02:00
block.setRegistryName(name);
GameRegistry.register(block);
try {
ItemBlock itemBlock = itemclass.getConstructor(Block.class).newInstance(block);
itemBlock.setRegistryName(name);
GameRegistry.register(itemBlock);
} catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
e.printStackTrace();
}
}
2016-10-08 21:46:16 +02:00
public static void registerOreDict() {
for (String ore : BlockOre.ores) {
OreDictionary.registerOre("ore" + StringUtils.toFirstCapital(ore), BlockOre.getOreByName(ore));
}
2016-10-08 21:46:16 +02:00
for (String ore : BlockOre2.ores) {
OreDictionary.registerOre("ore" + StringUtils.toFirstCapital(ore), BlockOre2.getOreByName(ore));
}
2016-10-08 21:46:16 +02:00
2016-12-22 01:41:33 +01:00
OreDictionary.registerOre("blockSilver", BlockStorage.getStorageBlockByName("silver"));
OreDictionary.registerOre("blockAluminum", BlockStorage.getStorageBlockByName("aluminum"));
OreDictionary.registerOre("blockAluminium", BlockStorage.getStorageBlockByName("aluminum"));
OreDictionary.registerOre("blockTitanium", BlockStorage.getStorageBlockByName("titanium"));
OreDictionary.registerOre("blockChrome", BlockStorage.getStorageBlockByName("chrome"));
OreDictionary.registerOre("blockSteel", BlockStorage.getStorageBlockByName("steel"));
OreDictionary.registerOre("blockBrass", BlockStorage.getStorageBlockByName("brass"));
OreDictionary.registerOre("blockLead", BlockStorage.getStorageBlockByName("lead"));
OreDictionary.registerOre("blockElectrum", BlockStorage.getStorageBlockByName("electrum"));
OreDictionary.registerOre("blockZinc", BlockStorage.getStorageBlockByName("zinc"));
OreDictionary.registerOre("blockPlatinum", BlockStorage.getStorageBlockByName("platinum"));
OreDictionary.registerOre("blockTungsten", BlockStorage.getStorageBlockByName("tungsten"));
OreDictionary.registerOre("blockNickel", BlockStorage.getStorageBlockByName("nickel"));
OreDictionary.registerOre("blockInvar", BlockStorage.getStorageBlockByName("invar"));
OreDictionary.registerOre("blockIridium", BlockStorage.getStorageBlockByName("iridium"));
OreDictionary.registerOre("blockCopper", BlockStorage2.getStorageBlockByName("copper", 1));
OreDictionary.registerOre("blockTin", BlockStorage2.getStorageBlockByName("tin", 1));
2016-12-22 01:41:33 +01:00
OreDictionary.registerOre("blockTungstensteel", BlockStorage2.getStorageBlockByName("tungstensteel", 1));
OreDictionary.registerOre("blockRuby", BlockStorage2.getStorageBlockByName("ruby", 1));
OreDictionary.registerOre("blockSapphire", BlockStorage2.getStorageBlockByName("sapphire", 1));
OreDictionary.registerOre("blockPeridot", BlockStorage2.getStorageBlockByName("peridot", 1));
OreDictionary.registerOre("blockYellowGarnet", BlockStorage2.getStorageBlockByName("yellowGarnet", 1));
OreDictionary.registerOre("blockRedGarnet", BlockStorage2.getStorageBlockByName("redGarnet", 1));
2016-03-25 10:47:34 +01:00
2016-05-06 23:13:24 +02:00
OreDictionary.registerOre("craftingPiston", Blocks.PISTON);
OreDictionary.registerOre("craftingPiston", Blocks.STICKY_PISTON);
OreDictionary.registerOre("crafterWood", Blocks.CRAFTING_TABLE);
OreDictionary.registerOre("machineBasic", new ItemStack(MACHINE_FRAMES, 1));
OreDictionary.registerOre("treeSapling", RUBBER_SAPLING);
OreDictionary.registerOre("saplingRubber", RUBBER_SAPLING);
OreDictionary.registerOre("logWood", new ItemStack(RUBBER_LOG, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("logRubber", new ItemStack(RUBBER_LOG, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("plankWood", new ItemStack(RUBBER_PLANKS, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("plankRubber", new ItemStack(RUBBER_PLANKS, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("treeLeaves", new ItemStack(RUBBER_LEAVES, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("leavesRubber", new ItemStack(RUBBER_LEAVES, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre("fenceIron", REFINED_IRON_FENCE);
2016-10-08 21:46:16 +02:00
2016-03-30 07:45:15 +02:00
OreDictionary.registerOre("machineBlockBasic", BlockMachineFrame.getFrameByName("machine", 1));
OreDictionary.registerOre("machineBlockAdvanced", BlockMachineFrame.getFrameByName("advancedMachine", 1));
OreDictionary.registerOre("machineBlockHighlyAdvanced", BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1));
2016-09-18 21:56:29 +02:00
2016-03-25 10:47:34 +01:00
}
2015-04-11 18:03:14 +02:00
}