Java 简化obj模型
我试图烘焙多个obj模型,但我必须复制并粘贴一个长代码来烘焙一个模型。这让我的主要mod类变得很长 我尝试过创建类和创建新对象,但似乎不起作用,因为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
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)
的事情,而不是静态事件处理。重复代码可以放在一个或几个方法中;异常处理不是最优的。