ClientProxy.java 文件源码

java
阅读 24 收藏 0 点赞 0 评论 0

项目:ARKCraft 作者:
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());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号