mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-21 20:56:45 +01:00
Fixed unlink not adding roads correctly.
This commit is contained in:
parent
e1cfde520e
commit
241a70e648
@ -92,9 +92,6 @@ public class PlotHelper {
|
||||
int endx = Math.max(sx,ex)+1;
|
||||
int endz = Math.max(sz,ez)+1;
|
||||
|
||||
System.out.print("X "+startx+" | "+endx);
|
||||
System.out.print("Z "+startz+" | "+endz);
|
||||
|
||||
PlotWorld plotworld = PlotMain.getWorldSettings(world);
|
||||
|
||||
final short[] plotfloors = new short[plotworld.TOP_BLOCK.length];
|
||||
@ -656,30 +653,37 @@ public class PlotHelper {
|
||||
setSimpleCuboid(world, new Location(world, plotMinX, plotworld.PLOT_HEIGHT + 1, plotMinZ), new Location(world, min.getBlockX(), world.getMaxHeight(), min.getBlockZ()), (short) 0);
|
||||
setCuboid(world, new Location(world, plotMinX, 1, plotMinZ), new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT, min.getBlockZ()), filling, filling_data);
|
||||
setCuboid(world, new Location(world, plotMinX, plotworld.PLOT_HEIGHT, plotMinZ), new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT + 1, min.getBlockZ()), plotfloors, plotfloors_data);
|
||||
|
||||
setSimpleCuboid(world, new Location(world, min.getBlockX(), 0, plotMinZ), new Location(world, max.getBlockX(), 1, min.getBlockZ()), (short) 7);
|
||||
setSimpleCuboid(world, new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT + 1, plotMinZ), new Location(world, max.getBlockX(), world.getMaxHeight(), min.getBlockZ()), (short) 0);
|
||||
setCuboid(world, new Location(world, min.getBlockX(), 1, plotMinZ), new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT, min.getBlockZ()), filling, filling_data);
|
||||
setCuboid(world, new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT, plotMinZ), new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT + 1, min.getBlockZ()), plotfloors, plotfloors_data);
|
||||
|
||||
setSimpleCuboid(world, new Location(world, max.getBlockX(), 0, plotMinZ), new Location(world, plotMaxX, 1, min.getBlockZ()), (short) 7);
|
||||
setSimpleCuboid(world, new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT + 1, plotMinZ), new Location(world, plotMaxX, world.getMaxHeight(), min.getBlockZ()), (short) 0);
|
||||
setCuboid(world, new Location(world, max.getBlockX(), 1, plotMinZ), new Location(world, plotMaxX, plotworld.PLOT_HEIGHT, min.getBlockZ()), filling, filling_data);
|
||||
setCuboid(world, new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT, plotMinZ), new Location(world, plotMaxX, plotworld.PLOT_HEIGHT + 1, min.getBlockZ()), plotfloors, plotfloors_data);
|
||||
|
||||
setSimpleCuboid(world, new Location(world, plotMinX, 0, min.getBlockZ()), new Location(world, min.getBlockX(), 1, max.getBlockZ()), (short) 7);
|
||||
setSimpleCuboid(world, new Location(world, plotMinX, plotworld.PLOT_HEIGHT + 1, min.getBlockZ()), new Location(world, min.getBlockX(), world.getMaxHeight(), max.getBlockZ()), (short) 0);
|
||||
setCuboid(world, new Location(world, plotMinX, 1, min.getBlockZ()), new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT, max.getBlockZ()), filling, filling_data);
|
||||
setCuboid(world, new Location(world, plotMinX, plotworld.PLOT_HEIGHT, min.getBlockZ()), new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT + 1, max.getBlockZ()), plotfloors, plotfloors_data);
|
||||
|
||||
setSimpleCuboid(world, new Location(world, plotMinX, 0, max.getBlockZ()), new Location(world, min.getBlockX(), 1, plotMaxZ), (short) 7);
|
||||
setSimpleCuboid(world, new Location(world, plotMinX, plotworld.PLOT_HEIGHT + 1, max.getBlockZ()), new Location(world, min.getBlockX(), world.getMaxHeight(), plotMaxZ), (short) 0);
|
||||
setCuboid(world, new Location(world, plotMinX, 1, max.getBlockZ()), new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT, plotMaxZ), filling, filling_data);
|
||||
setCuboid(world, new Location(world, plotMinX, plotworld.PLOT_HEIGHT, max.getBlockZ()), new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT + 1, plotMaxZ), plotfloors, plotfloors_data);
|
||||
|
||||
setSimpleCuboid(world, new Location(world, min.getBlockX(), 0, max.getBlockZ()), new Location(world, max.getBlockX(), 1, plotMaxZ), (short) 7);
|
||||
setSimpleCuboid(world, new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT + 1, max.getBlockZ()), new Location(world, max.getBlockX(), world.getMaxHeight(), plotMaxZ), (short) 0);
|
||||
setCuboid(world, new Location(world, min.getBlockX(), 1, max.getBlockZ()), new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT, plotMaxZ), filling, filling_data);
|
||||
setCuboid(world, new Location(world, min.getBlockX(), plotworld.PLOT_HEIGHT, max.getBlockZ()), new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT + 1, plotMaxZ), plotfloors, plotfloors_data);
|
||||
|
||||
setSimpleCuboid(world, new Location(world, max.getBlockX(), 0, min.getBlockZ()), new Location(world, plotMaxX, 1, max.getBlockZ()), (short) 7);
|
||||
setSimpleCuboid(world, new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT + 1, max.getBlockZ()), new Location(world, plotMaxX, world.getMaxHeight(), plotMaxZ), (short) 0);
|
||||
setCuboid(world, new Location(world, max.getBlockX(), 1, min.getBlockZ()), new Location(world, plotMaxX, plotworld.PLOT_HEIGHT, max.getBlockZ()), filling, filling_data);
|
||||
setCuboid(world, new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT, min.getBlockZ()), new Location(world, plotMaxX, plotworld.PLOT_HEIGHT + 1, max.getBlockZ()), plotfloors, plotfloors_data);
|
||||
|
||||
setSimpleCuboid(world, new Location(world, max.getBlockX(), 0, max.getBlockZ()), new Location(world, plotMaxX, 1, plotMaxZ), (short) 7);
|
||||
setSimpleCuboid(world, new Location(world, max.getBlockX(), plotworld.PLOT_HEIGHT + 1, max.getBlockZ()), new Location(world, plotMaxX, world.getMaxHeight(), plotMaxZ), (short) 0);
|
||||
setCuboid(world, new Location(world, max.getBlockX(), 1, max.getBlockZ()), new Location(world, plotMaxX, plotworld.PLOT_HEIGHT, plotMaxZ), filling, filling_data);
|
||||
@ -693,8 +697,6 @@ public class PlotHelper {
|
||||
}
|
||||
|
||||
public static void setCuboid(World world, Location pos1, Location pos2, short[] id_l, short[] d_l) {
|
||||
System.out.print("S "+pos1.getBlockX()+" | "+pos1.getBlockY()+" | "+pos1.getBlockZ());
|
||||
System.out.print("E "+pos2.getBlockX()+" | "+pos2.getBlockY()+" | "+pos2.getBlockZ());
|
||||
if (!canSetFast) {
|
||||
for (int y = pos1.getBlockY(); y < pos2.getBlockY(); y++) {
|
||||
for (int x = pos1.getBlockX(); x < pos2.getBlockX(); x++) {
|
||||
|
@ -121,18 +121,15 @@ public class Unlink extends SubCommand {
|
||||
PlotId id = new PlotId(x,y);
|
||||
|
||||
if (lx) {
|
||||
System.out.print("LX "+id);
|
||||
setRoadX(world, id);
|
||||
|
||||
if (ly) {
|
||||
System.out.print("LXY "+id);
|
||||
setRoadXY(world, id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (ly) {
|
||||
System.out.print("LY "+id);
|
||||
setRoadY(world, id);
|
||||
}
|
||||
|
||||
@ -155,8 +152,8 @@ public class Unlink extends SubCommand {
|
||||
* @param id
|
||||
*/
|
||||
public void setRoadX(World w, PlotId id) {
|
||||
Location pos1 = PlotHelper.getPlotBottomLoc(w, id);
|
||||
Location pos2 = PlotHelper.getPlotTopLoc(w, id);
|
||||
Location pos1 = PlotHelper.getPlotBottomLocAbs(w, id);
|
||||
Location pos2 = PlotHelper.getPlotTopLocAbs(w, id);
|
||||
|
||||
int sx = pos2.getBlockX()+1;
|
||||
int ex = sx + pathsize - 1;
|
||||
@ -168,46 +165,47 @@ public class Unlink extends SubCommand {
|
||||
PlotHelper.setCuboid(w, new Location(w,sx,1,sz+1), new Location(w,sx+1,wallheight+1,ez), new short[] {wf_id}, new short[] {wf_v});
|
||||
PlotHelper.setCuboid(w, new Location(w,sx,wallheight+1,sz+1), new Location(w,sx+1,wallheight+2,ez), new short[] {w_id}, new short[] {w_v});
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w,ex,1,sz+1), new Location(w,ex+1,wallheight+1,ez), new short[] {w_id}, new short[] {w_v});
|
||||
PlotHelper.setCuboid(w, new Location(w,ex,wallheight+1,sz+1), new Location(w,ex+1,wallheight+2,ez), new short[] {wf_id}, new short[] {wf_v});
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w,sx+1,1,sz+1), new Location(w,ex,roadheight+1,ez), new short[] {f1_id}, new short[] {f1_v});
|
||||
}
|
||||
/**
|
||||
* Setting the road with the greatest Y value
|
||||
* @param world
|
||||
* @param id
|
||||
*/
|
||||
public void setRoadY(World w, PlotId id) {
|
||||
Location pos1 = PlotHelper.getPlotBottomLoc(w, id);
|
||||
Location pos2 = PlotHelper.getPlotTopLoc(w, id);
|
||||
|
||||
int sz = pos2.getBlockX()+1;
|
||||
int ez = sz + pathsize - 1;
|
||||
int sx = pos1.getBlockZ()-1;
|
||||
int ex = pos2.getBlockZ()+2;
|
||||
|
||||
PlotHelper.setSimpleCuboid(w, new Location(w,sx,Math.min(wallheight, roadheight)+1,sz+1), new Location(w,ex+1,257+1,ez), (short) 0);
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w,sx,1,sz+1), new Location(w,sx+1,wallheight+1,ez), new short[] {wf_id}, new short[] {wf_v});
|
||||
PlotHelper.setCuboid(w, new Location(w,sx,wallheight+1,sz+1), new Location(w,sx+1,wallheight+2,ez), new short[] {w_id}, new short[] {w_v});
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w,ex,1,sz+1), new Location(w,ex+1,wallheight+1,ez), new short[] {wf_id}, new short[] {wf_v});
|
||||
PlotHelper.setCuboid(w, new Location(w,ex,wallheight+1,sz+1), new Location(w,ex+1,wallheight+2,ez), new short[] {w_id}, new short[] {w_v});
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w,sx+1,1,sz+1), new Location(w,ex,roadheight+1,ez), new short[] {f1_id}, new short[] {f1_v});
|
||||
}
|
||||
/**
|
||||
* Setting the road with the greatest Y value
|
||||
* @param world
|
||||
* @param id
|
||||
*/
|
||||
|
||||
public void setRoadY(World w, PlotId id) {
|
||||
Location pos1 = PlotHelper.getPlotBottomLocAbs(w, id);
|
||||
Location pos2 = PlotHelper.getPlotTopLocAbs(w, id);
|
||||
|
||||
int sz = pos2.getBlockZ()+1;
|
||||
int ez = sz + pathsize - 1;
|
||||
int sx = pos1.getBlockX()-1;
|
||||
int ex = pos2.getBlockX()+2;
|
||||
|
||||
PlotHelper.setSimpleCuboid(w, new Location(w,sx,Math.min(wallheight, roadheight)+1,sz+1), new Location(w,ex+1,257+1,ez), (short) 0);
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w,sx+1,1,sz), new Location(w,ex,wallheight+1,sz+1), new short[] {wf_id}, new short[] {wf_v});
|
||||
PlotHelper.setCuboid(w, new Location(w,sx+1,wallheight+1,sz), new Location(w,ex,wallheight+2,sz+1), new short[] {w_id}, new short[] {w_v});
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w,sx+1,1,sz), new Location(w,ex,wallheight+1,sz+1), new short[] {wf_id}, new short[] {wf_v});
|
||||
PlotHelper.setCuboid(w, new Location(w,sx+1,wallheight+1,ez), new Location(w,ex,wallheight+2,ez+1), new short[] {w_id}, new short[] {w_v});
|
||||
|
||||
PlotHelper.setCuboid(w, new Location(w,sx+1,1,sz+1), new Location(w,ex,roadheight+1,ez), new short[] {f1_id}, new short[] {f1_v});
|
||||
}
|
||||
/**
|
||||
* Setting the intersection with the greatest X and Y value
|
||||
* @param world
|
||||
* @param id
|
||||
*/
|
||||
public void setRoadXY(World w, PlotId id) {
|
||||
Location pos2 = PlotHelper.getPlotTopLoc(w, id);
|
||||
Location pos2 = PlotHelper.getPlotTopLocAbs(w, id);
|
||||
|
||||
int sx = pos2.getBlockX()+2;
|
||||
int sx = pos2.getBlockX()+1;
|
||||
int ex = sx + pathsize - 1;
|
||||
int sz = pos2.getBlockZ()+2;
|
||||
int sz = pos2.getBlockZ()+1;
|
||||
int ez = sz + pathsize - 1;
|
||||
|
||||
PlotHelper.setSimpleCuboid(w, new Location(w,sx,roadheight+1,sz+1), new Location(w,ex+1,257+1,ez), (short) 0);
|
||||
|
Loading…
Reference in New Issue
Block a user