use of crazypants.enderio.base.render.IHaveTESR in project EnderIO by SleepyTrousers.
the class ClientProxy method onModelRegistryEvent.
@SubscribeEvent
public static void onModelRegistryEvent(@Nonnull ModelRegistryEvent event) {
// Custom state mappers
EnderIOGlassesStateMapper.create();
ColdFireStateMapper.create();
LeverStateMapper.create();
final StateMap doorMapper = (new StateMap.Builder()).ignore(new IProperty[] { BlockDoor.POWERED }).build();
ModelLoader.setCustomStateMapper(ModObject.blockDarkSteelDoor.getBlockNN(), doorMapper);
ModelLoader.setCustomStateMapper(ModObject.blockPaintedDarkSteelDoor.getBlockNN(), doorMapper);
ModelLoader.setCustomStateMapper(ModObject.blockPaintedIronDoor.getBlockNN(), doorMapper);
ModelLoader.setCustomStateMapper(ModObject.blockPaintedWoodenDoor.getBlockNN(), doorMapper);
// Items of blocks that use smart rendering
SmartModelAttacher.registerBlockItemModels();
/*
* Most blocks register themselves with the SmartModelAttacher which will also handle their items. Those that don't need to implement IHaveRenderers and
* have their items handled here.
*
* Items that do _not_ belong to a block are handled here by either having the item implement IHaveRenderers or by registering the default renderer.
*/
for (IModObject mo : ModObjectRegistry.getObjects()) {
final Block block = mo.getBlock();
if (block instanceof ICustomSubItems) {
// NOP, handled by SmartModelAttacher
} else if (block instanceof IHaveRenderers) {
((IHaveRenderers) block).registerRenderers(mo);
} else if (block instanceof IDefaultRenderers) {
ClientUtil.registerDefaultItemRenderer(mo);
} else if (block == null || block == Blocks.AIR) {
final Item item = mo.getItem();
if (item instanceof ICustomSubItems) {
// NOP, handled by SmartModelAttacher
} else if (item instanceof IHaveRenderers) {
((IHaveRenderers) item).registerRenderers(mo);
} else if (item != null && item != Items.AIR) {
ClientUtil.registerDefaultItemRenderer(mo);
}
}
if (block instanceof IHaveTESR) {
((IHaveTESR) block).bindTileEntitySpecialRenderer();
}
}
}
Aggregations