From 46a00357b3418eb817a79cf960f546cb4b894168 Mon Sep 17 00:00:00 2001 From: boy0001 Date: Mon, 15 Dec 2014 23:23:44 +1100 Subject: [PATCH] [NEEDS TESTING] [FIX] merging: roads, signs, bedrock --- .../com/intellectualcrafters/plot/commands/Merge.java | 3 +++ .../plot/generator/DefaultPlotManager.java | 9 ++++++++- .../com/intellectualcrafters/plot/util/PlotHelper.java | 9 ++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Merge.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Merge.java index c7c637750..c4d94fea7 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Merge.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Merge.java @@ -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); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/generator/DefaultPlotManager.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/generator/DefaultPlotManager.java index 97d4ae5fe..ba7c60c77 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/generator/DefaultPlotManager.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/generator/DefaultPlotManager.java @@ -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); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/util/PlotHelper.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/util/PlotHelper.java index 7b080e9d4..bb3c12067 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/util/PlotHelper.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/util/PlotHelper.java @@ -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) {