mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-23 13:46:45 +01:00
Don't allow players to modify outside build height when using plot set / schematics.
- Also fixes schematic height issues
This commit is contained in:
parent
dc6d0e089f
commit
7343319fe6
@ -104,8 +104,8 @@ public class Save extends SubCommand {
|
|||||||
TaskManager.runTaskAsync(() -> {
|
TaskManager.runTaskAsync(() -> {
|
||||||
String time = (System.currentTimeMillis() / 1000) + "";
|
String time = (System.currentTimeMillis() / 1000) + "";
|
||||||
Location[] corners = plot.getCorners();
|
Location[] corners = plot.getCorners();
|
||||||
corners[0] = corners[0].withY(plot.getArea().getMinGenHeight());
|
corners[0] = corners[0].withY(plot.getArea().getMinBuildHeight());
|
||||||
corners[1] = corners[1].withY(plot.getArea().getMaxGenHeight());
|
corners[1] = corners[1].withY(plot.getArea().getMaxBuildHeight());
|
||||||
int size = (corners[1].getX() - corners[0].getX()) + 1;
|
int size = (corners[1].getX() - corners[0].getX()) + 1;
|
||||||
PlotId id = plot.getId();
|
PlotId id = plot.getId();
|
||||||
String world1 = plot.getArea().toString().replaceAll(";", "-")
|
String world1 = plot.getArea().toString().replaceAll(";", "-")
|
||||||
|
@ -150,8 +150,8 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
classicPlotWorld,
|
classicPlotWorld,
|
||||||
plot.getRegions(),
|
plot.getRegions(),
|
||||||
blocks,
|
blocks,
|
||||||
classicPlotWorld.getMinGenHeight() + (classicPlotWorld.PLOT_BEDROCK ? 1 : 0),
|
classicPlotWorld.getMinBuildHeight(),
|
||||||
classicPlotWorld.getMaxGenHeight(),
|
classicPlotWorld.getMaxBuildHeight(),
|
||||||
actor,
|
actor,
|
||||||
queue
|
queue
|
||||||
);
|
);
|
||||||
@ -182,7 +182,7 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
plot.getRegions(),
|
plot.getRegions(),
|
||||||
blocks,
|
blocks,
|
||||||
classicPlotWorld.PLOT_HEIGHT + 1,
|
classicPlotWorld.PLOT_HEIGHT + 1,
|
||||||
classicPlotWorld.getMaxGenHeight(),
|
classicPlotWorld.getMaxBuildHeight(),
|
||||||
actor,
|
actor,
|
||||||
queue
|
queue
|
||||||
);
|
);
|
||||||
@ -211,7 +211,7 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
classicPlotWorld,
|
classicPlotWorld,
|
||||||
plot.getRegions(),
|
plot.getRegions(),
|
||||||
blocks,
|
blocks,
|
||||||
classicPlotWorld.getMinGenHeight() + (classicPlotWorld.PLOT_BEDROCK ? 1 : 0),
|
classicPlotWorld.getMinBuildHeight(),
|
||||||
classicPlotWorld.PLOT_HEIGHT - 1,
|
classicPlotWorld.PLOT_HEIGHT - 1,
|
||||||
actor,
|
actor,
|
||||||
queue
|
queue
|
||||||
@ -288,7 +288,7 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int maxY = classicPlotWorld.getMaxGenHeight();
|
int maxY = classicPlotWorld.getMaxBuildHeight();
|
||||||
if (!plot.isMerged(Direction.NORTH)) {
|
if (!plot.isMerged(Direction.NORTH)) {
|
||||||
int z = bottom.getZ();
|
int z = bottom.getZ();
|
||||||
for (int x = bottom.getX(); x <= top.getX(); x++) {
|
for (int x = bottom.getX(); x <= top.getX(); x++) {
|
||||||
@ -386,11 +386,10 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int startYOffset = classicPlotWorld.PLOT_BEDROCK ? 1 : 0;
|
|
||||||
if (!plot.isMerged(Direction.NORTH)) {
|
if (!plot.isMerged(Direction.NORTH)) {
|
||||||
int z = bot.getZ();
|
int z = bot.getZ();
|
||||||
for (int x = bot.getX(); x < top.getX(); x++) {
|
for (int x = bot.getX(); x < top.getX(); x++) {
|
||||||
for (int y = classicPlotWorld.getMinGenHeight() + startYOffset; y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
for (int y = classicPlotWorld.getMaxBuildHeight(); y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
||||||
queue.setBlock(x, y, z, blocks);
|
queue.setBlock(x, y, z, blocks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -398,7 +397,7 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
if (!plot.isMerged(Direction.WEST)) {
|
if (!plot.isMerged(Direction.WEST)) {
|
||||||
int x = bot.getX();
|
int x = bot.getX();
|
||||||
for (int z = bot.getZ(); z < top.getZ(); z++) {
|
for (int z = bot.getZ(); z < top.getZ(); z++) {
|
||||||
for (int y = classicPlotWorld.getMinGenHeight() + startYOffset; y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
for (int y = classicPlotWorld.getMinBuildHeight(); y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
||||||
queue.setBlock(x, y, z, blocks);
|
queue.setBlock(x, y, z, blocks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -406,7 +405,7 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
if (!plot.isMerged(Direction.SOUTH)) {
|
if (!plot.isMerged(Direction.SOUTH)) {
|
||||||
int z = top.getZ();
|
int z = top.getZ();
|
||||||
for (int x = bot.getX(); x < top.getX() + (plot.isMerged(Direction.EAST) ? 0 : 1); x++) {
|
for (int x = bot.getX(); x < top.getX() + (plot.isMerged(Direction.EAST) ? 0 : 1); x++) {
|
||||||
for (int y = classicPlotWorld.getMinGenHeight() + startYOffset; y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
for (int y = classicPlotWorld.getMinBuildHeight(); y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
||||||
queue.setBlock(x, y, z, blocks);
|
queue.setBlock(x, y, z, blocks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -414,7 +413,7 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
if (!plot.isMerged(Direction.EAST)) {
|
if (!plot.isMerged(Direction.EAST)) {
|
||||||
int x = top.getX();
|
int x = top.getX();
|
||||||
for (int z = bot.getZ(); z < top.getZ() + (plot.isMerged(Direction.SOUTH) ? 0 : 1); z++) {
|
for (int z = bot.getZ(); z < top.getZ() + (plot.isMerged(Direction.SOUTH) ? 0 : 1); z++) {
|
||||||
for (int y = classicPlotWorld.getMinGenHeight() + startYOffset; y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
for (int y = classicPlotWorld.getMinBuildHeight(); y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
||||||
queue.setBlock(x, y, z, blocks);
|
queue.setBlock(x, y, z, blocks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2438,8 +2438,8 @@ public class Plot {
|
|||||||
return regions_cache;
|
return regions_cache;
|
||||||
}
|
}
|
||||||
if (!this.isMerged()) {
|
if (!this.isMerged()) {
|
||||||
Location pos1 = this.getBottomAbs();
|
Location pos1 = this.getBottomAbs().withY(getArea().getMinBuildHeight());
|
||||||
Location pos2 = this.getTopAbs();
|
Location pos2 = this.getTopAbs().withY(getArea().getMaxBuildHeight());
|
||||||
connected_cache = Sets.newHashSet(this);
|
connected_cache = Sets.newHashSet(this);
|
||||||
CuboidRegion rg = new CuboidRegion(pos1.getBlockVector3(), pos2.getBlockVector3());
|
CuboidRegion rg = new CuboidRegion(pos1.getBlockVector3(), pos2.getBlockVector3());
|
||||||
regions_cache = Collections.singleton(rg);
|
regions_cache = Collections.singleton(rg);
|
||||||
|
@ -676,6 +676,7 @@ public abstract class SchematicHandler {
|
|||||||
final int minX = minimum.getX();
|
final int minX = minimum.getX();
|
||||||
final int minZ = minimum.getZ();
|
final int minZ = minimum.getZ();
|
||||||
final int minY = minimum.getY();
|
final int minY = minimum.getY();
|
||||||
|
System.out.println(minY);
|
||||||
|
|
||||||
final int maxX = maximum.getX();
|
final int maxX = maximum.getX();
|
||||||
final int maxZ = maximum.getZ();
|
final int maxZ = maximum.getZ();
|
||||||
|
Loading…
Reference in New Issue
Block a user