mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-08-23 22:35:36 +02:00
Compare commits
2 Commits
main
...
fix/v7/faw
Author | SHA1 | Date | |
---|---|---|---|
![]() |
22974d6478 | ||
![]() |
4924ffe03b |
@@ -164,6 +164,9 @@ public abstract class ClassicPlotWorld extends SquarePlotWorld {
|
|||||||
: getMinBuildHeight();
|
: getMinBuildHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the lowest height of plot, road, and wall. Accounts for {@link Settings.Schematics#USE_WALL_IN_ROAD_SCHEM_HEIGHT}
|
||||||
|
*/
|
||||||
int schematicStartHeight() {
|
int schematicStartHeight() {
|
||||||
int plotRoadMin = Math.min(PLOT_HEIGHT, ROAD_HEIGHT);
|
int plotRoadMin = Math.min(PLOT_HEIGHT, ROAD_HEIGHT);
|
||||||
if (!Settings.Schematics.USE_WALL_IN_ROAD_SCHEM_HEIGHT) {
|
if (!Settings.Schematics.USE_WALL_IN_ROAD_SCHEM_HEIGHT) {
|
||||||
|
@@ -274,7 +274,8 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
SCHEM_Y = getMinGenHeight();
|
SCHEM_Y = getMinGenHeight();
|
||||||
plotY = 0;
|
plotY = 0;
|
||||||
} else if (!Settings.Schematics.PASTE_ON_TOP) {
|
} else if (!Settings.Schematics.PASTE_ON_TOP) {
|
||||||
SCHEM_Y = getMinGenHeight();
|
// Schematics should generate/be pasted from build height
|
||||||
|
SCHEM_Y = getMinBuildHeight();
|
||||||
plotY = 0;
|
plotY = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -291,18 +292,14 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
roadY = 0; // Road is the lowest schematic
|
roadY = 0; // Road is the lowest schematic
|
||||||
if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldGenHeight) {
|
if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldGenHeight) {
|
||||||
// Road is the lowest schematic. Normalize plotY to it.
|
// Road is the lowest schematic. Normalize plotY to it.
|
||||||
if (Settings.Schematics.PASTE_ON_TOP) {
|
plotY = (Settings.Schematics.PASTE_ON_TOP ? PLOT_HEIGHT : getMinBuildHeight()) - SCHEM_Y;
|
||||||
plotY = PLOT_HEIGHT - getMinGenHeight();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else if (!Settings.Schematics.PASTE_ROAD_ON_TOP) {
|
} else if (!Settings.Schematics.PASTE_ROAD_ON_TOP) {
|
||||||
roadY = 0;
|
roadY = 0;
|
||||||
SCHEM_Y = getMinGenHeight();
|
SCHEM_Y = getMinGenHeight();
|
||||||
if (schematic3 != null) {
|
if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldGenHeight) {
|
||||||
if (Settings.Schematics.PASTE_ON_TOP) {
|
// Road is the lowest schematic. Normalize plotY to it.
|
||||||
// Road is the lowest schematic. Normalize plotY to it.
|
plotY = (Settings.Schematics.PASTE_ON_TOP ? PLOT_HEIGHT : getMinBuildHeight()) - SCHEM_Y;
|
||||||
plotY = PLOT_HEIGHT - SCHEM_Y;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
roadY = minRoadWall - SCHEM_Y;
|
roadY = minRoadWall - SCHEM_Y;
|
||||||
|
@@ -68,6 +68,7 @@ import java.util.HashSet;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
@@ -529,7 +530,7 @@ public class HybridUtils {
|
|||||||
final QueueCoordinator queue = blockQueue.getNewQueue(worldUtil.getWeWorld(world));
|
final QueueCoordinator queue = blockQueue.getNewQueue(worldUtil.getWeWorld(world));
|
||||||
Location bot = plot.getBottomAbs().subtract(1, 0, 1);
|
Location bot = plot.getBottomAbs().subtract(1, 0, 1);
|
||||||
Location top = plot.getTopAbs();
|
Location top = plot.getTopAbs();
|
||||||
final HybridPlotWorld plotworld = (HybridPlotWorld) plot.getArea();
|
final HybridPlotWorld plotworld = Objects.requireNonNull((HybridPlotWorld) plot.getArea());
|
||||||
// Do not use plotworld#schematicStartHeight() here as we want to restore the pre 6.1.4 way of doing it if
|
// Do not use plotworld#schematicStartHeight() here as we want to restore the pre 6.1.4 way of doing it if
|
||||||
// USE_WALL_IN_ROAD_SCHEM_HEIGHT is false
|
// USE_WALL_IN_ROAD_SCHEM_HEIGHT is false
|
||||||
int schemY = Settings.Schematics.USE_WALL_IN_ROAD_SCHEM_HEIGHT ?
|
int schemY = Settings.Schematics.USE_WALL_IN_ROAD_SCHEM_HEIGHT ?
|
||||||
|
Reference in New Issue
Block a user