private void registerRenderers()
{
// TODO update this a bit + make client component to init manager
registerBlockRenderer();
InitializationManager.instance().getRegistry().forEachEntry((RegistryEntry<?> r) -> {
if (r.standardRender) {
r.forEachMeta((Integer meta) -> {
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(r.content, meta, new ModelResourceLocation(ARKCraft.MODID + ":" + r.modelLocationPrefix + r.name, "inventory"));
});
}
Collection<String> v = new ArrayList<>(Arrays.asList(r.getVariants()));
v.add(ARKCraft.MODID + ":" + r.modelLocationPrefix + r.name);
ModelLoader.registerItemVariants(r.content, CollectionUtil.convert(v, (e) -> new ResourceLocation(e)).toArray(new ResourceLocation[0]));
});
// TODO this can also render other item's models for this one!
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(ARKCraftItems.blueprint, new ItemMeshDefinition() {
@Override
public ModelResourceLocation getModelLocation(ItemStack stack)
{
return new ModelResourceLocation(ARKCraft.instance().modid() + ":blueprint/" + ItemBlueprint.getEngram(stack).getName(), "inventory");
}
});
// Register models for entities
registerEntityModels();
registerBlockTexture(ARKCraftBlocks.cropPlot, 1, "crop_plot");
registerBlockTexture(ARKCraftBlocks.cropPlot, 2, "crop_plot");
registerBlockTexture(ARKCraftBlocks.cable, 1, "cable_vert");
meshedItems.forEach(i -> Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register((Item) i, i::getModel));
Minecraft.getMinecraft().getBlockColors().registerBlockColorHandler(new IBlockColor()
{
@Override
public int colorMultiplier(IBlockState state, @Nullable IBlockAccess worldIn, @Nullable BlockPos pos, int tintIndex)
{
return worldIn != null && pos != null ? BiomeColorHelper.getGrassColorAtPos(worldIn, pos) : (ColorizerGrass.getGrassColor(0.5D, 1.0D));
}
}, new Block[] {ARKCraftBlocks.berryBush});
ARKCustomModelLoader.init();
ARKCustomModelLoader.instance.modelMap.put(new ResourceLocation("arkcraft:cable"), new ModelCable());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityElectricOutlet.class, new TileEntityElectricOutletSpecialRenderer());
}
ClientProxy.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:ARKCraft
作者:
评论列表
文章目录