diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/v1_13_1/Spigot_v1_13_R2.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/v1_13_1/Spigot_v1_13_R2.java index 237c67717..a8be7dc4e 100644 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/v1_13_1/Spigot_v1_13_R2.java +++ b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/v1_13_1/Spigot_v1_13_R2.java @@ -55,6 +55,7 @@ import javax.annotation.Nullable; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.*; +import java.util.function.Consumer; import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -87,6 +88,20 @@ public final class Spigot_v1_13_R2 extends CachedBukkitAdapter implements Bukkit nbtCreateTagMethod.setAccessible(true); } + private int[] idbToStateOrdinal; + + private boolean init() { + if (idbToStateOrdinal != null) return false; + idbToStateOrdinal = new int[Block.REGISTRY_ID.a()]; // size + for (int i = 0; i < idbToStateOrdinal.length; i++) { + BlockState state = BlockTypes.states[i]; + BlockMaterial_1_13 material = (BlockMaterial_1_13) state.getMaterial(); + int id = Block.REGISTRY_ID.getId(material.getState()); + idbToStateOrdinal[id] = state.getOrdinal(); + } + return true; + } + /** * Read the given NBT data into the given tile entity. * @@ -492,20 +507,6 @@ public final class Spigot_v1_13_R2 extends CachedBukkitAdapter implements Bukkit } } - private int[] idbToStateOrdinal; - - private boolean init() { - if (idbToStateOrdinal != null) return false; - idbToStateOrdinal = new int[Block.REGISTRY_ID.a()]; // size - for (int i = 0; i < idbToStateOrdinal.length; i++) { - BlockState state = BlockTypes.states[i]; - BlockMaterial_1_13 material = (BlockMaterial_1_13) state.getMaterial(); - int id = Block.REGISTRY_ID.getId(material.getState()); - idbToStateOrdinal[id] = state.getOrdinal(); - } - return true; - } - @Override public BlockState adapt(BlockData blockData) { try { diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitChunk_All.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitChunk_All.java index a0b1bab0d..ffba5fc6c 100644 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitChunk_All.java +++ b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitChunk_All.java @@ -2,6 +2,7 @@ package com.boydti.fawe.bukkit.v0; import com.boydti.fawe.Fawe; import com.boydti.fawe.FaweCache; +import com.boydti.fawe.config.Settings; import com.boydti.fawe.example.IntFaweChunk; import com.boydti.fawe.object.FaweChunk; import com.boydti.fawe.object.FaweQueue; @@ -92,9 +93,9 @@ public class BukkitChunk_All extends IntFaweChunk { @Override public FaweChunk call() { long start = System.currentTimeMillis(); - int recommended = 25 + BukkitQueue_All.ALLOCATE; + int recommended = 25 + Settings.IMP.QUEUE.EXTRA_TIME_MS; boolean more = true; - final BukkitQueue_All parent = (BukkitQueue_All) getParent(); + final BukkitQueue_All parent = getParent(); BukkitImplAdapter adapter = BukkitQueue_0.getAdapter(); final Chunk chunk = getChunk(); Object[] disableResult = parent.disableLighting(chunk); @@ -183,8 +184,6 @@ public class BukkitChunk_All extends IntFaweChunk { } } } - - } else if (index != 0) { if (place) { layer--; @@ -336,7 +335,7 @@ public class BukkitChunk_All extends IntFaweChunk { } break; } - if (checkTime && System.currentTimeMillis() - start > recommended) { + if (System.currentTimeMillis() - start > recommended) { index++; break mainloop; } diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_All.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_All.java index ba6feb014..bdb0dff98 100644 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_All.java +++ b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_All.java @@ -33,27 +33,18 @@ import org.bukkit.block.data.BlockData; public class BukkitQueue_All extends BukkitQueue_0 { - public static int ALLOCATE; private ConcurrentMap chunkCache = new MapMaker() .weakValues() .makeMap(); public BukkitQueue_All(com.sk89q.worldedit.world.World world) { super(world); - if (Settings.IMP.QUEUE.EXTRA_TIME_MS != Integer.MIN_VALUE) { - ALLOCATE = Settings.IMP.QUEUE.EXTRA_TIME_MS; - Settings.IMP.QUEUE.EXTRA_TIME_MS = Integer.MIN_VALUE; - Settings.IMP.QUEUE.PARALLEL_THREADS = 1; - } + Settings.IMP.QUEUE.PARALLEL_THREADS = 1; } public BukkitQueue_All(String world) { super(world); - if (Settings.IMP.QUEUE.EXTRA_TIME_MS != Integer.MIN_VALUE) { - ALLOCATE = Settings.IMP.QUEUE.EXTRA_TIME_MS; - Settings.IMP.QUEUE.EXTRA_TIME_MS = Integer.MIN_VALUE; - Settings.IMP.QUEUE.PARALLEL_THREADS = 1; - } + Settings.IMP.QUEUE.PARALLEL_THREADS = 1; } @Override diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitAdapter.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitAdapter.java index 480dea5cd..885a961b3 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitAdapter.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitAdapter.java @@ -19,16 +19,12 @@ package com.sk89q.worldedit.bukkit; -import com.bekvon.bukkit.residence.commands.material; -import com.sk89q.worldedit.NotABlockException; import com.sk89q.worldedit.Vector; -import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.blocks.BaseItemStack; import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter; import com.sk89q.worldedit.bukkit.adapter.IBukkitAdapter; import com.sk89q.worldedit.bukkit.adapter.SimpleBukkitAdapter; import com.sk89q.worldedit.entity.Entity; -import com.sk89q.worldedit.extension.input.ParserContext; import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockState; @@ -36,18 +32,13 @@ import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.entity.EntityType; -import com.sk89q.worldedit.world.entity.EntityTypes; import com.sk89q.worldedit.world.gamemode.GameMode; -import com.sk89q.worldedit.world.gamemode.GameModes; import com.sk89q.worldedit.world.item.ItemType; -import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.data.BlockData; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import static com.google.common.base.Preconditions.checkNotNull; - /** * Adapts between Bukkit and WorldEdit equivalent objects. */ diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitEntityProperties.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitEntityProperties.java index 0e20172bd..02521e87b 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitEntityProperties.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitEntityProperties.java @@ -20,9 +20,9 @@ package com.sk89q.worldedit.bukkit; import com.sk89q.worldedit.entity.metadata.EntityProperties; -import com.sk89q.worldedit.util.Enums; import org.bukkit.entity.Ambient; import org.bukkit.entity.Animals; +import org.bukkit.entity.ArmorStand; import org.bukkit.entity.Boat; import org.bukkit.entity.ComplexEntityPart; import org.bukkit.entity.Entity; @@ -46,9 +46,6 @@ import static com.google.common.base.Preconditions.checkNotNull; class BukkitEntityProperties implements EntityProperties { - private static final org.bukkit.entity.EntityType armorStandType = - Enums.findByValue(org.bukkit.entity.EntityType.class, "ARMOR_STAND"); - private final Entity entity; BukkitEntityProperties(Entity entity) { @@ -143,7 +140,7 @@ class BukkitEntityProperties implements EntityProperties { @Override public boolean isArmorStand() { - return entity.getType() == armorStandType; + return entity instanceof ArmorStand; } @Override diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayerBlockBag.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayerBlockBag.java index 2d4c64582..e69eabe5f 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayerBlockBag.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayerBlockBag.java @@ -22,10 +22,8 @@ package com.sk89q.worldedit.bukkit; import com.sk89q.worldedit.blocks.BaseItem; import com.sk89q.worldedit.blocks.BaseItemStack; import com.sk89q.worldedit.extent.inventory.*; -import com.sk89q.worldedit.world.block.BlockState; -import com.sk89q.worldedit.world.block.BlockStateHolder; -import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.util.Location; +import com.sk89q.worldedit.world.block.BlockState; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index 8a564907e..93ee3dab6 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -153,11 +153,10 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter WorldEdit worldEdit = WorldEdit.getInstance(); - loadAdapter(); // Need an adapter to work with special blocks with NBT data - // Setup platform server = new BukkitServerInterface(this, getServer()); worldEdit.getPlatformManager().register(server); + loadAdapter(); // Need an adapter to work with special blocks with NBT data worldEdit.loadMappings(); loadConfig(); // Load configuration diff --git a/worldedit-core/build.gradle b/worldedit-core/build.gradle index def65df0e..91713b7cd 100644 --- a/worldedit-core/build.gradle +++ b/worldedit-core/build.gradle @@ -15,7 +15,9 @@ dependencies { // Fawe depends compile 'org.yaml:snakeyaml:1.19' compile 'net.fabiozumbi12:redprotect:1.9.6' - compile group: "com.plotsquared", name: "plotsquared-api", version: "latest" + compile ("com.plotsquared:plotsquared-api:latest") { + transitive = false + } // compile 'org.primesoft:BlocksHub:2.0' compile 'com.github.luben:zstd-jni:1.1.1' compile 'co.aikar:fastutil-lite:1.0' diff --git a/worldedit-core/src/main/java/com/boydti/fawe/util/SetQueue.java b/worldedit-core/src/main/java/com/boydti/fawe/util/SetQueue.java index ca0864e21..536f3202a 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/util/SetQueue.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/util/SetQueue.java @@ -157,7 +157,7 @@ public class SetQueue { return; } - long time = Settings.IMP.QUEUE.EXTRA_TIME_MS + currentAllocate - System.currentTimeMillis() + now; + long time = (long) Settings.IMP.QUEUE.EXTRA_TIME_MS + currentAllocate - System.currentTimeMillis() + now; // Disable the async catcher as it can't discern async vs parallel boolean parallel = Settings.IMP.QUEUE.PARALLEL_THREADS > 1; queue.startSet(parallel); diff --git a/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/Injector.java b/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/Injector.java index 4978e8eeb..0ac9fb166 100644 --- a/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/Injector.java +++ b/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/Injector.java @@ -35,6 +35,6 @@ public interface Injector { * @throws InstantiationException thrown on injection fault * @throws InvocationTargetException thrown on injection fault */ - public Object getInstance(Class cls) throws InvocationTargetException, IllegalAccessException, InstantiationException; + Object getInstance(Class cls) throws InvocationTargetException, IllegalAccessException, InstantiationException; } diff --git a/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/Logging.java b/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/Logging.java index dc64b5e16..d8d87dcc0 100644 --- a/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/Logging.java +++ b/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/Logging.java @@ -31,7 +31,7 @@ import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface Logging { - public enum LogMode { + enum LogMode { /** * Player position */ diff --git a/worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLNode.java b/worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLNode.java index 22b09cd48..db61b1dd0 100644 --- a/worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLNode.java +++ b/worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLNode.java @@ -150,7 +150,7 @@ public class YAMLNode { return; } - if (o == null || !(o instanceof Map)) { + if (!(o instanceof Map)) { // This will override existing configuration data! o = new LinkedHashMap(); node.put(parts[i], o); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/CuboidClipboard.java b/worldedit-core/src/main/java/com/sk89q/worldedit/CuboidClipboard.java index 3441b83b9..930f0763a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/CuboidClipboard.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/CuboidClipboard.java @@ -19,10 +19,8 @@ package com.sk89q.worldedit; -import com.boydti.fawe.object.IntegerTrio; import com.boydti.fawe.object.schematic.Schematic; import com.boydti.fawe.util.MainUtil; -import com.sk89q.jnbt.CompoundTag; import com.sk89q.worldedit.blocks.BaseBlock; import com.sk89q.worldedit.command.ClipboardCommands; import com.sk89q.worldedit.command.FlattenedClipboardTransform; @@ -34,10 +32,8 @@ import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat; import com.sk89q.worldedit.function.operation.ForwardExtentCopy; import com.sk89q.worldedit.function.operation.Operations; import com.sk89q.worldedit.math.transform.AffineTransform; -import com.sk89q.worldedit.math.transform.Transform; import com.sk89q.worldedit.regions.CuboidRegion; import com.sk89q.worldedit.regions.Region; -import com.sk89q.worldedit.schematic.SchematicFormat; import com.sk89q.worldedit.util.Countable; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.world.DataException; @@ -48,8 +44,9 @@ import com.sk89q.worldedit.world.registry.LegacyMapper; import java.io.File; import java.io.IOException; -import java.util.*; -import java.util.function.Consumer; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; import static com.google.common.base.Preconditions.checkNotNull; @@ -102,6 +99,11 @@ public class CuboidClipboard { this.clipboard = this.init(Vector.ZERO, Vector.ZERO); } + public CuboidClipboard(BlockArrayClipboard clipboard) { + this.clipboard = clipboard; + this.size = clipboard.getDimensions(); + } + /** * Constructs the clipboard. * @@ -326,25 +328,6 @@ public class CuboidClipboard { paste(editSession, newOrigin, noAir, false); } - /** - * Paste the stored entities to the given position. - * - * @param newOrigin the new origin - * @return a list of entities that were pasted - */ - public LocalEntity[] pasteEntities(Vector newOrigin) { - return new LocalEntity[0]; - } - - /** - * Store an entity. - * - * @param entity the entity - */ - public void storeEntity(LocalEntity entity) { - - } - /** * Get the block at the given position. *

@@ -438,7 +421,7 @@ public class CuboidClipboard { * @param path the path to the file to save * @throws IOException thrown on I/O error * @throws DataException thrown on error writing the data for other reasons - * @deprecated use {@link SchematicFormat#MCEDIT} + * @deprecated use {@link ClipboardFormat#SCHEMATIC} */ @Deprecated public void saveSchematic(File path) throws IOException, DataException { @@ -460,12 +443,12 @@ public class CuboidClipboard { * @return a clipboard * @throws IOException thrown on I/O error * @throws DataException thrown on error writing the data for other reasons - * @deprecated use {@link SchematicFormat#MCEDIT} + * @deprecated use {@link ClipboardFormat#SCHEMATIC} */ @Deprecated public static CuboidClipboard loadSchematic(File path) throws DataException, IOException { checkNotNull(path); - return SchematicFormat.MCEDIT.load(path); + return new CuboidClipboard((Vector) ClipboardFormat.SCHEMATIC.load(path).getClipboard()); } /** @@ -489,7 +472,6 @@ public class CuboidClipboard { * * @return a block distribution */ - // TODO reduce code duplication public List> getBlockDistributionWithData() { List> distribution = new ArrayList<>(); List> distr = clipboard.getBlockDistributionWithData(clipboard.getRegion()); @@ -498,17 +480,4 @@ public class CuboidClipboard { } return distribution; } - - /** - * Stores a copied entity. - */ - private class CopiedEntity { - private final LocalEntity entity; - private final Vector relativePosition; - - private CopiedEntity(LocalEntity entity) { - this.entity = entity; - this.relativePosition = entity.getPosition().getPosition().subtract(getOrigin()); - } - } } \ No newline at end of file diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java b/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java index ba359ed6a..b9ecc05b3 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java @@ -44,6 +44,7 @@ import com.boydti.fawe.wrappers.WorldWrapper; import com.google.common.base.Supplier; import com.sk89q.jnbt.CompoundTag; import com.sk89q.worldedit.blocks.BaseBlock; +import com.sk89q.worldedit.function.mask.*; import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.blocks.BaseItemStack; import com.sk89q.worldedit.entity.BaseEntity; @@ -62,7 +63,6 @@ import com.sk89q.worldedit.function.RegionMaskingFilter; import com.sk89q.worldedit.function.block.BlockReplace; import com.sk89q.worldedit.function.block.Naturalizer; import com.sk89q.worldedit.function.generator.GardenPatchGenerator; -import com.sk89q.worldedit.function.mask.*; import com.sk89q.worldedit.function.operation.ChangeSetExecutor; import com.sk89q.worldedit.function.operation.ForwardExtentCopy; import com.sk89q.worldedit.function.operation.Operations; @@ -92,8 +92,24 @@ import com.sk89q.worldedit.util.eventbus.EventBus; import com.sk89q.worldedit.world.SimpleWorld; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.biome.BaseBiome; -import com.sk89q.worldedit.world.block.*; import com.sk89q.worldedit.world.weather.WeatherType; +import com.sk89q.worldedit.world.block.BlockCategories; +import com.sk89q.worldedit.world.block.BlockState; +import com.sk89q.worldedit.world.block.BlockStateHolder; +import com.sk89q.worldedit.world.block.BlockType; +import com.sk89q.worldedit.world.block.BlockTypes; +import com.sk89q.worldedit.world.registry.LegacyMapper; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; import java.util.*; import java.util.concurrent.ThreadLocalRandom; @@ -1593,6 +1609,35 @@ public class EditSession extends AbstractDelegateExtent implements HasFaweQueue, return this.changes = visitor.getAffected(); } + /** + * Replaces all the blocks matching a given filter, within a given region, to a block + * returned by a given pattern. + * + * @param region the region to replace the blocks within + * @param filter a list of block types to match, or null to use {@link com.sk89q.worldedit.function.mask.ExistingBlockMask} + * @param replacement the replacement block + * @return number of blocks affected + * @throws MaxChangedBlocksException thrown if too many blocks are changed + */ + public int replaceBlocks(Region region, Set filter, BlockStateHolder replacement) throws MaxChangedBlocksException { + return replaceBlocks(region, filter, new BlockPattern(replacement)); + } + + /** + * Replaces all the blocks matching a given filter, within a given region, to a block + * returned by a given pattern. + * + * @param region the region to replace the blocks within + * @param filter a list of block types to match, or null to use {@link com.sk89q.worldedit.function.mask.ExistingBlockMask} + * @param pattern the pattern that provides the new blocks + * @return number of blocks affected + * @throws MaxChangedBlocksException thrown if too many blocks are changed + */ + public int replaceBlocks(Region region, Set filter, Pattern pattern) throws MaxChangedBlocksException { + Mask mask = filter == null ? new ExistingBlockMask(this) : new BlockMaskBuilder().addBlocks(filter).build(this); + return replaceBlocks(region, mask, pattern); + } + /** * Replaces all the blocks matching a given mask, within a given region, to a block * returned by a given pattern. diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java b/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java index a9d0f6437..6c4f00e07 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java @@ -489,10 +489,10 @@ public class WorldEdit { int size = missingBlocks.size(); int i = 0; - for (BlockType id : missingBlocks.keySet()) { - str.append(id.getName()); + for (Map.Entry blockTypeIntegerEntry : missingBlocks.entrySet()) { + str.append((blockTypeIntegerEntry.getKey()).getName()); - str.append(" [Amt: ").append(missingBlocks.get(id)).append("]"); + str.append(" [Amt: ").append(blockTypeIntegerEntry.getValue()).append("]"); ++i; @@ -567,7 +567,7 @@ public class WorldEdit { Request.reset(); String filename = f.getPath(); - int index = filename.lastIndexOf("."); + int index = filename.lastIndexOf('.'); String ext = filename.substring(index + 1); if (!ext.equalsIgnoreCase("js")) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/blocks/metadata/MobType.java b/worldedit-core/src/main/java/com/sk89q/worldedit/blocks/metadata/MobType.java index fbd28b32a..762f39715 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/blocks/metadata/MobType.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/blocks/metadata/MobType.java @@ -55,7 +55,7 @@ public enum MobType { private final String name; - private MobType(String name) { + MobType(String name) { this.name = name; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/BrushCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/BrushCommands.java index 9e5dcf4a2..40bca34e1 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/BrushCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/BrushCommands.java @@ -47,6 +47,7 @@ import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat; import com.sk89q.worldedit.function.mask.ExistingBlockMask; import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.function.mask.SingleBlockTypeMask; +import com.sk89q.worldedit.function.pattern.BlockPattern; import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.internal.expression.Expression; import com.sk89q.worldedit.session.ClipboardHolder; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java index 4b01611ed..a3de791fb 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java @@ -428,7 +428,7 @@ public class RegionCommands extends MethodCommands { @Logging(REGION) public void walls(FawePlayer player, EditSession editSession, @Selection Region region, Pattern pattern, CommandContext context) throws WorldEditException { player.checkConfirmationRegion(getArguments(context), region); - int affected = editSession.makeCuboidWalls(region, pattern); + int affected = editSession.makeWalls(region, pattern); BBC.VISITOR_BLOCK.send(player, affected); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockTool.java index a4dd8e78f..139fbd640 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockTool.java @@ -27,5 +27,5 @@ import com.sk89q.worldedit.util.Location; public interface BlockTool extends Tool { - public boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session, Location clicked); + boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session, Location clicked); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DoubleActionBlockTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DoubleActionBlockTool.java index b44c82191..78f1a5f3e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DoubleActionBlockTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DoubleActionBlockTool.java @@ -30,6 +30,6 @@ import com.sk89q.worldedit.util.Location; */ public interface DoubleActionBlockTool extends BlockTool { - public boolean actSecondary(Platform server, LocalConfiguration config, Player player, LocalSession session, Location clicked); + boolean actSecondary(Platform server, LocalConfiguration config, Player player, LocalSession session, Location clicked); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DoubleActionTraceTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DoubleActionTraceTool.java index 708d3d9e9..dde9cca86 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DoubleActionTraceTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DoubleActionTraceTool.java @@ -29,6 +29,6 @@ import com.sk89q.worldedit.extension.platform.Platform; */ public interface DoubleActionTraceTool extends TraceTool { - public boolean actSecondary(Platform server, LocalConfiguration config, Player player, LocalSession session); + boolean actSecondary(Platform server, LocalConfiguration config, Player player, LocalSession session); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java index bfa5a6b14..789055d72 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java @@ -31,7 +31,6 @@ import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockStateHolder; -import com.sk89q.worldedit.world.block.BlockTypes; /** * A tool that can place (or remove) blocks at a distance. diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/Tool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/Tool.java index 85b8460fd..2ed73209f 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/Tool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/Tool.java @@ -34,6 +34,6 @@ public interface Tool { * @param actor the actor * @return true if use is permitted */ - public boolean canUse(Actor actor); + boolean canUse(Actor actor); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/TraceTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/TraceTool.java index 3728cd862..f02801fa5 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/TraceTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/TraceTool.java @@ -26,5 +26,5 @@ import com.sk89q.worldedit.extension.platform.Platform; public interface TraceTool extends Tool { - public boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session); + boolean actPrimary(Platform server, LocalConfiguration config, Player player, LocalSession session); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/brush/Brush.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/brush/Brush.java index 3db49a807..97a07e700 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/brush/Brush.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/brush/Brush.java @@ -39,6 +39,6 @@ public interface Brush { * @param size the size of the brush * @throws MaxChangedBlocksException */ - public void build(EditSession editSession, Vector position, Pattern pattern, double size) throws WorldEditException; + void build(EditSession editSession, Vector position, Pattern pattern, double size) throws WorldEditException; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/SpongeSchematicReader.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/SpongeSchematicReader.java index 698cf1735..9097346f5 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/SpongeSchematicReader.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/SpongeSchematicReader.java @@ -19,9 +19,6 @@ package com.sk89q.worldedit.extent.clipboard.io; -import static com.google.common.base.Preconditions.checkNotNull; - -import com.google.common.base.Function; import com.google.common.collect.Maps; import com.sk89q.jnbt.ByteArrayTag; import com.sk89q.jnbt.CompoundTag; @@ -34,20 +31,16 @@ import com.sk89q.jnbt.ShortTag; import com.sk89q.jnbt.Tag; import com.sk89q.worldedit.BlockVector; import com.sk89q.worldedit.Vector; -import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.blocks.BaseBlock; -import com.sk89q.worldedit.world.block.BlockState; -import com.sk89q.worldedit.extension.input.InputParseException; import com.sk89q.worldedit.extension.input.ParserContext; import com.sk89q.worldedit.extent.clipboard.BlockArrayClipboard; import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.extent.clipboard.io.legacycompat.NBTCompatibilityHandler; import com.sk89q.worldedit.regions.CuboidRegion; import com.sk89q.worldedit.regions.Region; -import com.sk89q.worldedit.world.block.BlockStateHolder; +import com.sk89q.worldedit.world.block.BlockState; -import javax.annotation.Nullable; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -56,6 +49,8 @@ import java.util.Map; import java.util.logging.Logger; import java.util.stream.Collectors; +import static com.google.common.base.Preconditions.checkNotNull; + /** * Reads schematic files using the Sponge Schematic Specification. */ diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/inventory/BlockBag.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/inventory/BlockBag.java index 23aec0ed0..b7f43f363 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/inventory/BlockBag.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/inventory/BlockBag.java @@ -19,10 +19,8 @@ package com.sk89q.worldedit.extent.inventory; -import com.sk89q.worldedit.world.block.BlockState; -import com.sk89q.worldedit.world.block.BlockStateHolder; -import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.util.Location; +import com.sk89q.worldedit.world.block.BlockState; /** * Represents a source to get blocks from and store removed ones. diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/inventory/BlockBagExtent.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/inventory/BlockBagExtent.java index 2f2c5d81e..85bbe66a5 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/inventory/BlockBagExtent.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/inventory/BlockBagExtent.java @@ -1,24 +1,19 @@ package com.sk89q.worldedit.extent.inventory; -import com.boydti.fawe.FaweCache; import com.boydti.fawe.object.exception.FaweException; -import com.sk89q.jnbt.CompoundTag; import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.WorldEditException; -import com.sk89q.worldedit.blocks.BaseBlock; -import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.extent.AbstractDelegateExtent; import com.sk89q.worldedit.extent.Extent; import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.util.Arrays; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - import static com.google.common.base.Preconditions.checkNotNull; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/world/SurvivalModeExtent.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/world/SurvivalModeExtent.java index 0519efae4..85a2eccdd 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/world/SurvivalModeExtent.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/world/SurvivalModeExtent.java @@ -26,7 +26,6 @@ import com.sk89q.worldedit.extent.AbstractDelegateExtent; import com.sk89q.worldedit.extent.Extent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockStateHolder; -import com.sk89q.worldedit.world.block.BlockTypes; import static com.google.common.base.Preconditions.checkNotNull; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/EntityFunction.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/EntityFunction.java index f7048cd1a..6bbb669f0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/EntityFunction.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/EntityFunction.java @@ -34,6 +34,6 @@ public interface EntityFunction { * @return true if something was changed * @throws WorldEditException thrown on an error */ - public boolean apply(Entity entity) throws WorldEditException; + boolean apply(Entity entity) throws WorldEditException; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/FlatRegionFunction.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/FlatRegionFunction.java index 9fb8284cc..41144fc8f 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/FlatRegionFunction.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/FlatRegionFunction.java @@ -36,6 +36,6 @@ public interface FlatRegionFunction { * @return true if something was changed * @throws WorldEditException thrown on an error */ - public boolean apply(Vector2D position) throws WorldEditException; + boolean apply(Vector2D position) throws WorldEditException; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/RegionFunction.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/RegionFunction.java index 4f769dce4..91276d237 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/RegionFunction.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/RegionFunction.java @@ -34,6 +34,6 @@ public interface RegionFunction { * @return true if something was changed * @throws WorldEditException thrown on an error */ - public boolean apply(Vector position) throws WorldEditException; + boolean apply(Vector position) throws WorldEditException; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/block/Naturalizer.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/block/Naturalizer.java index b673d57f7..62997afab 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/block/Naturalizer.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/block/Naturalizer.java @@ -28,7 +28,7 @@ import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.function.LayerFunction; -import com.sk89q.worldedit.function.mask.BlockMask; +import com.sk89q.worldedit.function.mask.BlockTypeMask; import com.sk89q.worldedit.function.mask.Mask; import static com.google.common.base.Preconditions.checkNotNull; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/BlockMask.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/BlockMask.java index 15c143f5b..7fb2aa98e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/BlockMask.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/BlockMask.java @@ -23,9 +23,9 @@ import java.util.Map; /** * A mask that checks whether blocks at the given positions are matched by * a block in a list. - *

- *

This mask checks for both an exact block ID and data value match, as well - * for a block with the same ID but a data value of -1.

+ * + *

This mask checks for both an exact block type and state value match, + * respecting fuzzy status of the BlockState.

*/ public class BlockMask extends AbstractExtentMask { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/BlockTypeMask.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/BlockTypeMask.java index bd6a3b49f..bc69a9846 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/BlockTypeMask.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/BlockTypeMask.java @@ -5,6 +5,12 @@ import com.sk89q.worldedit.extent.Extent; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + +import static com.google.common.base.Preconditions.checkNotNull; + public class BlockTypeMask extends AbstractExtentMask { private final boolean[] types; @@ -19,6 +25,55 @@ public class BlockTypeMask extends AbstractExtentMask { for (BlockType type : types) this.types[type.getInternalId()] = true; } + /** + * Create a new block mask. + * + * @param extent the extent + * @param blocks a list of blocks to match + */ + public BlockTypeMask(Extent extent, Collection blocks) { + this(extent, blocks.toArray(new BlockType[blocks.size()])); + } + + /** + * Add the given blocks to the list of criteria. + * + * @param blocks a list of blocks + */ + public void add(Collection blocks) { + checkNotNull(blocks); + for (BlockType type : blocks) { + add(type); + } + for (BlockType type : blocks) { + this.types[type.getInternalId()] = true; + } + } + + /** + * Add the given blocks to the list of criteria. + * + * @param blocks an array of blocks + */ + public void add(BlockType... blocks) { + for (BlockType type : blocks) { + this.types[type.getInternalId()] = true; + } + } + + /** + * Get the list of blocks that are tested with. + * + * @return a list of blocks + */ + public Collection getBlocks() { + Set blocks = new HashSet<>(); + for (int i = 0; i < types.length; i++) { + if (types[i]) blocks.add(BlockTypes.get(i)); + } + return blocks; + } + @Override public boolean test(Vector vector) { return types[getExtent().getBlockType(vector).getInternalId()]; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/ExistingBlockMask.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/ExistingBlockMask.java index 4633dfa5b..3c48fb770 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/ExistingBlockMask.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/mask/ExistingBlockMask.java @@ -19,7 +19,6 @@ package com.sk89q.worldedit.function.mask; -import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.extent.Extent; import com.sk89q.worldedit.Vector; @@ -42,7 +41,7 @@ public class ExistingBlockMask extends AbstractExtentMask { @Override public boolean test(Vector vector) { - return !getExtent().getBlock(vector).getBlockType().getMaterial().isAir(); + return !getExtent().getBlock(vector).getMaterial().isAir(); } @Nullable diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/annotation/Direction.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/annotation/Direction.java index 45d495bbd..6a8d96ccf 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/annotation/Direction.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/annotation/Direction.java @@ -34,6 +34,6 @@ import java.lang.annotation.Target; @Target(ElementType.PARAMETER) public @interface Direction { - public static final String AIM = "me"; + String AIM = "me"; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/cui/CUIEvent.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/cui/CUIEvent.java index 14f3f2c03..7d880f907 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/cui/CUIEvent.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/cui/CUIEvent.java @@ -21,7 +21,7 @@ package com.sk89q.worldedit.internal.cui; public interface CUIEvent { - public String getTypeId(); + String getTypeId(); - public String[] getParameters(); + String[] getParameters(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/cui/CUIRegion.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/cui/CUIRegion.java index 84b740e39..bd06908ac 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/cui/CUIRegion.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/cui/CUIRegion.java @@ -30,7 +30,7 @@ public interface CUIRegion { * value supplied by getProtocolVersion(). * */ - public void describeCUI(LocalSession session, Actor player); + void describeCUI(LocalSession session, Actor player); /** * Sends CUI events describing the region for @@ -38,7 +38,7 @@ public interface CUIRegion { * supplied by getProtocolVersion(). * */ - public void describeLegacyCUI(LocalSession session, Actor player); + void describeLegacyCUI(LocalSession session, Actor player); /** * Returns the CUI version that is required to send @@ -47,14 +47,14 @@ public interface CUIRegion { * * @return the protocol version */ - public int getProtocolVersion(); + int getProtocolVersion(); /** * Returns the type ID to send to CUI in the selection event. * * @return the type ID */ - public String getTypeID(); + String getTypeID(); /** * Returns the type ID to send to CUI in the selection @@ -62,5 +62,5 @@ public interface CUIRegion { * * @return the legacy type ID */ - public String getLegacyTypeID(); + String getLegacyTypeID(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/Identifiable.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/Identifiable.java index b23ba38c4..3b82842ea 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/Identifiable.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/Identifiable.java @@ -54,8 +54,8 @@ public interface Identifiable { * C - Switch * */ - public abstract char id(); + char id(); - public int getPosition(); + int getPosition(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/runtime/LValue.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/runtime/LValue.java index a0f71cadf..338cc74b2 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/runtime/LValue.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/runtime/LValue.java @@ -27,12 +27,12 @@ import com.sk89q.worldedit.internal.expression.parser.ParserException; */ public interface LValue extends RValue { - public double assign(double value) throws EvaluationException; + double assign(double value) throws EvaluationException; @Override - public LValue optimize() throws EvaluationException; + LValue optimize() throws EvaluationException; @Override - public LValue bindVariables(Expression expression, boolean preferLValue) throws ParserException; + LValue bindVariables(Expression expression, boolean preferLValue) throws ParserException; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/runtime/RValue.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/runtime/RValue.java index c47c5c98f..45a654bcd 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/runtime/RValue.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/expression/runtime/RValue.java @@ -28,10 +28,10 @@ import com.sk89q.worldedit.internal.expression.parser.ParserException; */ public interface RValue extends Identifiable { - public double getValue() throws EvaluationException; + double getValue() throws EvaluationException; - public RValue optimize() throws EvaluationException; + RValue optimize() throws EvaluationException; - public RValue bindVariables(Expression expression, boolean preferLValue) throws ParserException; + RValue bindVariables(Expression expression, boolean preferLValue) throws ParserException; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/util/DocumentationPrinter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/util/DocumentationPrinter.java index c82570597..fbb4fb163 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/util/DocumentationPrinter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/util/DocumentationPrinter.java @@ -147,13 +147,13 @@ public final class DocumentationPrinter { stream.print(" || "); - if (cmd.flags() != null && !cmd.flags().equals("")) { + if (cmd.flags() != null && !cmd.flags().isEmpty()) { stream.print(cmd.flags()); } stream.print(" || "); - if (cmd.desc() != null && !cmd.desc().equals("")) { + if (cmd.desc() != null && !cmd.desc().isEmpty()) { stream.print(cmd.desc()); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/math/interpolation/Interpolation.java b/worldedit-core/src/main/java/com/sk89q/worldedit/math/interpolation/Interpolation.java index 89f0a8012..68df24b0d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/math/interpolation/Interpolation.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/math/interpolation/Interpolation.java @@ -36,7 +36,7 @@ public interface Interpolation { * * @param nodes the nodes */ - public void setNodes(List nodes); + void setNodes(List nodes); /** * Gets the result of f(position) @@ -44,7 +44,7 @@ public interface Interpolation { * @param position the position to interpolate * @return the result */ - public Vector getPosition(double position); + Vector getPosition(double position); /** * Gets the result of f'(position). @@ -52,7 +52,7 @@ public interface Interpolation { * @param position the position to interpolate * @return the result */ - public Vector get1stDerivative(double position); + Vector get1stDerivative(double position); /** * Gets the result of ∫ab|f'(t)| dt.
diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/FlatRegion.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/FlatRegion.java index 39fc6dcf0..92cdf6e36 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/FlatRegion.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/FlatRegion.java @@ -28,19 +28,19 @@ public interface FlatRegion extends Region { * * @return the Y value */ - public int getMinimumY(); + int getMinimumY(); /** * Gets the maximum Y value * * @return the Y value */ - public int getMaximumY(); + int getMaximumY(); /** * Get this region as an iterable flat region. * * @return a flat region iterable */ - public Iterable asFlatRegion(); + Iterable asFlatRegion(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java index 00c5d3d9a..247a9e250 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java @@ -44,14 +44,14 @@ public interface RegionSelector { * @return a world, which may be null */ @Nullable - public World getWorld(); + World getWorld(); /** * Set the world for the region selector. * * @param world the world, which may be null */ - public void setWorld(@Nullable World world); + void setWorld(@Nullable World world); /** * Called when the first point is selected. @@ -59,7 +59,7 @@ public interface RegionSelector { * @param position the position * @return true if something changed */ - public boolean selectPrimary(Vector position, SelectorLimits limits); + boolean selectPrimary(Vector position, SelectorLimits limits); /** * Called when the second point is selected. @@ -67,7 +67,7 @@ public interface RegionSelector { * @param position the position * @return true if something changed */ - public boolean selectSecondary(Vector position, SelectorLimits limits); + boolean selectSecondary(Vector position, SelectorLimits limits); /** * Tell the player information about his/her primary selection. @@ -76,7 +76,7 @@ public interface RegionSelector { * @param session the session * @param position position */ - public void explainPrimarySelection(Actor actor, LocalSession session, Vector position); + void explainPrimarySelection(Actor actor, LocalSession session, Vector position); /** * Tell the player information about his/her secondary selection. @@ -85,7 +85,7 @@ public interface RegionSelector { * @param session the session * @param position position */ - public void explainSecondarySelection(Actor actor, LocalSession session, Vector position); + void explainSecondarySelection(Actor actor, LocalSession session, Vector position); /** * The the player information about the region's changes. This may resend @@ -94,7 +94,7 @@ public interface RegionSelector { * @param actor the actor * @param session the session */ - public void explainRegionAdjust(Actor actor, LocalSession session); + void explainRegionAdjust(Actor actor, LocalSession session); /** * Get the primary position. @@ -102,7 +102,7 @@ public interface RegionSelector { * @return the primary position * @throws IncompleteRegionException thrown if a region has not been fully defined */ - public BlockVector getPrimaryPosition() throws IncompleteRegionException; + BlockVector getPrimaryPosition() throws IncompleteRegionException; /** * Get the selection. @@ -110,52 +110,52 @@ public interface RegionSelector { * @return the created region * @throws IncompleteRegionException thrown if a region has not been fully defined */ - public Region getRegion() throws IncompleteRegionException; + Region getRegion() throws IncompleteRegionException; /** * Get the region even if it's not fully defined. * * @return an incomplete region object that is incomplete */ - public Region getIncompleteRegion(); + Region getIncompleteRegion(); /** * Returns whether the region has been fully defined. * * @return true if a selection is available */ - public boolean isDefined(); + boolean isDefined(); /** * Get the number of blocks inside the region. * * @return number of blocks, or -1 if undefined */ - public int getArea(); + int getArea(); /** * Update the selector with changes to the region. */ - public void learnChanges(); + void learnChanges(); /** * Clear the selection. */ - public void clear(); + void clear(); /** * Get a lowercase name of this region selector type. * * @return a lower case name of the type */ - public String getTypeName(); + String getTypeName(); /** * Get lines of information about the selection. * * @return a list of lines describing the region */ - public List getInformationLines(); + List getInformationLines(); /** * Get the verticies diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/RegionSelectorType.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/RegionSelectorType.java index 9ce56af45..03cae96a0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/RegionSelectorType.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/RegionSelectorType.java @@ -36,7 +36,7 @@ public enum RegionSelectorType { private final Class selectorClass; - private RegionSelectorType(Class selectorClass) { + RegionSelectorType(Class selectorClass) { this.selectorClass = selectorClass; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/scripting/CraftScriptEngine.java b/worldedit-core/src/main/java/com/sk89q/worldedit/scripting/CraftScriptEngine.java index fbadc0fa1..c5423aa88 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/scripting/CraftScriptEngine.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/scripting/CraftScriptEngine.java @@ -23,10 +23,10 @@ import java.util.Map; import javax.script.ScriptException; public interface CraftScriptEngine { - public void setTimeLimit(int milliseconds); + void setTimeLimit(int milliseconds); - public int getTimeLimit(); + int getTimeLimit(); - public Object evaluate(String script, String filename, Map args) + Object evaluate(String script, String filename, Map args) throws ScriptException, Throwable; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/session/SessionManager.java b/worldedit-core/src/main/java/com/sk89q/worldedit/session/SessionManager.java index 72c28df4a..5339db01d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/session/SessionManager.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/session/SessionManager.java @@ -106,7 +106,7 @@ public class SessionManager { checkNotNull(name); for (SessionHolder holder : sessions.values()) { String test = holder.key.getName(); - if (test != null && name.equals(test)) { + if (name.equals(test)) { return holder.session; } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/YAMLConfiguration.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/YAMLConfiguration.java index b9495b8db..fc7b0c860 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/YAMLConfiguration.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/YAMLConfiguration.java @@ -126,7 +126,7 @@ public class YAMLConfiguration extends LocalConfiguration { } String type = config.getString("shell-save-type", "").trim(); - shellSaveType = type.equals("") ? null : type; + shellSaveType = type.isEmpty() ? null : type; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/command/Parameter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/command/Parameter.java index 1952f6c56..a2ac4e343 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/command/Parameter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/command/Parameter.java @@ -61,6 +61,6 @@ public interface Parameter { * * @return a default value, or null if none is set */ - public String[] getDefaultValue(); + String[] getDefaultValue(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/Style.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/Style.java index c6fd71ddb..856b03514 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/Style.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/Style.java @@ -136,11 +136,11 @@ public enum Style { private final static Map BY_ID = Maps.newHashMap(); private final static Map BY_CHAR = Maps.newHashMap(); - private Style(char code, int intCode) { + Style(char code, int intCode) { this(code, intCode, false); } - private Style(char code, int intCode, boolean isFormat) { + Style(char code, int intCode, boolean isFormat) { this.code = code; this.intCode = intCode; this.isFormat = isFormat; @@ -183,7 +183,7 @@ public enum Style { * Gets the color represented by the specified color code * * @param code Code to check - * @return Associative {@link org.bukkit.ChatColor} with the given code, or null if it doesn't exist + * @return Associative Style with the given code, or null if it doesn't exist */ public static Style getByChar(char code) { return BY_CHAR.get(code); @@ -193,7 +193,7 @@ public enum Style { * Gets the color represented by the specified color code * * @param code Code to check - * @return Associative {@link org.bukkit.ChatColor} with the given code, or null if it doesn't exist + * @return Associative Style with the given code, or null if it doesn't exist */ public static Style getByChar(String code) { checkNotNull(code); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/AbstractWorld.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/AbstractWorld.java index a3fa64a39..fd0417f3b 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/AbstractWorld.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/AbstractWorld.java @@ -27,13 +27,11 @@ import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.blocks.BaseItem; import com.sk89q.worldedit.blocks.BaseItemStack; import com.sk89q.worldedit.extension.platform.Platform; -import com.sk89q.worldedit.function.mask.BlockMask; import com.sk89q.worldedit.function.mask.BlockTypeMask; import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.function.operation.Operation; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.world.block.BlockStateHolder; -import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/snapshot/Snapshot.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/snapshot/Snapshot.java index d087b5b28..77f47ceed 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/snapshot/Snapshot.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/snapshot/Snapshot.java @@ -193,7 +193,7 @@ public class Snapshot implements Comparable { public int compareTo(Snapshot o) { if (o.date == null || date == null) { // Remove the folder from the name - int i = name.indexOf("/"), j = o.name.indexOf("/"); + int i = name.indexOf('/'), j = o.name.indexOf('/'); return name.substring((i > 0 ? 0 : i)).compareTo(o.name.substring((j > 0 ? 0 : j))); } else { return date.compareTo(o.date); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/snapshot/SnapshotDateParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/snapshot/SnapshotDateParser.java index b3d499148..df026e34c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/snapshot/SnapshotDateParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/snapshot/SnapshotDateParser.java @@ -35,6 +35,6 @@ public interface SnapshotDateParser { * @return date or null */ @Nullable - public Calendar detectDate(File file); + Calendar detectDate(File file); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/TrueZipLegacyChunkStore.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/TrueZipLegacyChunkStore.java index 33e59f590..ea5cf9f9c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/TrueZipLegacyChunkStore.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/TrueZipLegacyChunkStore.java @@ -88,7 +88,7 @@ public class TrueZipLegacyChunkStore extends LegacyChunkStore { // Detect subfolder for the world's files if (folder != null) { - if (!folder.equals("")) { + if (!folder.isEmpty()) { file = folder + "/" + file; } } else { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/TrueZipMcRegionChunkStore.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/TrueZipMcRegionChunkStore.java index cc5378a4e..a22818c77 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/TrueZipMcRegionChunkStore.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/TrueZipMcRegionChunkStore.java @@ -87,7 +87,7 @@ public class TrueZipMcRegionChunkStore extends McRegionChunkStore { protected InputStream getInputStream(String name, String worldName) throws IOException, DataException { // Detect subfolder for the world's files if (folder != null) { - if (!folder.equals("")) { + if (!folder.isEmpty()) { name = folder + "/" + name; } } else { @@ -100,7 +100,7 @@ public class TrueZipMcRegionChunkStore extends McRegionChunkStore { if (worldPattern.matcher(worldName).matches()) { // Check for file if (pattern.matcher(testEntry.getName()).matches()) { - folder = testEntry.getName().substring(0, testEntry.getName().lastIndexOf("/")); + folder = testEntry.getName().substring(0, testEntry.getName().lastIndexOf('/')); name = folder + "/" + name; break; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/ZippedLegacyChunkStore.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/ZippedLegacyChunkStore.java index 30c9fa41a..155d65c51 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/ZippedLegacyChunkStore.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/ZippedLegacyChunkStore.java @@ -82,7 +82,7 @@ public class ZippedLegacyChunkStore extends LegacyChunkStore { // Detect subfolder for the world's files if (folder != null) { - if (!folder.equals("")) { + if (!folder.isEmpty()) { file = folder + "/" + file; } } else { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/ZippedMcRegionChunkStore.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/ZippedMcRegionChunkStore.java index b6c7ff569..95356f445 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/ZippedMcRegionChunkStore.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/ZippedMcRegionChunkStore.java @@ -76,7 +76,7 @@ public class ZippedMcRegionChunkStore extends McRegionChunkStore { protected InputStream getInputStream(String name, String worldName) throws IOException, DataException { // Detect subfolder for the world's files if (folder != null) { - if (!folder.equals("")) { + if (!folder.isEmpty()) { name = folder + "/" + name; } } else { @@ -86,7 +86,7 @@ public class ZippedMcRegionChunkStore extends McRegionChunkStore { // Check for world if (testEntry.getName().startsWith(worldName + "/")) { if (pattern.matcher(testEntry.getName()).matches()) { // does entry end in .mca - folder = testEntry.getName().substring(0, testEntry.getName().lastIndexOf("/")); + folder = testEntry.getName().substring(0, testEntry.getName().lastIndexOf('/')); name = folder + "/" + name; break; }