@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 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 IHaveRenderers) {
((IHaveRenderers) item).registerRenderers(mo);
} else if (item != null && item != Items.AIR) {
ClientUtil.registerRenderer(item, mo.getUnlocalisedName());
}
}
if (block instanceof IHaveTESR) {
((IHaveTESR) block).bindTileEntitySpecialRenderer();
}
}
}
ClientProxy.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:EnderIO
作者:
评论列表
文章目录