mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 21:26:45 +01:00
sorry for breaking roads
This commit is contained in:
parent
259fe94f83
commit
9225a13808
@ -28,10 +28,10 @@ import static com.github.intellectualsites.plotsquared.plot.util.ReflectionUtils
|
|||||||
ReflectionUtils.RefClass classChunk = getRefClass("{nms}.Chunk");
|
ReflectionUtils.RefClass classChunk = getRefClass("{nms}.Chunk");
|
||||||
ReflectionUtils.RefClass classCraftChunk = getRefClass("{cb}.CraftChunk");
|
ReflectionUtils.RefClass classCraftChunk = getRefClass("{cb}.CraftChunk");
|
||||||
this.methodGetHandleChunk = classCraftChunk.getMethod("getHandle").getRealMethod();
|
this.methodGetHandleChunk = classCraftChunk.getMethod("getHandle").getRealMethod();
|
||||||
this.mustSave = classChunk.getField("mustSave").getRealField();
|
|
||||||
try {
|
try {
|
||||||
} catch (Exception e) {
|
this.mustSave = classChunk.getField("mustSave").getRealField();
|
||||||
e.printStackTrace();
|
} catch (Throwable ignore) {
|
||||||
|
ignore.printStackTrace();
|
||||||
}
|
}
|
||||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||||
}
|
}
|
||||||
|
@ -150,15 +150,15 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
int plotY = PLOT_HEIGHT - SCHEM_Y;
|
int plotY = PLOT_HEIGHT - SCHEM_Y;
|
||||||
int roadY = ROAD_HEIGHT - SCHEM_Y;
|
int roadY = ROAD_HEIGHT - SCHEM_Y;
|
||||||
|
|
||||||
if (schematic3.getClipboard().getDimensions().getY() == 256) {
|
if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() == 256) {
|
||||||
SCHEM_Y = 0;
|
SCHEM_Y = 0;
|
||||||
plotY = 0;
|
plotY = 0;
|
||||||
roadY = ROAD_HEIGHT;
|
roadY = ROAD_HEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (schematic1.getClipboard().getDimensions().getY() == 256) {
|
if (schematic1 != null && schematic1.getClipboard().getDimensions().getY() == 256) {
|
||||||
SCHEM_Y = 0;
|
SCHEM_Y = 0;
|
||||||
if (schematic3.getClipboard().getDimensions().getY() != 256) {
|
if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != 256) {
|
||||||
plotY = PLOT_HEIGHT;
|
plotY = PLOT_HEIGHT;
|
||||||
}
|
}
|
||||||
roadY = 0;
|
roadY = 0;
|
||||||
@ -242,21 +242,17 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
// TODO: What? this.ROAD_BLOCK = BlockBucket.empty(); // PlotBlock.getEmptyData(this.ROAD_BLOCK); // PlotBlock.get(this.ROAD_BLOCK.id, (byte) 0);
|
// TODO: What? this.ROAD_BLOCK = BlockBucket.empty(); // PlotBlock.getEmptyData(this.ROAD_BLOCK); // PlotBlock.get(this.ROAD_BLOCK.id, (byte) 0);
|
||||||
|
|
||||||
BlockArrayClipboard blockArrayClipboard1 = schematic1.getClipboard();
|
BlockArrayClipboard blockArrayClipboard1 = schematic1.getClipboard();
|
||||||
BlockArrayClipboard blockArrayClipboard2 = schematic2.getClipboard();
|
|
||||||
|
|
||||||
BlockVector3 d1 = blockArrayClipboard1.getDimensions();
|
BlockVector3 d1 = blockArrayClipboard1.getDimensions();
|
||||||
short w1 = (short) d1.getX();
|
short w1 = (short) d1.getX();
|
||||||
short l1 = (short) d1.getZ();
|
short l1 = (short) d1.getZ();
|
||||||
short h1 = (short) d1.getY();
|
short h1 = (short) d1.getY();
|
||||||
BlockVector3 d2 = blockArrayClipboard2.getDimensions();
|
|
||||||
short w2 = (short) d2.getX();
|
BlockVector3 min = blockArrayClipboard1.getMinimumPoint();
|
||||||
short l2 = (short) d2.getZ();
|
for (short x = 0; x < w1; x++) {
|
||||||
short h2 = (short) d2.getY();
|
for (short z = 0; z < l1; z++) {
|
||||||
BlockVector3 min = blockArrayClipboard2.getMinimumPoint();
|
for (short y = 0; y < h1; y++) {
|
||||||
for (short x = 0; x < w2; x++) {
|
BaseBlock id = blockArrayClipboard1.getFullBlock(BlockVector3.at(x + min.getBlockX(), y + min.getBlockY(), z + min.getBlockZ()));
|
||||||
for (short z = 0; z < l2; z++) {
|
|
||||||
for (short y = 0; y < h2; y++) {
|
|
||||||
BaseBlock id = blockArrayClipboard2.getFullBlock(BlockVector3.at(x + min.getBlockX(), y + min.getBlockY(), z + min.getBlockZ()));
|
|
||||||
if (!id.getBlockType().getMaterial().isAir()) {
|
if (!id.getBlockType().getMaterial().isAir()) {
|
||||||
addOverlayBlock((short) (x - shift), (short) (y + roadY),
|
addOverlayBlock((short) (x - shift), (short) (y + roadY),
|
||||||
(short) (z + shift + oddshift), id, false, h1);
|
(short) (z + shift + oddshift), id, false, h1);
|
||||||
@ -266,11 +262,17 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
min = blockArrayClipboard1.getMinimumPoint();
|
|
||||||
|
BlockArrayClipboard blockArrayClipboard2 = schematic2.getClipboard();
|
||||||
|
BlockVector3 d2 = blockArrayClipboard2.getDimensions();
|
||||||
|
short w2 = (short) d2.getX();
|
||||||
|
short l2 = (short) d2.getZ();
|
||||||
|
short h2 = (short) d2.getY();
|
||||||
|
min = blockArrayClipboard2.getMinimumPoint();
|
||||||
for (short x = 0; x < w2; x++) {
|
for (short x = 0; x < w2; x++) {
|
||||||
for (short z = 0; z < l2; z++) {
|
for (short z = 0; z < l2; z++) {
|
||||||
for (short y = 0; y < h2; y++) {
|
for (short y = 0; y < h2; y++) {
|
||||||
BaseBlock id = blockArrayClipboard1.getFullBlock(BlockVector3.at(x + min.getBlockX(), y + min.getBlockY(), z + min.getBlockZ()));
|
BaseBlock id = blockArrayClipboard2.getFullBlock(BlockVector3.at(x + min.getBlockX(), y + min.getBlockY(), z + min.getBlockZ()));
|
||||||
if (!id.getBlockType().getMaterial().isAir()) {
|
if (!id.getBlockType().getMaterial().isAir()) {
|
||||||
addOverlayBlock((short) (x - shift), (short) (y + roadY),
|
addOverlayBlock((short) (x - shift), (short) (y + roadY),
|
||||||
(short) (z - shift), id, false, h2);
|
(short) (z - shift), id, false, h2);
|
||||||
|
Loading…
Reference in New Issue
Block a user