diff --git a/src/main/java/com/github/minecraftschurlimods/bibliocraft/client/ber/ClockBER.java b/src/main/java/com/github/minecraftschurlimods/bibliocraft/client/ber/ClockBER.java index 0b0f5a28..4554e23f 100644 --- a/src/main/java/com/github/minecraftschurlimods/bibliocraft/client/ber/ClockBER.java +++ b/src/main/java/com/github/minecraftschurlimods/bibliocraft/client/ber/ClockBER.java @@ -90,15 +90,15 @@ public void render(ClockBlockEntity blockEntity, float partialTick, PoseStack st private void renderHands(ClockBlockEntity blockEntity, ModelPart hourHand, ModelPart minuteHand, double y, double z, PoseStack stack, VertexConsumer vc, int light, int overlay) { Level level = Objects.requireNonNull(blockEntity.getLevel()); - float rotation = level.dimensionType().natural() ? -level.getSunAngle(1) * 2 : getRotation(level); + float rotation = level.dimensionType().natural() ? -((level.getDayTime() + 6000) % 12000) * 0.03f : getRotation(level); stack.pushPose(); stack.translate(0, y, z); stack.pushPose(); - stack.mulPose(Axis.ZP.rotation(rotation)); + stack.mulPose(Axis.ZP.rotationDegrees(rotation)); hourHand.render(stack, vc, light, overlay); stack.popPose(); stack.pushPose(); - stack.mulPose(Axis.ZP.rotation(rotation * 12)); + stack.mulPose(Axis.ZP.rotationDegrees((rotation * 12) % 360)); minuteHand.render(stack, vc, light, overlay); stack.popPose(); stack.popPose(); diff --git a/src/main/java/com/github/minecraftschurlimods/bibliocraft/content/clock/ClockTrigger.java b/src/main/java/com/github/minecraftschurlimods/bibliocraft/content/clock/ClockTrigger.java index 812abcc9..9623aecd 100644 --- a/src/main/java/com/github/minecraftschurlimods/bibliocraft/content/clock/ClockTrigger.java +++ b/src/main/java/com/github/minecraftschurlimods/bibliocraft/content/clock/ClockTrigger.java @@ -22,7 +22,7 @@ public record ClockTrigger(int hour, int minute, boolean redstone, boolean sound public int getInGameTime() { // 1 in-game hour is 1000 ticks, 1 in-game minute is 50/3 ticks. - return (int) (hour * 1000 + minute * 50 / 3d); + return ((int) (hour * 1000 + minute * 50 / 3d) + 18000) % 24000; } @Override