Mirror von
https://github.com/IntellectualSites/FastAsyncWorldEdit.git
synchronisiert 2024-11-03 01:50:07 +01:00
Clean up P2 v5 hook a little.
Should be a good step at removing any OOBs and incorrect-height-sets
Dieser Commit ist enthalten in:
Ursprung
c82fec931a
Commit
ef58cf567b
@ -115,17 +115,15 @@ public class FaweRegionManager extends RegionManager {
|
|||||||
final Pattern plotfloor = hybridPlotWorld.TOP_BLOCK.toPattern();
|
final Pattern plotfloor = hybridPlotWorld.TOP_BLOCK.toPattern();
|
||||||
final BiomeType biome = hybridPlotWorld.getPlotBiome();
|
final BiomeType biome = hybridPlotWorld.getPlotBiome();
|
||||||
|
|
||||||
BlockVector3 pos1 = plot.getBottomAbs().getBlockVector3();
|
BlockVector3 pos1 = BlockVector3.ZERO;
|
||||||
BlockVector3 pos2 = plot.getExtendedTopAbs().getBlockVector3();
|
BlockVector3 pos2 = BlockVector3.at(hybridPlotWorld.PLOT_WIDTH, 255, hybridPlotWorld.PLOT_WIDTH);
|
||||||
|
|
||||||
Region bedrockRegion = new CuboidRegion(pos1.withY(0), pos2.withY(0));
|
Region bedrockRegion = new CuboidRegion(pos1, pos2.withY(0));
|
||||||
Region fillingRegion = new CuboidRegion(pos1.withY(1), pos2.withY(hybridPlotWorld.PLOT_HEIGHT - 1));
|
Region fillingRegion = new CuboidRegion(pos1.withY(1), pos2.withY(hybridPlotWorld.PLOT_HEIGHT - 1));
|
||||||
Region floorRegion = new CuboidRegion(pos1.withY(hybridPlotWorld.PLOT_HEIGHT),
|
Region floorRegion = new CuboidRegion(pos1.withY(hybridPlotWorld.PLOT_HEIGHT), pos2.withY(hybridPlotWorld.PLOT_HEIGHT));
|
||||||
pos2.withY(hybridPlotWorld.PLOT_HEIGHT));
|
Region airRegion = new CuboidRegion(pos1.withY(hybridPlotWorld.PLOT_HEIGHT + 1), pos2.withY(manager.getWorldHeight()));
|
||||||
Region airRegion = new CuboidRegion(pos1.withY(hybridPlotWorld.PLOT_HEIGHT + 1),
|
|
||||||
pos2.withY(manager.getWorldHeight()));
|
|
||||||
|
|
||||||
Clipboard clipboard = new BlockArrayClipboard(new CuboidRegion(pos1.withY(0), pos2.withY(255)));
|
Clipboard clipboard = new BlockArrayClipboard(new CuboidRegion(pos1, pos2));
|
||||||
|
|
||||||
clipboard.setBlocks(bedrockRegion, bedrock);
|
clipboard.setBlocks(bedrockRegion, bedrock);
|
||||||
clipboard.setBlocks(fillingRegion, filling);
|
clipboard.setBlocks(fillingRegion, filling);
|
||||||
@ -137,7 +135,7 @@ public class FaweRegionManager extends RegionManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clipboard.paste(editSession, pos1, true, false, true);
|
clipboard.paste(editSession, plot.getBottomAbs().getBlockVector3().withY(0), true, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hybridPlotWorld.PLOT_SCHEMATIC) {
|
if (hybridPlotWorld.PLOT_SCHEMATIC) {
|
||||||
@ -172,8 +170,7 @@ public class FaweRegionManager extends RegionManager {
|
|||||||
//todo because of the following code this should proably be in the Bukkit module
|
//todo because of the following code this should proably be in the Bukkit module
|
||||||
World pos1World = BukkitAdapter.adapt(getWorld(pos1.getWorld()));
|
World pos1World = BukkitAdapter.adapt(getWorld(pos1.getWorld()));
|
||||||
World pos3World = BukkitAdapter.adapt(getWorld(pos3.getWorld()));
|
World pos3World = BukkitAdapter.adapt(getWorld(pos3.getWorld()));
|
||||||
WorldEdit.getInstance().getEditSessionFactory().getEditSession(
|
WorldEdit.getInstance().getEditSessionFactory().getEditSession(pos1World,-1);
|
||||||
pos1World,-1);
|
|
||||||
EditSession sessionA = new EditSessionBuilder(pos1World).checkMemory(false).fastmode(true).limitUnlimited().changeSetNull().autoQueue(false).build();
|
EditSession sessionA = new EditSessionBuilder(pos1World).checkMemory(false).fastmode(true).limitUnlimited().changeSetNull().autoQueue(false).build();
|
||||||
EditSession sessionB = new EditSessionBuilder(pos3World).checkMemory(false).fastmode(true).limitUnlimited().changeSetNull().autoQueue(false).build();
|
EditSession sessionB = new EditSessionBuilder(pos3World).checkMemory(false).fastmode(true).limitUnlimited().changeSetNull().autoQueue(false).build();
|
||||||
CuboidRegion regionA = new CuboidRegion(BlockVector3.at(pos1.getX(), pos1.getY(), pos1.getZ()), BlockVector3.at(pos2.getX(), pos2.getY(), pos2.getZ()));
|
CuboidRegion regionA = new CuboidRegion(BlockVector3.at(pos1.getX(), pos1.getY(), pos1.getZ()), BlockVector3.at(pos2.getX(), pos2.getY(), pos2.getZ()));
|
||||||
@ -246,11 +243,8 @@ public class FaweRegionManager extends RegionManager {
|
|||||||
TaskManager.IMP.async(() -> {
|
TaskManager.IMP.async(() -> {
|
||||||
synchronized (FaweRegionManager.class) {
|
synchronized (FaweRegionManager.class) {
|
||||||
World pos1World = BukkitAdapter.adapt(getWorld(pos1.getWorld()));
|
World pos1World = BukkitAdapter.adapt(getWorld(pos1.getWorld()));
|
||||||
try (EditSession editSession = new EditSessionBuilder(pos1World).checkMemory(false)
|
try (EditSession editSession = new EditSessionBuilder(pos1World).checkMemory(false).fastmode(true).limitUnlimited().changeSetNull().autoQueue(false).build()) {
|
||||||
.fastmode(true).limitUnlimited().changeSetNull().autoQueue(false).build()) {
|
CuboidRegion region = new CuboidRegion(BlockVector3.at(pos1.getX(), pos1.getY(), pos1.getZ()), BlockVector3.at(pos2.getX(), pos2.getY(), pos2.getZ()));
|
||||||
CuboidRegion region = new CuboidRegion(
|
|
||||||
BlockVector3.at(pos1.getX(), pos1.getY(), pos1.getZ()),
|
|
||||||
BlockVector3.at(pos2.getX(), pos2.getY(), pos2.getZ()));
|
|
||||||
editSession.regenerate(region);
|
editSession.regenerate(region);
|
||||||
editSession.flushQueue();
|
editSession.flushQueue();
|
||||||
}
|
}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren