From 6d98a1f46942d319729c2d61451da462f4188167 Mon Sep 17 00:00:00 2001 From: Rabbitminers Date: Wed, 22 Mar 2023 17:03:00 +0000 Subject: [PATCH] Added Contraption Model Instance Initializer --- .../content/logistics/trains/BogeyRenderer.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/BogeyRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/BogeyRenderer.java index 33b23bac7..447982088 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/BogeyRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/BogeyRenderer.java @@ -1,5 +1,7 @@ package com.simibubi.create.content.logistics.trains; +import com.jozufozu.flywheel.api.MaterialManager; +import com.jozufozu.flywheel.core.Materials; import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.core.materials.model.ModelData; import com.jozufozu.flywheel.util.transform.Transform; @@ -61,6 +63,21 @@ public abstract class BogeyRenderer { : CachedBufferer.partial(model, air); } + @OnlyIn(Dist.CLIENT) + public abstract void initialiseContraptionModelData(MaterialManager materialManager, BogeySize size); + + public void createModelInstances(MaterialManager materialManager, PartialModel model, int count) { + ModelData[] modelData = new ModelData[count]; + materialManager.defaultSolid().material(Materials.TRANSFORMED) + .getModel(model).createInstances(modelData); + contraptionModelData.put(model, modelData); + } + + public void createModelInstances(MaterialManager materialManager, PartialModel... models) { + for (PartialModel model : models) + createModelInstances(materialManager, model, 1); + } + @OnlyIn(Dist.CLIENT) public void render(CompoundTag bogeyData, float wheelAngle, PoseStack ms, int light, @Nullable VertexConsumer vb, BogeySize size) {