From 4e3a927323f0acf360024aed6a59aecfadb7a73e Mon Sep 17 00:00:00 2001 From: MattBDev <4009945+MattBDev@users.noreply.github.com> Date: Fri, 17 May 2019 16:21:03 -0400 Subject: [PATCH] Modifications to the generator code --- .../plotsquared/bukkit/BukkitMain.java | 6 +- .../generator/DelegatePlotGenerator.java | 4 +- .../bukkit/util/block/BukkitLocalQueue.java | 77 +++---------------- .../plotsquared/plot/IPlotMain.java | 3 +- .../plotsquared/plot/PlotSquared.java | 2 +- .../plotsquared/plot/commands/Add.java | 12 +-- .../plotsquared/plot/commands/Area.java | 2 +- .../plotsquared/plot/commands/Trim.java | 8 +- .../plot/generator/ClassicPlotWorld.java | 4 +- .../plot/generator/GridPlotWorld.java | 3 +- .../plot/generator/HybridPlotWorld.java | 7 +- .../plot/generator/SquarePlotWorld.java | 3 +- .../plotsquared/plot/object/BlockBucket.java | 3 +- .../plotsquared/plot/object/PlotArea.java | 22 +----- .../plot/util/block/BasicLocalBlockQueue.java | 6 +- .../util/block/ScopedLocalBlockQueue.java | 7 +- 16 files changed, 57 insertions(+), 112 deletions(-) diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java index e473076ac..e7d67c3ef 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java @@ -53,6 +53,7 @@ import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.MetadataValue; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; import javax.annotation.Nullable; import java.io.File; @@ -564,7 +565,8 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain } @Override @Nullable - public final ChunkGenerator getDefaultWorldGenerator(final String worldName, final String id) { + public final ChunkGenerator getDefaultWorldGenerator(@NotNull final String worldName, + final String id) { final IndependentPlotGenerator result; if (id != null && id.equalsIgnoreCase("single")) { result = new SingleWorldGenerator(); @@ -681,7 +683,7 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain getServer().getPluginManager().registerEvents(new WorldEvents(), this); } - @Override public IndependentPlotGenerator getDefaultGenerator() { + @NotNull @Override public IndependentPlotGenerator getDefaultGenerator() { return new HybridGen(); } diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/generator/DelegatePlotGenerator.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/generator/DelegatePlotGenerator.java index 8c1d97947..762e809af 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/generator/DelegatePlotGenerator.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/generator/DelegatePlotGenerator.java @@ -18,6 +18,7 @@ import org.bukkit.block.Biome; import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.ChunkGenerator; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Range; import java.util.Random; @@ -73,7 +74,8 @@ import java.util.Random; Random random = new Random(MathMan.pair((short) chunkX, (short) chunkZ)); try { ChunkGenerator.BiomeGrid grid = new ChunkGenerator.BiomeGrid() { - @Override public void setBiome(int x, int z, Biome biome) { + @Override public void setBiome(@Range(from = 0, to = 15) int x, + @Range(from = 0, to = 15) int z, Biome biome) { result.setBiome(x, z, biome.name()); } diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/block/BukkitLocalQueue.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/block/BukkitLocalQueue.java index 483fb51c0..97dfff961 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/block/BukkitLocalQueue.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/block/BukkitLocalQueue.java @@ -6,7 +6,6 @@ import com.github.intellectualsites.plotsquared.plot.object.LegacyPlotBlock; import com.github.intellectualsites.plotsquared.plot.object.PlotBlock; import com.github.intellectualsites.plotsquared.plot.object.StringPlotBlock; import com.github.intellectualsites.plotsquared.plot.util.MainUtil; -import com.github.intellectualsites.plotsquared.plot.util.StringMan; import com.github.intellectualsites.plotsquared.plot.util.block.BasicLocalBlockQueue; import com.sk89q.jnbt.CompoundTag; import com.sk89q.worldedit.bukkit.BukkitAdapter; @@ -20,15 +19,10 @@ import org.bukkit.block.Biome; import org.bukkit.block.Block; import org.bukkit.block.data.BlockData; -import java.lang.reflect.Field; -import java.lang.reflect.Method; import java.util.Locale; public class BukkitLocalQueue extends BasicLocalBlockQueue { - private Field fieldNeighbors; - private Method chunkGetHandle; - public BukkitLocalQueue(String world) { super(world); } @@ -55,7 +49,11 @@ public class BukkitLocalQueue extends BasicLocalBlockQueue { @Override public void refreshChunk(int x, int z) { World worldObj = Bukkit.getWorld(getWorld()); - worldObj.refreshChunk(x, z); + if (worldObj != null) { + worldObj.refreshChunk(x, z); + } else { + PlotSquared.debug("Error Refreshing Chunk"); + } } @Override public void fixChunkLighting(int x, int z) { @@ -64,7 +62,11 @@ public class BukkitLocalQueue extends BasicLocalBlockQueue { @Override public final void regenChunk(int x, int z) { World worldObj = Bukkit.getWorld(getWorld()); - worldObj.regenerateChunk(x, z); + if (worldObj != null) { + worldObj.regenerateChunk(x, z); + } else { + PlotSquared.debug("Error Regenerating Chunk"); + } } @Override public final void setComponents(LocalChunk lc) { @@ -183,14 +185,12 @@ public class BukkitLocalQueue extends BasicLocalBlockQueue { World worldObj = Bukkit.getWorld(getWorld()); int bx = lc.getX() << 4; int bz = lc.getX() << 4; - String last = null; - Biome biome = null; for (int x = 0; x < lc.biomes.length; x++) { String[] biomes2 = lc.biomes[x]; if (biomes2 != null) { for (String biomeStr : biomes2) { if (biomeStr != null) { - biome = Biome.valueOf(biomeStr.toUpperCase()); + Biome biome = Biome.valueOf(biomeStr.toUpperCase()); worldObj.setBiome(bx, bz, biome); } } @@ -199,59 +199,4 @@ public class BukkitLocalQueue extends BasicLocalBlockQueue { } } - /** - * Exploiting a bug in the vanilla lighting algorithm for faster block placement - * - Could have been achieved without reflection by force unloading specific chunks - * - Much faster just setting the variable manually though - * - * @param chunk - * @return - */ - protected Object[] disableLighting(Chunk chunk) { - try { - if (chunkGetHandle == null) { - chunkGetHandle = chunk.getClass().getDeclaredMethod("getHandle"); - chunkGetHandle.setAccessible(true); - } - Object nmsChunk = chunkGetHandle.invoke(chunk); - if (fieldNeighbors == null) { - fieldNeighbors = nmsChunk.getClass().getDeclaredField("neighbors"); - fieldNeighbors.setAccessible(true); - } - Object value = fieldNeighbors.get(nmsChunk); - fieldNeighbors.set(nmsChunk, 0); - return new Object[] {nmsChunk, value}; - } catch (Throwable ignore) { - } - return null; - } - - protected void disableLighting(Object[] disableResult) { - if (disableResult != null) { - try { - fieldNeighbors.set(disableResult[0], 0); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - - protected void resetLighting(Object[] disableResult) { - if (disableResult != null) { - try { - fieldNeighbors.set(disableResult[0], disableResult[1]); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - protected void enableLighting(Object[] disableResult) { - if (disableResult != null) { - try { - fieldNeighbors.set(disableResult[0], 0x739C0); - } catch (Throwable ignore) { - } - } - } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/IPlotMain.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/IPlotMain.java index 6ca241dcd..549da8c05 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/IPlotMain.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/IPlotMain.java @@ -8,6 +8,7 @@ import com.github.intellectualsites.plotsquared.plot.object.BlockRegistry; import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; import com.github.intellectualsites.plotsquared.plot.util.*; import com.github.intellectualsites.plotsquared.plot.util.block.QueueProvider; +import org.jetbrains.annotations.NotNull; import java.io.File; import java.util.List; @@ -246,7 +247,7 @@ public interface IPlotMain extends ILogger { * * @return Default implementation generator */ - IndependentPlotGenerator getDefaultGenerator(); + @NotNull IndependentPlotGenerator getDefaultGenerator(); /** * Gets the class that will manage player titles. diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java index 7c94060fd..892a5bbe8 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java @@ -1333,8 +1333,8 @@ import java.util.zip.ZipInputStream; } String key = pair[0].toLowerCase(); String value = pair[1]; - String base = "worlds." + world + "."; try { + String base = "worlds." + world + "."; switch (key) { case "s": case "size": diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Add.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Add.java index 5741fb7ba..57c910ea6 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Add.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Add.java @@ -36,25 +36,25 @@ import java.util.UUID; checkTrue(args.length == 1, Captions.COMMAND_SYNTAX, getUsage()); final Set uuids = MainUtil.getUUIDsFromString(args[0]); checkTrue(!uuids.isEmpty(), Captions.INVALID_PLAYER, args[0]); - Iterator iter = uuids.iterator(); + Iterator iterator = uuids.iterator(); int size = plot.getTrusted().size() + plot.getMembers().size(); - while (iter.hasNext()) { - UUID uuid = iter.next(); + while (iterator.hasNext()) { + UUID uuid = iterator.next(); if (uuid == DBFunc.EVERYONE && !( Permissions.hasPermission(player, Captions.PERMISSION_TRUST_EVERYONE) || Permissions .hasPermission(player, Captions.PERMISSION_ADMIN_COMMAND_TRUST))) { MainUtil.sendMessage(player, Captions.INVALID_PLAYER, MainUtil.getName(uuid)); - iter.remove(); + iterator.remove(); continue; } if (plot.isOwner(uuid)) { MainUtil.sendMessage(player, Captions.ALREADY_OWNER, MainUtil.getName(uuid)); - iter.remove(); + iterator.remove(); continue; } if (plot.getMembers().contains(uuid)) { MainUtil.sendMessage(player, Captions.ALREADY_ADDED, MainUtil.getName(uuid)); - iter.remove(); + iterator.remove(); continue; } size += plot.getTrusted().contains(uuid) ? 0 : 1; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Area.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Area.java index bfd42f36e..ed6a4a3dc 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Area.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Area.java @@ -143,7 +143,6 @@ import java.util.Set; return true; } default: // Start creation - final SetupObject object = new SetupObject(); String[] split = args[1].split(":"); String id; if (split.length == 2) { @@ -151,6 +150,7 @@ import java.util.Set; } else { id = null; } + final SetupObject object = new SetupObject(); object.world = split[0]; final HybridPlotWorld pa = new HybridPlotWorld(object.world, id, PlotSquared.get().IMP.getDefaultGenerator(), null, null); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Trim.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Trim.java index 680a77552..3b3504c24 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Trim.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Trim.java @@ -197,11 +197,9 @@ import java.util.Set; } }; } else { - regenTask = new Runnable() { - @Override public void run() { - Trim.TASK = false; - player.sendMessage("Trim done!"); - } + regenTask = () -> { + Trim.TASK = false; + player.sendMessage("Trim done!"); }; } ChunkManager.manager.deleteRegionFiles(world, viable, regenTask); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotWorld.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotWorld.java index 755f694d6..6bf38d22c 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotWorld.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotWorld.java @@ -8,6 +8,7 @@ import com.github.intellectualsites.plotsquared.plot.config.Settings; import com.github.intellectualsites.plotsquared.plot.object.BlockBucket; import com.github.intellectualsites.plotsquared.plot.object.PlotBlock; import com.github.intellectualsites.plotsquared.plot.object.PlotId; +import org.jetbrains.annotations.NotNull; import javax.annotation.Nonnull; import java.lang.reflect.Field; @@ -32,7 +33,8 @@ import java.util.Locale; // PlotBlock.get((short) 155, (byte) 0); public boolean PLOT_BEDROCK = true; - public ClassicPlotWorld(String worldName, String id, IndependentPlotGenerator generator, + public ClassicPlotWorld(String worldName, String id, + @NotNull IndependentPlotGenerator generator, PlotId min, PlotId max) { super(worldName, id, generator, min, max); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/GridPlotWorld.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/GridPlotWorld.java index 34dbef203..b0cc10323 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/GridPlotWorld.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/GridPlotWorld.java @@ -2,12 +2,13 @@ package com.github.intellectualsites.plotsquared.plot.generator; import com.github.intellectualsites.plotsquared.plot.object.PlotArea; import com.github.intellectualsites.plotsquared.plot.object.PlotId; +import org.jetbrains.annotations.NotNull; public abstract class GridPlotWorld extends PlotArea { public short SIZE; - public GridPlotWorld(String worldName, String id, IndependentPlotGenerator generator, + public GridPlotWorld(String worldName, String id, @NotNull IndependentPlotGenerator generator, PlotId min, PlotId max) { super(worldName, id, generator, min, max); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotWorld.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotWorld.java index 880ddee35..e8f1ed06a 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotWorld.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotWorld.java @@ -21,6 +21,7 @@ import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.transform.AffineTransform; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.world.block.BaseBlock; +import org.jetbrains.annotations.NotNull; import java.io.File; import java.util.HashMap; @@ -37,7 +38,7 @@ public class HybridPlotWorld extends ClassicPlotWorld { public int SCHEM_Y; private Location SIGN_LOCATION; - public HybridPlotWorld(String worldName, String id, IndependentPlotGenerator generator, + public HybridPlotWorld(String worldName, String id, @NotNull IndependentPlotGenerator generator, PlotId min, PlotId max) { super(worldName, id, generator, min, max); } @@ -119,8 +120,8 @@ public class HybridPlotWorld extends ClassicPlotWorld { } try { setupSchematics(); - } catch (Exception ignored) { - ignored.printStackTrace(); + } catch (Exception event) { + event.printStackTrace(); PlotSquared.debug("&c - road schematics are disabled for this world."); } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/SquarePlotWorld.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/SquarePlotWorld.java index 5401d221a..c2d1ddb31 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/SquarePlotWorld.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/SquarePlotWorld.java @@ -3,6 +3,7 @@ package com.github.intellectualsites.plotsquared.plot.generator; import com.github.intellectualsites.plotsquared.configuration.ConfigurationSection; import com.github.intellectualsites.plotsquared.plot.PlotSquared; import com.github.intellectualsites.plotsquared.plot.object.PlotId; +import org.jetbrains.annotations.NotNull; public abstract class SquarePlotWorld extends GridPlotWorld { @@ -11,7 +12,7 @@ public abstract class SquarePlotWorld extends GridPlotWorld { public int ROAD_OFFSET_X = 0; public int ROAD_OFFSET_Z = 0; - public SquarePlotWorld(String worldName, String id, IndependentPlotGenerator generator, + public SquarePlotWorld(String worldName, String id, @NotNull IndependentPlotGenerator generator, PlotId min, PlotId max) { super(worldName, id, generator, min, max); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/BlockBucket.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/BlockBucket.java index 6900500f9..8dde0ee20 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/BlockBucket.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/BlockBucket.java @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NonNull; import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; import java.util.*; import java.util.Map.Entry; @@ -135,7 +136,7 @@ import java.util.Map.Entry; } } - @Override public Iterator iterator() { + @NotNull @Override public Iterator iterator() { return this.bucketIterator; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotArea.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotArea.java index 253d74b40..785b20e1e 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotArea.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotArea.java @@ -21,6 +21,7 @@ import com.github.intellectualsites.plotsquared.plot.util.block.GlobalBlockQueue import com.github.intellectualsites.plotsquared.plot.util.block.LocalBlockQueue; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; +import org.jetbrains.annotations.NotNull; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -76,11 +77,11 @@ public abstract class PlotArea { private QuadMap clusters; public PlotArea(@Nonnull final String worldName, @Nullable final String id, - @Nullable IndependentPlotGenerator generator, @Nullable final PlotId min, + @NotNull IndependentPlotGenerator generator, @Nullable final PlotId min, @Nullable final PlotId max) { this.worldname = worldName; this.id = id; - this.manager = generator != null ? generator.getNewPlotManager() : null; + this.manager = generator.getNewPlotManager(); this.generator = generator; if (min == null || max == null) { if (min != max) { @@ -94,28 +95,13 @@ public abstract class PlotArea { this.max = max; } this.worldhash = worldName.hashCode(); - if (Settings.Enabled_Components.PLOT_EXPIRY && generator != null) { + if (Settings.Enabled_Components.PLOT_EXPIRY) { blockBucketChunk = generator.generateBlockBucketChunk(this); } else { blockBucketChunk = null; } } - /** - * Create a new PlotArea object with no functionality/information. - * - Mainly used during startup before worlds are created as a temporary object - */ - public static PlotArea createGeneric(@Nonnull final String world) { - return new PlotArea(world, null, null, null, null) { - @Override public void loadConfiguration(ConfigurationSection config) { - } - - @Override public ConfigurationNode[] getSettingNodes() { - return null; - } - }; - } - public LocalBlockQueue getQueue(final boolean autoQueue) { return GlobalBlockQueue.IMP.getNewQueue(worldname, autoQueue); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/BasicLocalBlockQueue.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/BasicLocalBlockQueue.java index 6bad71051..e35e81f6b 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/BasicLocalBlockQueue.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/BasicLocalBlockQueue.java @@ -181,16 +181,16 @@ public abstract class BasicLocalBlockQueue extends LocalBlockQueue { } - public abstract class LocalChunk { + public abstract class LocalChunk { public final BasicLocalBlockQueue parent; public final int z; public final int x; - public T[] blocks; + public B[] blocks; public BaseBlock[][] baseblocks; public String[][] biomes; - public LocalChunk(BasicLocalBlockQueue parent, int x, int z) { + public LocalChunk(BasicLocalBlockQueue parent, int x, int z) { this.parent = parent; this.x = x; this.z = z; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/ScopedLocalBlockQueue.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/ScopedLocalBlockQueue.java index 352465aea..c9065f65e 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/ScopedLocalBlockQueue.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/ScopedLocalBlockQueue.java @@ -1,7 +1,12 @@ package com.github.intellectualsites.plotsquared.plot.util.block; import com.github.intellectualsites.plotsquared.plot.PlotSquared; -import com.github.intellectualsites.plotsquared.plot.object.*; +import com.github.intellectualsites.plotsquared.plot.object.Location; +import com.github.intellectualsites.plotsquared.plot.object.Plot; +import com.github.intellectualsites.plotsquared.plot.object.PlotArea; +import com.github.intellectualsites.plotsquared.plot.object.PlotBlock; +import com.github.intellectualsites.plotsquared.plot.object.PlotManager; +import com.github.intellectualsites.plotsquared.plot.object.RunnableVal3; import com.sk89q.worldedit.world.block.BaseBlock; public class ScopedLocalBlockQueue extends DelegateLocalBlockQueue {