Java 简化obj模型

Java 简化obj模型,java,minecraft,minecraft-forge,Java,Minecraft,Minecraft Forge,我试图烘焙多个obj模型,但我必须复制并粘贴一个长代码来烘焙一个模型。这让我的主要mod类变得很长 我尝试过创建类和创建新对象,但似乎不起作用,因为onModelBakeEvent应该是静态的 @SubscribeEvent public static void onModelBakeEvent(ModelBakeEvent event) { try { IUnbakedModel model = getModelOrLogError(new ResourceLocati

我试图烘焙多个obj模型,但我必须复制并粘贴一个长代码来烘焙一个模型。这让我的主要mod类变得很长

我尝试过创建类和创建新对象,但似乎不起作用,因为
onModelBakeEvent
应该是静态的

@SubscribeEvent
public static void onModelBakeEvent(ModelBakeEvent event) {
    try {
        IUnbakedModel model = getModelOrLogError(new ResourceLocation("unixmod:block/fabricator.obj"), "Missing fabricator model");
        if (model instanceof OBJModel) {
            IBakedModel bakedModel = model.bake(event.getModelLoader(), ModelLoader.defaultTextureGetter(),
                    new BasicState(model.getDefaultState(), true), DefaultVertexFormats.POSITION_TEX_COLOR_NORMAL);

            IBakedModel bakedInvModel = model.bake(event.getModelLoader(), ModelLoader.defaultTextureGetter(),
                    new BasicState(model.getDefaultState(), true), DefaultVertexFormats.ITEM);

            bakedInvModel = new PerspectiveMapWrapper(bakedInvModel, BLOCK_TRANSFORMS);


            event.getModelRegistry().put(new ModelResourceLocation("unixmod:fabricator", ""), bakedModel);
            event.getModelRegistry().put(new ModelResourceLocation("unixmod:fabricator", "inventory"), bakedInvModel);
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        IUnbakedModel model = getModelOrLogError(new ResourceLocation("unixmod:block/acidmushroom.obj"), "Missing acidmushroom model");
        if (model instanceof OBJModel) {
            IBakedModel bakedModel = model.bake(event.getModelLoader(), ModelLoader.defaultTextureGetter(),
                    new BasicState(model.getDefaultState(), true), DefaultVertexFormats.POSITION_TEX_COLOR_NORMAL);

            IBakedModel bakedInvModel = model.bake(event.getModelLoader(), ModelLoader.defaultTextureGetter(),
                    new BasicState(model.getDefaultState(), true), DefaultVertexFormats.ITEM);

            bakedInvModel = new PerspectiveMapWrapper(bakedInvModel, BLOCK_TRANSFORMS);


            event.getModelRegistry().put(new ModelResourceLocation("unixmod:acidmushroom", ""), bakedModel);
            event.getModelRegistry().put(new ModelResourceLocation("unixmod:acidmushroom", "inventory"), bakedInvModel);
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}

它不起作用,因为onModelBakeEvent应该是静态的。很抱歉我不小心打了你的旗子。我以为它应该引用你的话,我按了按-_-这没问题,所以毕竟需要一些时间来适应。如果你有好的信息,那么请将其编辑到你的问题中,以便新读者能立即看到。其他注意事项:把你的问题说清楚,我想你是在问是否有简化烘焙的方法?你可以做一些类似
MinecraftForge.event\u BUS.register(yourInstance)
的事情,而不是静态事件处理。重复代码可以放在一个或几个方法中;异常处理不是最优的。它不起作用,因为onModelBakeEvent应该是静态的。很抱歉我不小心打了你的旗子。我以为它应该引用你的话,我按了按-_-这没问题,所以毕竟需要一些时间来适应。如果你有好的信息,那么请将其编辑到你的问题中,以便新读者能立即看到。其他注意事项:把你的问题说清楚,我想你是在问是否有简化烘焙的方法?你可以做一些类似
MinecraftForge.event\u BUS.register(yourInstance)
的事情,而不是静态事件处理。重复代码可以放在一个或几个方法中;异常处理不是最优的。