mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-26 12:35:15 +01:00
[NEEDS TESTING] [FIX] merging: roads, signs, bedrock
This commit is contained in:
parent
439a5da294
commit
46a00357b3
@ -157,6 +157,9 @@ public class Merge extends SubCommand {
|
||||
}
|
||||
PlayerFunctions.sendMessage(plr, "&cPlots have been merged");
|
||||
PlotHelper.mergePlots(world, plots);
|
||||
|
||||
PlotHelper.setSign(world, plr.getName(), plot);
|
||||
|
||||
if (PlotHelper.canSetFast) {
|
||||
SetBlockFast.update(plr);
|
||||
}
|
||||
|
@ -662,6 +662,8 @@ public class DefaultPlotManager extends PlotManager {
|
||||
|
||||
PlotHelper.setSimpleCuboid(w, new Location(w, sx, Math.min(dpw.WALL_HEIGHT, dpw.ROAD_HEIGHT) + 1, sz + 1), new Location(w, ex + 1, 257 + 1, ez), new PlotBlock((short) 0, (byte) 0));
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w, sx, 1, sz + 1), new Location(w, ex + 1, dpw.PLOT_HEIGHT, ez), new PlotBlock((short) 7, (byte) 0));
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w, sx, 1, sz + 1), new Location(w, sx + 1, dpw.WALL_HEIGHT + 1, ez), dpw.WALL_FILLING);
|
||||
PlotHelper.setCuboid(w, new Location(w, sx, dpw.WALL_HEIGHT + 1, sz + 1), new Location(w, sx + 1, dpw.WALL_HEIGHT + 2, ez), dpw.WALL_BLOCK);
|
||||
|
||||
@ -685,9 +687,11 @@ public class DefaultPlotManager extends PlotManager {
|
||||
final int ez = (sz + dpw.ROAD_WIDTH) - 1;
|
||||
final int sx = pos1.getBlockX() - 1;
|
||||
final int ex = pos2.getBlockX() + 2;
|
||||
|
||||
|
||||
PlotHelper.setSimpleCuboid(w, new Location(w, sx, Math.min(dpw.WALL_HEIGHT, dpw.ROAD_HEIGHT) + 1, sz + 1), new Location(w, ex + 1, 257, ez), new PlotBlock((short) 0, (byte) 0));
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w, sx + 1, 0, sz), new Location(w, ex, 1, ez + 1), new PlotBlock((short) 7, (byte) 0));
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w, sx + 1, 1, sz), new Location(w, ex, dpw.WALL_HEIGHT + 1, sz + 1), dpw.WALL_FILLING);
|
||||
PlotHelper.setCuboid(w, new Location(w, sx + 1, dpw.WALL_HEIGHT + 1, sz), new Location(w, ex, dpw.WALL_HEIGHT + 2, sz + 1), dpw.WALL_BLOCK);
|
||||
|
||||
@ -712,6 +716,7 @@ public class DefaultPlotManager extends PlotManager {
|
||||
final int ez = (sz + dpw.ROAD_WIDTH) - 1;
|
||||
|
||||
PlotHelper.setSimpleCuboid(w, new Location(w, sx, dpw.ROAD_HEIGHT + 1, sz + 1), new Location(w, ex + 1, 257, ez), new PlotBlock((short) 0, (byte) 0));
|
||||
PlotHelper.setCuboid(w, new Location(w, sx + 1, 0, sz + 1), new Location(w, ex, 1, ez), new PlotBlock((short) 7, (byte) 0));
|
||||
PlotHelper.setCuboid(w, new Location(w, sx + 1, 1, sz + 1), new Location(w, ex, dpw.ROAD_HEIGHT + 1, ez), dpw.ROAD_BLOCK);
|
||||
|
||||
return true;
|
||||
@ -731,6 +736,7 @@ public class DefaultPlotManager extends PlotManager {
|
||||
final int ez = pos2.getBlockZ() + 1;
|
||||
|
||||
PlotHelper.setSimpleCuboid(w, new Location(w, sx, Math.min(dpw.PLOT_HEIGHT, dpw.ROAD_HEIGHT) + 1, sz), new Location(w, ex + 1, 257, ez + 1), new PlotBlock((short) 0, (byte) 0));
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w, sx, 1, sz), new Location(w, ex + 1, dpw.PLOT_HEIGHT, ez + 1), dpw.MAIN_BLOCK);
|
||||
PlotHelper.setCuboid(w, new Location(w, sx, dpw.PLOT_HEIGHT, sz), new Location(w, ex + 1, dpw.PLOT_HEIGHT + 1, ez + 1), dpw.TOP_BLOCK);
|
||||
|
||||
@ -751,6 +757,7 @@ public class DefaultPlotManager extends PlotManager {
|
||||
final int ex = pos2.getBlockX() + 1;
|
||||
|
||||
PlotHelper.setSimpleCuboid(w, new Location(w, sx, Math.min(dpw.PLOT_HEIGHT, dpw.ROAD_HEIGHT) + 1, sz), new Location(w, ex + 1, 257, ez + 1), new PlotBlock((short) 0, (byte) 0));
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w, sx, 1, sz), new Location(w, ex + 1, dpw.PLOT_HEIGHT, ez + 1), dpw.MAIN_BLOCK);
|
||||
PlotHelper.setCuboid(w, new Location(w, sx, dpw.PLOT_HEIGHT, sz), new Location(w, ex + 1, dpw.PLOT_HEIGHT + 1, ez + 1), dpw.TOP_BLOCK);
|
||||
|
||||
|
@ -141,9 +141,13 @@ public class PlotHelper {
|
||||
final boolean ly = y < pos2.y;
|
||||
|
||||
final PlotId id = new PlotId(x, y);
|
||||
|
||||
final Plot plot = PlotMain.getPlots(world).get(id);
|
||||
|
||||
Plot plot2 = null;
|
||||
|
||||
removeSign(world, plot);
|
||||
|
||||
if (lx) {
|
||||
if (ly) {
|
||||
if (!plot.settings.getMerged(1) || !plot.settings.getMerged(2)) {
|
||||
@ -179,6 +183,7 @@ public class PlotHelper {
|
||||
}
|
||||
|
||||
manager.finishPlotMerge(world, plotworld, plotIds);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -245,7 +250,9 @@ public class PlotHelper {
|
||||
final PlotWorld plotworld = PlotMain.getWorldSettings(world);
|
||||
final Location loc = manager.getSignLoc(world, plotworld, p);
|
||||
final Block bs = loc.getBlock();
|
||||
bs.setType(Material.AIR);
|
||||
if (bs.getType() != Material.WALL_SIGN) {
|
||||
bs.setType(Material.AIR);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setSign(final Player player, final Plot p) {
|
||||
|
Loading…
Reference in New Issue
Block a user