From 9920536cc319897a89dc1fc974c67cd0975fbcfd Mon Sep 17 00:00:00 2001 From: Rabbitminers Date: Thu, 23 Mar 2023 18:50:18 +0000 Subject: [PATCH] Implemented Secondary Shaft To Large Renderer --- .../logistics/trains/StandardBogeyRenderer.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/StandardBogeyRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/StandardBogeyRenderer.java index 1b855940b..386dcb692 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/StandardBogeyRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/StandardBogeyRenderer.java @@ -38,6 +38,8 @@ public class StandardBogeyRenderer extends BogeyRenderer { public void initialiseContraptionModelData(MaterialManager materialManager, BogeySize size) { // Large createModelInstances(materialManager, LARGE_BOGEY_WHEELS, BOGEY_DRIVE, BOGEY_PISTON, BOGEY_PIN); + createModelInstances(materialManager, AllBlocks.SHAFT.getDefaultState() + .setValue(ShaftBlock.AXIS, Direction.Axis.X), 2); // Small createModelInstances(materialManager, SMALL_BOGEY_WHEELS, 2); createModelInstances(materialManager, BOGEY_FRAME); @@ -79,11 +81,23 @@ public class StandardBogeyRenderer extends BogeyRenderer { } } - public void renderLarge(CompoundTag bogeyData, float wheelAngle, PoseStack ms, int light, + public void renderLarge(CompoundTag bogeyData, float wheelAngle, PoseStack ms, int light, @Nullable VertexConsumer vb) { boolean inContraption = vb == null; + Transform[] secondaryShafts = getTransformsFromBlockState(AllBlocks.SHAFT.getDefaultState() + .setValue(ShaftBlock.AXIS, Direction.Axis.X), ms, inContraption, 2); + + for (int i : Iterate.zeroAndOne) { + Transform secondShaft = secondaryShafts[i]; + secondShaft.translate(-.5f, .25f, .5f + i * -2) + .centre() + .rotateX(wheelAngle) + .unCentre(); + finalize(secondShaft, ms, light, vb); + } + Transform bogeyDrive = getTransformFromPartial(BOGEY_DRIVE, ms, inContraption); finalize(bogeyDrive, ms, light, vb);