From e0cb2949df02c75806824eca22e12ebeef12228b Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 24 Jul 2023 16:56:53 +0100 Subject: [PATCH] fix: switch to consistent heights for schematic generation (#4113) --- .../core/generator/HybridPlotWorld.java | 15 +++++---------- .../plotsquared/core/generator/HybridUtils.java | 2 +- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Core/src/main/java/com/plotsquared/core/generator/HybridPlotWorld.java b/Core/src/main/java/com/plotsquared/core/generator/HybridPlotWorld.java index ee2c3db77..b94f8fdb9 100644 --- a/Core/src/main/java/com/plotsquared/core/generator/HybridPlotWorld.java +++ b/Core/src/main/java/com/plotsquared/core/generator/HybridPlotWorld.java @@ -275,7 +275,7 @@ public class HybridPlotWorld extends ClassicPlotWorld { SCHEM_Y = getMinGenHeight(); plotY = 0; } else if (!Settings.Schematics.PASTE_ON_TOP) { - SCHEM_Y = getMinBuildHeight(); + SCHEM_Y = getMinGenHeight(); plotY = 0; } maxSchematicHeight = plotY + plotSchemHeight; @@ -296,20 +296,15 @@ public class HybridPlotWorld extends ClassicPlotWorld { // Road is the lowest schematic. Normalize plotY to it. if (Settings.Schematics.PASTE_ON_TOP) { plotY = PLOT_HEIGHT - getMinGenHeight(); - } else { - plotY = getMinBuildHeight() - getMinGenHeight(); } } } else if (!Settings.Schematics.PASTE_ROAD_ON_TOP) { - if (SCHEM_Y == getMinGenHeight()) { // Only possible if plot schematic is enabled - // Plot is still the lowest schematic, normalize roadY to it - roadY = getMinBuildHeight() - getMinGenHeight(); - } else if (schematic3 != null) { - SCHEM_Y = getMinBuildHeight(); - roadY = 0;// Road is the lowest schematic + roadY = 0; + SCHEM_Y = getMinGenHeight(); + if (schematic3 != null) { if (Settings.Schematics.PASTE_ON_TOP) { // Road is the lowest schematic. Normalize plotY to it. - plotY = PLOT_HEIGHT - getMinBuildHeight(); + plotY = PLOT_HEIGHT - SCHEM_Y; } maxSchematicHeight = Math.max(maxSchematicHeight, plotY + plotSchemHeight); } diff --git a/Core/src/main/java/com/plotsquared/core/generator/HybridUtils.java b/Core/src/main/java/com/plotsquared/core/generator/HybridUtils.java index f151c8ebd..46c506546 100644 --- a/Core/src/main/java/com/plotsquared/core/generator/HybridUtils.java +++ b/Core/src/main/java/com/plotsquared/core/generator/HybridUtils.java @@ -529,7 +529,7 @@ public class HybridUtils { Math.min(plotworld.PLOT_HEIGHT, Math.min(plotworld.WALL_HEIGHT, plotworld.ROAD_HEIGHT)) : plotworld.ROAD_HEIGHT; int sx = bot.getX() - plotworld.ROAD_WIDTH + 1; int sz = bot.getZ() + 1; - int sy = Settings.Schematics.PASTE_ROAD_ON_TOP ? schemY : plot.getArea().getMinBuildHeight(); + int sy = Settings.Schematics.PASTE_ROAD_ON_TOP ? schemY : plot.getArea().getMinGenHeight(); int ex = bot.getX(); int ez = top.getZ(); int ey = get_ey(plotworld, queue, sx, ex, sz, ez, sy);