Я пытаюсь испечь несколько моделей obj, но мне нужно скопировать и вставить длинный код, чтобы испечь одну модель. Это делает мой основной мод очень длинным.
Я пытался создавать классы и создавать новые объекты, но, похоже, он не работает, потому что 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();
}
}