ISBRH.java 文件源码

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

项目:ISBRH 作者:
@EventHandler
public void init(FMLInitializationEvent event)
{
    if (exempleEnabled)
    {
        logger.info("Registering ISBRH Block Exemple...");
        testId = RenderRegistry.getNextAvailableRenderId();
        GameRegistry.registerBlock(test, "test");
        RenderRegistry.registerBlockHandler(new RenderExample());
        RenderRegistry.registerTextureHandler((ITextureHandler) test);
    }

    Minecraft mc = Minecraft.getMinecraft();

    // Prerequisite
    ModelManager modelManager = ObfuscationReflectionHelper
            .getPrivateValue(Minecraft.class, mc, "aL", "field_175617_aL",
                    "modelManager");
    RenderManager renderManager = mc.getRenderManager();
    IReloadableResourceManager resourceManager = ((IReloadableResourceManager) mc
            .getResourceManager());

    // Render Item Hook
    RenderItem item = new RenderItemISBRH(mc.getTextureManager(),
            modelManager, mc.getRenderItem());
    ObfuscationReflectionHelper.setPrivateValue(Minecraft.class, mc, item,
            "X", "field_175621_X", "renderItem");
    ObfuscationReflectionHelper.setPrivateValue(Minecraft.class, mc,
            new ItemRenderer(mc), "Y", "field_175620_Y", "itemRenderer");
    renderManager.entityRenderMap.remove(EntityItem.class);
    renderManager.entityRenderMap.put(EntityItem.class,
            new RenderEntityItem(renderManager, item));
    renderManager.entityRenderMap.remove(EntityItemFrame.class);
    renderManager.entityRenderMap.put(EntityItemFrame.class,
            new RenderItemFrame(renderManager, item));
    mc.entityRenderer = new EntityRenderer(mc, resourceManager);

    // Render Block Dispatcher Hook
    BlockRendererDispatcher rendererDispatcher = new ISBRHDispatcher(
            mc.getBlockRendererDispatcher(), modelManager.getBlockModelShapes(), mc.gameSettings);
    ObfuscationReflectionHelper.setPrivateValue(Minecraft.class, mc,
            rendererDispatcher, "aM", "field_175618_aM",
            "blockRenderDispatcher");

    // Register Reload Listeners
    resourceManager.registerReloadListener(rendererDispatcher);
    resourceManager.registerReloadListener(item);
    resourceManager.registerReloadListener(mc.entityRenderer);

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号