2015-11-02 20:39:44 +00:00
package WayofTime.bloodmagic.registry ;
2016-02-02 02:07:06 +00:00
import WayofTime.bloodmagic.api.BloodMagicAPI ;
2015-12-28 00:38:12 +00:00
import net.minecraft.block.Block ;
import net.minecraft.item.ItemBlock ;
import net.minecraftforge.fluids.FluidRegistry ;
import net.minecraftforge.fml.common.registry.GameRegistry ;
2016-01-12 17:23:26 +00:00
import WayofTime.bloodmagic.BloodMagic ;
import WayofTime.bloodmagic.ConfigHandler ;
import WayofTime.bloodmagic.api.Constants ;
import WayofTime.bloodmagic.block.BlockAlchemyArray ;
import WayofTime.bloodmagic.block.BlockAltar ;
import WayofTime.bloodmagic.block.BlockBloodLight ;
import WayofTime.bloodmagic.block.BlockBloodRune ;
import WayofTime.bloodmagic.block.BlockBloodStoneBrick ;
import WayofTime.bloodmagic.block.BlockCrystal ;
2016-01-24 02:18:06 +00:00
import WayofTime.bloodmagic.block.BlockIncenseAltar ;
2016-01-12 22:05:56 +00:00
import WayofTime.bloodmagic.block.BlockInputRoutingNode ;
2016-01-16 02:53:55 +00:00
import WayofTime.bloodmagic.block.BlockItemRoutingNode ;
2016-01-12 17:23:26 +00:00
import WayofTime.bloodmagic.block.BlockLifeEssence ;
import WayofTime.bloodmagic.block.BlockMasterRoutingNode ;
2016-01-12 22:05:56 +00:00
import WayofTime.bloodmagic.block.BlockOutputRoutingNode ;
2016-01-27 00:39:39 +00:00
import WayofTime.bloodmagic.block.BlockPath ;
2016-01-12 17:23:26 +00:00
import WayofTime.bloodmagic.block.BlockPedestal ;
import WayofTime.bloodmagic.block.BlockPhantom ;
import WayofTime.bloodmagic.block.BlockRitualController ;
import WayofTime.bloodmagic.block.BlockRitualStone ;
import WayofTime.bloodmagic.block.BlockSoulForge ;
import WayofTime.bloodmagic.block.BlockSpectral ;
import WayofTime.bloodmagic.block.BlockTeleposer ;
import WayofTime.bloodmagic.block.BlockTestSpellBlock ;
import WayofTime.bloodmagic.item.block.ItemBlockBloodRune ;
import WayofTime.bloodmagic.item.block.ItemBlockBloodStoneBrick ;
import WayofTime.bloodmagic.item.block.ItemBlockCrystal ;
2016-01-27 00:39:39 +00:00
import WayofTime.bloodmagic.item.block.ItemBlockPath ;
2016-01-12 17:23:26 +00:00
import WayofTime.bloodmagic.item.block.ItemBlockPedestal ;
import WayofTime.bloodmagic.item.block.ItemBlockRitualController ;
import WayofTime.bloodmagic.item.block.ItemBlockRitualStone ;
import WayofTime.bloodmagic.tile.TileAlchemyArray ;
import WayofTime.bloodmagic.tile.TileAltar ;
import WayofTime.bloodmagic.tile.TileImperfectRitualStone ;
2016-01-24 02:18:06 +00:00
import WayofTime.bloodmagic.tile.TileIncenseAltar ;
2016-01-12 17:23:26 +00:00
import WayofTime.bloodmagic.tile.TileMasterRitualStone ;
import WayofTime.bloodmagic.tile.TilePhantomBlock ;
import WayofTime.bloodmagic.tile.TilePlinth ;
import WayofTime.bloodmagic.tile.TileSoulForge ;
import WayofTime.bloodmagic.tile.TileSpectralBlock ;
import WayofTime.bloodmagic.tile.TileTeleposer ;
2016-01-12 22:05:56 +00:00
import WayofTime.bloodmagic.tile.routing.TileInputRoutingNode ;
2016-01-16 02:53:55 +00:00
import WayofTime.bloodmagic.tile.routing.TileItemRoutingNode ;
2016-01-14 20:03:13 +00:00
import WayofTime.bloodmagic.tile.routing.TileMasterRoutingNode ;
2016-01-12 22:05:56 +00:00
import WayofTime.bloodmagic.tile.routing.TileOutputRoutingNode ;
2016-01-12 17:23:26 +00:00
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper ;
2015-10-30 03:22:14 +00:00
2015-12-30 20:34:40 +00:00
public class ModBlocks
{
2015-10-30 03:22:14 +00:00
public static Block altar ;
2015-11-03 03:18:53 +00:00
public static Block bloodRune ;
2015-11-07 02:41:15 +00:00
public static Block ritualController ;
2015-10-31 04:20:23 +00:00
public static Block ritualStone ;
2015-11-30 00:04:50 +00:00
public static Block bloodLight ;
2015-11-06 22:26:38 +00:00
public static Block testSpellBlock ;
2015-11-22 22:03:51 +00:00
public static Block pedestal ;
2015-11-29 02:25:46 +00:00
public static Block teleposer ;
2015-12-23 20:20:26 +00:00
public static Block alchemyArray ;
2015-12-28 00:38:12 +00:00
public static Block spectralBlock ;
public static Block phantomBlock ;
2016-01-07 21:36:52 +00:00
public static Block soulForge ;
2016-01-24 02:18:06 +00:00
public static Block incenseAltar ;
2015-10-30 03:22:14 +00:00
public static Block lifeEssence ;
public static Block crystal ;
2015-11-08 02:37:12 +00:00
public static Block bloodStoneBrick ;
2016-01-27 00:39:39 +00:00
public static Block pathBlock ;
2015-10-30 03:22:14 +00:00
2016-01-12 17:23:26 +00:00
public static Block masterRoutingNode ;
2016-01-12 22:05:56 +00:00
public static Block inputRoutingNode ;
public static Block outputRoutingNode ;
2016-01-16 02:53:55 +00:00
public static Block itemRoutingNode ;
2016-01-12 17:23:26 +00:00
2015-12-30 20:34:40 +00:00
public static void init ( )
{
2015-10-30 03:22:14 +00:00
FluidRegistry . registerFluid ( BlockLifeEssence . getLifeEssence ( ) ) ;
lifeEssence = registerBlock ( new BlockLifeEssence ( ) ) ;
2015-10-31 04:20:23 +00:00
2015-10-30 03:22:14 +00:00
altar = registerBlock ( new BlockAltar ( ) ) ;
2015-11-03 03:18:53 +00:00
bloodRune = registerBlock ( new BlockBloodRune ( ) , ItemBlockBloodRune . class ) ;
2015-11-07 02:41:15 +00:00
ritualController = registerBlock ( new BlockRitualController ( ) , ItemBlockRitualController . class ) ;
ritualStone = registerBlock ( new BlockRitualStone ( ) , ItemBlockRitualStone . class ) ;
2015-11-30 00:04:50 +00:00
bloodLight = registerBlock ( new BlockBloodLight ( ) ) ;
2015-11-06 22:26:38 +00:00
testSpellBlock = registerBlock ( new BlockTestSpellBlock ( ) ) ;
2015-11-22 22:03:51 +00:00
pedestal = registerBlock ( new BlockPedestal ( ) , ItemBlockPedestal . class ) ;
2015-11-29 02:25:46 +00:00
teleposer = registerBlock ( new BlockTeleposer ( ) ) ;
2015-12-23 20:20:26 +00:00
alchemyArray = registerBlock ( new BlockAlchemyArray ( ) ) ;
2015-12-28 00:38:12 +00:00
spectralBlock = registerBlock ( new BlockSpectral ( ) ) ;
phantomBlock = registerBlock ( new BlockPhantom ( ) ) ;
2016-01-07 21:36:52 +00:00
soulForge = registerBlock ( new BlockSoulForge ( ) ) ;
2015-11-30 00:04:50 +00:00
crystal = registerBlock ( new BlockCrystal ( ) , ItemBlockCrystal . class ) ;
2015-11-08 02:37:12 +00:00
bloodStoneBrick = registerBlock ( new BlockBloodStoneBrick ( ) , ItemBlockBloodStoneBrick . class ) ;
2016-01-12 17:23:26 +00:00
masterRoutingNode = registerBlock ( new BlockMasterRoutingNode ( ) ) ;
2016-01-12 22:05:56 +00:00
inputRoutingNode = registerBlock ( new BlockInputRoutingNode ( ) ) ;
outputRoutingNode = registerBlock ( new BlockOutputRoutingNode ( ) ) ;
2016-01-16 02:53:55 +00:00
itemRoutingNode = registerBlock ( new BlockItemRoutingNode ( ) ) ;
2016-01-24 02:18:06 +00:00
incenseAltar = registerBlock ( new BlockIncenseAltar ( ) ) ;
2016-01-27 00:39:39 +00:00
pathBlock = registerBlock ( new BlockPath ( ) , ItemBlockPath . class ) ;
2015-11-08 02:37:12 +00:00
2016-02-02 02:07:06 +00:00
BloodMagicAPI . addToTeleposerBlacklist ( inputRoutingNode ) ;
BloodMagicAPI . addToTeleposerBlacklist ( outputRoutingNode ) ;
BloodMagicAPI . addToTeleposerBlacklist ( itemRoutingNode ) ;
2015-10-30 03:22:14 +00:00
initTiles ( ) ;
}
2015-12-30 20:34:40 +00:00
public static void initTiles ( )
{
2015-11-29 02:25:46 +00:00
GameRegistry . registerTileEntity ( TileAltar . class , Constants . Mod . MODID + " : " + TileAltar . class . getSimpleName ( ) ) ;
GameRegistry . registerTileEntity ( TileImperfectRitualStone . class , Constants . Mod . MODID + " : " + TileImperfectRitualStone . class . getSimpleName ( ) ) ;
GameRegistry . registerTileEntity ( TileMasterRitualStone . class , Constants . Mod . MODID + " : " + TileMasterRitualStone . class . getSimpleName ( ) ) ;
GameRegistry . registerTileEntity ( TilePlinth . class , Constants . Mod . MODID + " : " + TilePlinth . class . getSimpleName ( ) ) ;
2015-12-28 00:43:11 +00:00
GameRegistry . registerTileEntity ( TileAlchemyArray . class , Constants . Mod . MODID + " : " + TileAlchemyArray . class . getSimpleName ( ) ) ;
2015-12-28 00:38:12 +00:00
GameRegistry . registerTileEntity ( TileSpectralBlock . class , Constants . Mod . MODID + " : " + TileSpectralBlock . class . getSimpleName ( ) ) ;
GameRegistry . registerTileEntity ( TilePhantomBlock . class , Constants . Mod . MODID + " : " + TilePhantomBlock . class . getSimpleName ( ) ) ;
2016-01-01 17:08:17 +00:00
GameRegistry . registerTileEntity ( TileTeleposer . class , Constants . Mod . MODID + " : " + TileTeleposer . class . getSimpleName ( ) ) ;
2016-01-07 23:05:23 +00:00
GameRegistry . registerTileEntity ( TileSoulForge . class , Constants . Mod . MODID + " : " + TileSoulForge . class . getSimpleName ( ) ) ;
2016-01-12 17:23:26 +00:00
GameRegistry . registerTileEntity ( TileMasterRoutingNode . class , Constants . Mod . MODID + " : " + TileMasterRoutingNode . class . getSimpleName ( ) ) ;
2016-01-12 22:05:56 +00:00
GameRegistry . registerTileEntity ( TileInputRoutingNode . class , Constants . Mod . MODID + " : " + TileInputRoutingNode . class . getSimpleName ( ) ) ;
GameRegistry . registerTileEntity ( TileOutputRoutingNode . class , Constants . Mod . MODID + " : " + TileOutputRoutingNode . class . getSimpleName ( ) ) ;
2016-01-16 02:53:55 +00:00
GameRegistry . registerTileEntity ( TileItemRoutingNode . class , Constants . Mod . MODID + " : " + TileItemRoutingNode . class . getSimpleName ( ) ) ;
2016-01-24 02:18:06 +00:00
GameRegistry . registerTileEntity ( TileIncenseAltar . class , Constants . Mod . MODID + " : " + TileIncenseAltar . class . getSimpleName ( ) ) ;
2015-10-30 03:22:14 +00:00
}
2015-12-30 20:34:40 +00:00
public static void initRenders ( )
{
2015-12-28 21:43:26 +00:00
InventoryRenderHelper renderHelper = BloodMagic . proxy . getRenderHelper ( ) ;
2015-10-30 05:22:08 +00:00
renderHelper . fluidRender ( lifeEssence ) ;
2016-01-01 22:36:50 +00:00
for ( int i = 0 ; i < BlockBloodRune . names . length ; i + + )
{
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( bloodRune ) , i ) ;
}
2016-01-10 06:05:03 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( altar ) ) ;
2015-11-07 02:41:15 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualController ) , 0 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualController ) , 1 ) ;
2015-10-31 04:20:23 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualStone ) , 0 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualStone ) , 1 ) ;
2015-11-07 02:41:15 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualStone ) , 2 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualStone ) , 3 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualStone ) , 4 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualStone ) , 5 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( ritualStone ) , 6 ) ;
2015-11-08 02:37:12 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( bloodStoneBrick ) , 0 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( bloodStoneBrick ) , 1 ) ;
2015-11-30 00:04:50 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( crystal ) , 0 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( crystal ) , 1 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( bloodLight ) ) ;
2015-11-22 22:03:51 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( pedestal ) , 0 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( pedestal ) , 1 ) ;
2015-11-29 02:25:46 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( teleposer ) ) ;
2015-12-23 20:20:26 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( alchemyArray ) ) ;
2015-12-28 00:38:12 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( spectralBlock ) ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( phantomBlock ) ) ;
2016-01-07 21:36:52 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( soulForge ) ) ;
2016-01-16 00:36:44 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( outputRoutingNode ) ) ;
2016-01-16 02:53:55 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( inputRoutingNode ) ) ;
2016-02-05 02:11:51 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( masterRoutingNode ) ) ;
2016-01-16 02:53:55 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( itemRoutingNode ) ) ;
2016-01-24 02:18:06 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( incenseAltar ) ) ;
2016-01-27 00:39:39 +00:00
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( pathBlock ) , 0 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( pathBlock ) , 1 ) ;
renderHelper . itemRender ( InventoryRenderHelper . getItemFromBlock ( pathBlock ) , 2 ) ;
2015-10-30 03:22:14 +00:00
}
2015-12-30 20:34:40 +00:00
private static Block registerBlock ( Block block , Class < ? extends ItemBlock > itemBlock , String name )
{
2015-10-30 03:22:14 +00:00
if ( ! ConfigHandler . blockBlacklist . contains ( name ) )
GameRegistry . registerBlock ( block , itemBlock , name ) ;
return block ;
}
2015-12-30 20:34:40 +00:00
private static Block registerBlock ( Block block , Class < ? extends ItemBlock > itemBlock )
{
2016-01-24 02:18:06 +00:00
if ( block . getRegistryName ( ) = = null )
{
2016-01-19 06:34:12 +00:00
BloodMagic . instance . getLogger ( ) . error ( " Attempted to register Block {} without setting a registry name. Block will not be registered. Please report this. " , block . getClass ( ) . getCanonicalName ( ) ) ;
return block ;
}
if ( ! ConfigHandler . blockBlacklist . contains ( block . getRegistryName ( ) . split ( " : " ) [ 1 ] ) )
GameRegistry . registerBlock ( block , itemBlock ) ;
return block ;
2015-10-31 04:20:23 +00:00
}
2015-12-30 20:34:40 +00:00
private static Block registerBlock ( Block block , String name )
{
2015-10-30 03:22:14 +00:00
if ( ! ConfigHandler . blockBlacklist . contains ( name ) )
GameRegistry . registerBlock ( block , name ) ;
return block ;
}
2015-12-30 20:34:40 +00:00
private static Block registerBlock ( Block block )
{
2016-01-24 02:18:06 +00:00
if ( block . getRegistryName ( ) = = null )
{
2016-01-19 06:34:12 +00:00
BloodMagic . instance . getLogger ( ) . error ( " Attempted to register Block {} without setting a registry name. Block will not be registered. Please report this. " , block . getClass ( ) . getCanonicalName ( ) ) ;
return null ;
}
if ( ! ConfigHandler . blockBlacklist . contains ( block . getRegistryName ( ) . split ( " : " ) [ 1 ] ) )
GameRegistry . registerBlock ( block ) ;
return block ;
2015-10-30 03:22:14 +00:00
}
}