diff --git a/src/main/java/com/simibubi/create/content/schematics/client/SchematicAndQuillHandler.java b/src/main/java/com/simibubi/create/content/schematics/client/SchematicAndQuillHandler.java index 6c2cfc6413..7524f90477 100644 --- a/src/main/java/com/simibubi/create/content/schematics/client/SchematicAndQuillHandler.java +++ b/src/main/java/com/simibubi/create/content/schematics/client/SchematicAndQuillHandler.java @@ -63,9 +63,12 @@ public class SchematicAndQuillHandler { if (bb.contains(projectedView)) delta *= -1; - int x = (int) (vec.getX() * delta); - int y = (int) (vec.getY() * delta); - int z = (int) (vec.getZ() * delta); + // Round away from zero to avoid an implicit floor + int intDelta = (int) (delta > 0 ? Math.ceil(delta) : Math.floor(delta)); + + int x = vec.getX() * intDelta; + int y = vec.getY() * intDelta; + int z = vec.getZ() * intDelta; AxisDirection axisDirection = selectedFace.getAxisDirection(); if (axisDirection == AxisDirection.NEGATIVE) diff --git a/src/main/java/com/simibubi/create/content/schematics/client/SchematicHandler.java b/src/main/java/com/simibubi/create/content/schematics/client/SchematicHandler.java index ffe3c0217a..3dc0c019af 100644 --- a/src/main/java/com/simibubi/create/content/schematics/client/SchematicHandler.java +++ b/src/main/java/com/simibubi/create/content/schematics/client/SchematicHandler.java @@ -320,7 +320,7 @@ public class SchematicHandler implements IGuiOverlay { return false; if (selectionScreen.focused) { - selectionScreen.cycle((int) delta); + selectionScreen.cycle((int) Math.signum(delta)); return true; } if (AllKeys.ctrlDown())