Fix Javadocs and code issues.

This commit is contained in:
sk89q
2014-07-29 11:04:04 -07:00
parent 8834af7538
commit 1dc84d2511
230 changed files with 1646 additions and 1882 deletions

View File

@ -19,10 +19,8 @@
package com.sk89q.bukkit.util;
/**
* @author zml2008
*/
public class CommandInfo {
private final String[] aliases;
private final Object registeredWith;
private final String usage, desc;
@ -63,4 +61,5 @@ public class CommandInfo {
public Object getRegisteredWith() {
return registeredWith;
}
}

View File

@ -19,12 +19,6 @@
package com.sk89q.bukkit.util;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.sk89q.util.ReflectionUtil;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandExecutor;
@ -32,9 +26,12 @@ import org.bukkit.command.CommandMap;
import org.bukkit.command.SimpleCommandMap;
import org.bukkit.plugin.Plugin;
/**
* @author zml2008
*/
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class CommandRegistration {
static {
@ -109,4 +106,5 @@ public class CommandRegistration {
}
return true;
}
}

View File

@ -31,10 +31,8 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @author zml2008
*/
public class CommandsManagerRegistration extends CommandRegistration {
protected CommandsManager<?> commands;
public CommandsManagerRegistration(Plugin plugin, CommandsManager<?> commands) {
@ -60,7 +58,7 @@ public class CommandsManagerRegistration extends CommandRegistration {
if (cmdMethod != null && cmdMethod.isAnnotationPresent(CommandPermissions.class)) {
permissions = Arrays.asList(cmdMethod.getAnnotation(CommandPermissions.class).value());
} else if (cmdMethod != null && childMethods != null && childMethods.size() > 0) {
} else if (cmdMethod != null && childMethods != null && !childMethods.isEmpty()) {
permissions = new ArrayList<String>();
for (Method m : childMethods.values()) {
if (m.isAnnotationPresent(CommandPermissions.class)) {
@ -74,4 +72,5 @@ public class CommandsManagerRegistration extends CommandRegistration {
return register(toRegister);
}
}

View File

@ -30,10 +30,8 @@ import org.bukkit.help.HelpTopicFactory;
import java.util.Map;
/**
* @author zml2008
*/
public class DynamicPluginCommandHelpTopic extends HelpTopic {
private final DynamicPluginCommand cmd;
public DynamicPluginCommandHelpTopic(DynamicPluginCommand cmd) {
@ -140,10 +138,10 @@ public class DynamicPluginCommandHelpTopic extends HelpTopic {
}
public static class Factory implements HelpTopicFactory<DynamicPluginCommand> {
@Override
public HelpTopic createTopic(DynamicPluginCommand command) {
return new DynamicPluginCommandHelpTopic(command);
}
}
}

View File

@ -24,9 +24,6 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
/**
* @author zml2008
*/
public class FallbackRegistrationListener implements Listener {
private final CommandMap commandRegistration;
@ -41,4 +38,5 @@ public class FallbackRegistrationListener implements Listener {
event.setCancelled(true);
}
}
}

View File

@ -50,6 +50,7 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
return section;
}
@Override
public void load() {
userGroups = new HashMap<String, Set<String>>();
userPermissionsCache = new HashMap<String, Set<String>>();
@ -64,7 +65,7 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
List<String> permissions =
config.getStringList("permissions.groups." + key + ".permissions", null);
if (permissions.size() > 0) {
if (!permissions.isEmpty()) {
Set<String> groupPerms = new HashSet<String>(permissions);
userGroupPermissions.put(key, groupPerms);
@ -84,7 +85,7 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
List<String> permissions =
config.getStringList("permissions.users." + key + ".permissions", null);
if (permissions.size() > 0) {
if (!permissions.isEmpty()) {
permsCache.addAll(permissions);
}
@ -92,7 +93,7 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
config.getStringList("permissions.users." + key + ".groups", null);
groups.add("default");
if (groups.size() > 0) {
if (!groups.isEmpty()) {
for (String group : groups) {
Set<String> groupPerms = userGroupPermissions.get(group);
if (groupPerms != null) {
@ -107,6 +108,7 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
}
}
@Override
public boolean hasPermission(String player, String permission) {
int dotPos = permission.lastIndexOf(".");
if (dotPos > -1) {
@ -124,11 +126,13 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
return perms.contains("*") || perms.contains(permission);
}
@Override
public boolean hasPermission(String worldName, String player, String permission) {
return hasPermission(player, "worlds." + worldName + "." + permission)
|| hasPermission(player, permission);
}
@Override
public boolean inGroup(String player, String group) {
Set<String> groups = userGroups.get(player.toLowerCase());
if (groups == null) {
@ -138,6 +142,7 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
return groups.contains(group);
}
@Override
public String[] getGroups(String player) {
Set<String> groups = userGroups.get(player.toLowerCase());
if (groups == null) {
@ -147,22 +152,27 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
return groups.toArray(new String[groups.size()]);
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
return hasPermission(player.getName(), permission);
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return hasPermission(worldName, player.getName(), permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
return inGroup(player.getName(), group);
}
@Override
public String[] getGroups(OfflinePlayer player) {
return getGroups(player.getName());
}
@Override
public String getDetectionMessage() {
return "No known permissions plugin detected. Using configuration file for permissions.";
}

View File

@ -43,25 +43,31 @@ public class DinnerPermsResolver implements PermissionsResolver {
return new DinnerPermsResolver(server);
}
@Override
public void load() {
}
@Override
public boolean hasPermission(String name, String permission) {
return hasPermission(server.getOfflinePlayer(name), permission);
}
@Override
public boolean hasPermission(String worldName, String name, String permission) {
return hasPermission(worldName, server.getOfflinePlayer(name), permission);
}
@Override
public boolean inGroup(String name, String group) {
return inGroup(server.getOfflinePlayer(name), group);
}
@Override
public String[] getGroups(String name) {
return getGroups(server.getOfflinePlayer(name));
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
Permissible perms = getPermissible(player);
if (perms == null) {
@ -86,10 +92,12 @@ public class DinnerPermsResolver implements PermissionsResolver {
return internalHasPermission(perms, "*") == 1;
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return hasPermission(player, permission); // no per-world ability to check permissions in dinnerperms
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
final Permissible perms = getPermissible(player);
if (perms == null) {
@ -100,6 +108,7 @@ public class DinnerPermsResolver implements PermissionsResolver {
return perms.isPermissionSet(perm) && perms.hasPermission(perm);
}
@Override
public String[] getGroups(OfflinePlayer player) {
Permissible perms = getPermissible(player);
if (perms == null) {
@ -149,6 +158,7 @@ public class DinnerPermsResolver implements PermissionsResolver {
}
}
@Override
public String getDetectionMessage() {
return "Using the Bukkit Permissions API.";
}

View File

@ -19,27 +19,32 @@
package com.sk89q.wepif;
import com.sk89q.util.yaml.YAMLProcessor;
import org.bukkit.OfflinePlayer;
import org.bukkit.Server;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.HashMap;
import com.sk89q.util.yaml.YAMLProcessor;
import org.bukkit.OfflinePlayer;
import org.bukkit.Server;
import java.util.logging.Level;
import java.util.logging.Logger;
public class FlatFilePermissionsResolver implements PermissionsResolver {
private static final Logger log = Logger.getLogger(FlatFilePermissionsResolver.class.getCanonicalName());
private Map<String, Set<String>> userPermissionsCache;
private Set<String> defaultPermissionsCache;
private Map<String, Set<String>> userGroups;
protected File groupFile;
protected File userFile;
private final File groupFile;
private final File userFile;
public static PermissionsResolver factory(Server server, YAMLProcessor config) {
File groups = new File("perms_groups.txt");
@ -80,7 +85,7 @@ public class FlatFilePermissionsResolver implements PermissionsResolver {
line = line.trim();
// Blank line
if (line.length() == 0) {
if (line.isEmpty()) {
continue;
} else if (line.charAt(0) == ';' || line.charAt(0) == '#') {
continue;
@ -98,19 +103,20 @@ public class FlatFilePermissionsResolver implements PermissionsResolver {
}
}
} catch (IOException e) {
e.printStackTrace();
log.log(Level.WARNING, "Failed to load permissions", e);
} finally {
try {
if (buff != null) {
buff.close();
}
} catch (IOException e2) {
} catch (IOException ignored) {
}
}
return userGroupPermissions;
}
@Override
public void load() {
userGroups = new HashMap<String, Set<String>>();
userPermissionsCache = new HashMap<String, Set<String>>();
@ -135,7 +141,7 @@ public class FlatFilePermissionsResolver implements PermissionsResolver {
line = line.trim();
// Blank line
if (line.length() == 0) {
if (line.isEmpty()) {
continue;
} else if (line.charAt(0) == ';' || line.charAt(0) == '#') {
continue;
@ -163,17 +169,18 @@ public class FlatFilePermissionsResolver implements PermissionsResolver {
}
}
} catch (IOException e) {
e.printStackTrace();
log.log(Level.WARNING, "Failed to load permissions", e);
} finally {
try {
if (buff != null) {
buff.close();
}
} catch (IOException e2) {
} catch (IOException ignored) {
}
}
}
@Override
public boolean hasPermission(String player, String permission) {
int dotPos = permission.lastIndexOf(".");
if (dotPos > -1) {
@ -191,20 +198,19 @@ public class FlatFilePermissionsResolver implements PermissionsResolver {
return perms.contains("*") || perms.contains(permission);
}
@Override
public boolean hasPermission(String worldName, String player, String permission) {
return hasPermission(player, "worlds." + worldName + "." + permission)
|| hasPermission(player, permission);
}
@Override
public boolean inGroup(String player, String group) {
Set<String> groups = userGroups.get(player.toLowerCase());
if (groups == null) {
return false;
}
return groups.contains(group);
return groups != null && groups.contains(group);
}
@Override
public String[] getGroups(String player) {
Set<String> groups = userGroups.get(player.toLowerCase());
if (groups == null) {
@ -214,22 +220,27 @@ public class FlatFilePermissionsResolver implements PermissionsResolver {
return groups.toArray(new String[groups.size()]);
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
return hasPermission(player.getName(), permission);
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return hasPermission(worldName, player.getName(), permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
return inGroup(player.getName(), group);
}
@Override
public String[] getGroups(OfflinePlayer player) {
return getGroups(player.getName());
}
@Override
public String getDetectionMessage() {
return "perms_groups.txt and perms_users.txt detected! Using flat file permissions.";
}

View File

@ -50,6 +50,7 @@ public class GroupManagerResolver implements PermissionsResolver {
this.worldsHolder = worldsHolder;
}
@Override
public void load() {
}
@ -73,10 +74,12 @@ public class GroupManagerResolver implements PermissionsResolver {
}
}
@Override
public boolean hasPermission(String name, String permission) {
return hasPermission(null, name, permission);
}
@Override
public boolean hasPermission(String worldName, String name, String permission) {
if (permission == null || permission.isEmpty()) {
return false;
@ -88,6 +91,7 @@ public class GroupManagerResolver implements PermissionsResolver {
return permissionHandler.permission(name, permission);
}
@Override
public boolean inGroup(String name, String group) {
if (group == null || group.isEmpty()) {
return false;
@ -99,6 +103,7 @@ public class GroupManagerResolver implements PermissionsResolver {
return permissionHandler.inGroup(name, group);
}
@Override
public String[] getGroups(String name) {
AnjoPermissionsHandler permissionHandler = getPermissionHandler(name, null);
if (permissionHandler == null) {
@ -107,22 +112,27 @@ public class GroupManagerResolver implements PermissionsResolver {
return permissionHandler.getGroups(name);
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
return hasPermission(player.getName(), permission);
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return hasPermission(worldName, player.getName(), permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
return inGroup(player.getName(), group);
}
@Override
public String[] getGroups(OfflinePlayer player) {
return getGroups(player.getName());
}
@Override
public String getDetectionMessage() {
return "GroupManager detected! Using GroupManager for permissions.";
}

View File

@ -29,7 +29,13 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import com.nijikokun.bukkit.Permissions.Permissions;
import java.util.logging.Level;
import java.util.logging.Logger;
public class NijiPermissionsResolver implements PermissionsResolver {
private static final Logger log = Logger.getLogger(NijiPermissionsResolver.class.getCanonicalName());
private Server server;
private Permissions api;
@ -56,6 +62,7 @@ public class NijiPermissionsResolver implements PermissionsResolver {
return new NijiPermissionsResolver(server, (Permissions) plugin);
}
@Override
public void load() {
}
@ -65,6 +72,7 @@ public class NijiPermissionsResolver implements PermissionsResolver {
this.api = plugin;
}
@Override
@SuppressWarnings("static-access")
public boolean hasPermission(String name, String permission) {
try {
@ -76,11 +84,12 @@ public class NijiPermissionsResolver implements PermissionsResolver {
return api.Security.permission(player, permission);
}
} catch (Throwable t) {
t.printStackTrace();
log.log(Level.WARNING, "Failed to check permissions", t);
return false;
}
}
@Override
public boolean hasPermission(String worldName, String name, String permission) {
try {
try {
@ -89,11 +98,12 @@ public class NijiPermissionsResolver implements PermissionsResolver {
return api.getHandler().has(server.getPlayerExact(name), permission);
}
} catch (Throwable t) {
t.printStackTrace();
log.log(Level.WARNING, "Failed to check permissions", t);
return false;
}
}
@Override
@SuppressWarnings("static-access")
public boolean inGroup(String name, String group) {
try {
@ -105,11 +115,12 @@ public class NijiPermissionsResolver implements PermissionsResolver {
return api.Security.inGroup(name, group);
}
} catch (Throwable t) {
t.printStackTrace();
log.log(Level.WARNING, "Failed to check groups", t);
return false;
}
}
@Override
@SuppressWarnings("static-access")
public String[] getGroups(String name) {
try {
@ -128,23 +139,27 @@ public class NijiPermissionsResolver implements PermissionsResolver {
return groups;
}
} catch (Throwable t) {
t.printStackTrace();
log.log(Level.WARNING, "Failed to get groups", t);
return new String[0];
}
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
return hasPermission(player.getName(), permission);
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return hasPermission(worldName, player.getName(), permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
return inGroup(player.getName(), group);
}
@Override
public String[] getGroups(OfflinePlayer player) {
return getGroups(player.getName());
}
@ -155,7 +170,9 @@ public class NijiPermissionsResolver implements PermissionsResolver {
return permsCommand == null || !(permsCommand.getPlugin().equals(plugin));
}
@Override
public String getDetectionMessage() {
return "Permissions plugin detected! Using Permissions plugin for permissions.";
}
}

View File

@ -48,10 +48,12 @@ public class PermissionsExResolver extends DinnerPermsResolver {
this.manager = manager;
}
@Override
public boolean hasPermission(String worldName, String name, String permission) {
return manager.has(name, permission, worldName);
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
Permissible permissible = getPermissible(player);
if (permissible == null) {
@ -61,14 +63,17 @@ public class PermissionsExResolver extends DinnerPermsResolver {
}
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return hasPermission(worldName, player.getName(), permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
return super.inGroup(player, group) || manager.getUser(player.getName()).inGroup(group);
}
@Override
public String[] getGroups(OfflinePlayer player) {
if (getPermissible(player) == null) {
PermissionUser user = manager.getUser(player.getName());
@ -81,6 +86,7 @@ public class PermissionsExResolver extends DinnerPermsResolver {
}
}
@Override
public String getDetectionMessage() {
return "PermissionsEx detected! Using PermissionsEx for permissions.";
}

View File

@ -35,9 +35,11 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
public class PermissionsResolverManager implements PermissionsResolver {
private static final String CONFIG_HEADER = "#\r\n" +
"# WEPIF Configuration File\r\n" +
"#\r\n" +
@ -116,8 +118,7 @@ public class PermissionsResolverManager implements PermissionsResolver {
break;
}
} catch (Throwable e) {
logger.warning("Error in factory method for " + resolverClass.getSimpleName() + ": " + e);
e.printStackTrace();
logger.log(Level.WARNING, "Error in factory method for " + resolverClass.getSimpleName(), e);
continue;
}
}
@ -137,42 +138,52 @@ public class PermissionsResolverManager implements PermissionsResolver {
logger.info("WEPIF: " + permissionResolver.getDetectionMessage());
}
@Override
public void load() {
findResolver();
}
@Override
public boolean hasPermission(String name, String permission) {
return permissionResolver.hasPermission(name, permission);
}
@Override
public boolean hasPermission(String worldName, String name, String permission) {
return permissionResolver.hasPermission(worldName, name, permission);
}
@Override
public boolean inGroup(String player, String group) {
return permissionResolver.inGroup(player, group);
}
@Override
public String[] getGroups(String player) {
return permissionResolver.getGroups(player);
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
return permissionResolver.hasPermission(player, permission);
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return permissionResolver.hasPermission(worldName, player, permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
return permissionResolver.inGroup(player, group);
}
@Override
public String[] getGroups(OfflinePlayer player) {
return permissionResolver.getGroups(player);
}
@Override
public String getDetectionMessage() {
return "Using WEPIF for permissions";
}
@ -183,15 +194,14 @@ public class PermissionsResolverManager implements PermissionsResolver {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
logger.log(Level.WARNING, "Failed to create new configuration file", e);
}
}
config = new YAMLProcessor(file, false, YAMLFormat.EXTENDED);
try {
config.load();
} catch (IOException e) {
logger.severe("Error loading WEPIF Config: " + e);
e.printStackTrace();
logger.log(Level.WARNING, "Error loading WEPIF configuration", e);
}
List<String> keys = config.getKeys(null);
config.setHeader(CONFIG_HEADER);
@ -263,7 +273,6 @@ public class PermissionsResolverManager implements PermissionsResolver {
}
public static class MissingPluginException extends Exception {
private static final long serialVersionUID = 7044832912491608706L;
}
class ServerListener implements org.bukkit.event.Listener {

View File

@ -53,41 +53,51 @@ public class PluginPermissionsResolver implements PermissionsResolver {
this.plugin = permissionsPlugin;
}
@Override
public void load() {
}
@Override
public boolean hasPermission(String name, String permission) {
return resolver.hasPermission(name, permission);
}
@Override
public boolean hasPermission(String worldName, String name, String permission) {
return resolver.hasPermission(worldName, name, permission);
}
@Override
public boolean inGroup(String player, String group) {
return resolver.inGroup(player, group);
}
@Override
public String[] getGroups(String player) {
return resolver.getGroups(player);
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
return resolver.hasPermission(player, permission);
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return resolver.hasPermission(worldName, player, permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
return resolver.inGroup(player, group);
}
@Override
public String[] getGroups(OfflinePlayer player) {
return resolver.getGroups(player);
}
@Override
public String getDetectionMessage() {
return "Using plugin '" + this.plugin.getDescription().getName() + "' for permissions.";
}

View File

@ -19,13 +19,10 @@
package com.sk89q.wepif;
/**
* @author zml2008
*/
public class WEPIFRuntimeException extends RuntimeException {
private static final long serialVersionUID = 5092745960439109699L;
public WEPIFRuntimeException(String message) {
super(message);
}
}

View File

@ -26,9 +26,6 @@ import org.bukkit.OfflinePlayer;
import org.bukkit.Server;
import org.bukkit.entity.Player;
/**
* @author zml2008
*/
public class bPermissionsResolver implements PermissionsResolver {
public static PermissionsResolver factory(Server server, YAMLProcessor config) {
@ -47,29 +44,36 @@ public class bPermissionsResolver implements PermissionsResolver {
this.server = server;
}
@Override
public void load() {
}
@Override
public String getDetectionMessage() {
return "bPermissions detected! Using bPermissions for permissions";
}
@Override
public boolean hasPermission(String name, String permission) {
return hasPermission(server.getOfflinePlayer(name), permission);
}
@Override
public boolean hasPermission(String worldName, String name, String permission) {
return ApiLayer.hasPermission(worldName, CalculableType.USER, name, permission);
}
@Override
public boolean inGroup(String player, String group) {
return inGroup(server.getOfflinePlayer(player), group);
}
@Override
public String[] getGroups(String player) {
return getGroups(server.getOfflinePlayer(player));
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
Player onlinePlayer = player.getPlayer();
if (onlinePlayer == null) {
@ -79,10 +83,12 @@ public class bPermissionsResolver implements PermissionsResolver {
}
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return hasPermission(worldName, player.getName(), permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
Player onlinePlayer = player.getPlayer();
if (onlinePlayer == null) {
@ -92,6 +98,7 @@ public class bPermissionsResolver implements PermissionsResolver {
}
}
@Override
public String[] getGroups(OfflinePlayer player) {
Player onlinePlayer = player.getPlayer();
if (onlinePlayer == null) {
@ -100,4 +107,5 @@ public class bPermissionsResolver implements PermissionsResolver {
return ApiLayer.getGroups(onlinePlayer.getWorld().getName(), CalculableType.USER, player.getName());
}
}
}

View File

@ -29,19 +29,14 @@ import com.sk89q.worldedit.blocks.BlockID;
import com.sk89q.worldedit.blocks.ItemType;
public class BukkitPlayerBlockBag extends BlockBag {
/**
* Player instance.
*/
private Player player;
/**
* The player's inventory;
*/
private ItemStack[] items;
/**
* Construct the object.
*
* @param player
* @param player the player
*/
public BukkitPlayerBlockBag(Player player) {
this.player = player;
@ -59,17 +54,12 @@ public class BukkitPlayerBlockBag extends BlockBag {
/**
* Get the player.
*
* @return
* @return the player
*/
public Player getPlayer() {
return player;
}
/**
* Get a block.
*
* @param id
*/
@Override
public void fetchItem(BaseItem item) throws BlockBagException {
final int id = item.getType();
@ -125,11 +115,6 @@ public class BukkitPlayerBlockBag extends BlockBag {
}
}
/**
* Store a block.
*
* @param id
*/
@Override
public void storeItem(BaseItem item) throws BlockBagException {
final int id = item.getType();
@ -197,9 +182,6 @@ public class BukkitPlayerBlockBag extends BlockBag {
throw new OutOfSpaceException(id);
}
/**
* Flush any changes. This is called at the end.
*/
@Override
public void flushChanges() {
if (items != null) {
@ -208,21 +190,12 @@ public class BukkitPlayerBlockBag extends BlockBag {
}
}
/**
* Adds a position to be used a source.
*
* @param pos
*/
@Override
public void addSourcePosition(WorldVector pos) {
}
/**
* Adds a position to be used a source.
*
* @param pos
*/
@Override
public void addSingleSourcePosition(WorldVector pos) {
}
}

View File

@ -26,10 +26,10 @@ import org.bukkit.plugin.messaging.PluginMessageListener;
import java.nio.charset.Charset;
/**
* Handles incoming WorldEditCui init message
* @author zml2008
* Handles incoming WorldEditCui init message.
*/
public class CUIChannelListener implements PluginMessageListener {
public static final Charset UTF_8_CHARSET = Charset.forName("UTF-8");
private final WorldEditPlugin plugin;
@ -44,4 +44,5 @@ public class CUIChannelListener implements PluginMessageListener {
session.handleCUIInitializationMessage(text);
session.describeCUI(plugin.wrapPlayer(player));
}
}

View File

@ -28,16 +28,16 @@ import com.sk89q.worldedit.blocks.BaseBlock;
/**
* Proxy class to catch calls to set blocks.
*
* @author sk89q
*/
public class EditSessionBlockChangeDelegate implements BlockChangeDelegate {
private EditSession editSession;
public EditSessionBlockChangeDelegate(EditSession editSession) {
this.editSession = editSession;
}
@Override
public boolean setRawTypeId(int x, int y, int z, int typeId) {
try {
return editSession.setBlock(new Vector(x, y, z), new BaseBlock(typeId));
@ -46,6 +46,7 @@ public class EditSessionBlockChangeDelegate implements BlockChangeDelegate {
}
}
@Override
public boolean setRawTypeIdAndData(int x, int y, int z, int typeId, int data) {
try {
return editSession.setBlock(new Vector(x, y, z), new BaseBlock(typeId, data));
@ -54,23 +55,29 @@ public class EditSessionBlockChangeDelegate implements BlockChangeDelegate {
}
}
@Override
public boolean setTypeId(int x, int y, int z, int typeId) {
return setRawTypeId(x, y, z, typeId);
}
@Override
public boolean setTypeIdAndData(int x, int y, int z, int typeId, int data) {
return setRawTypeIdAndData(x, y, z, typeId, data);
}
@Override
public int getTypeId(int x, int y, int z) {
return editSession.getBlockType(new Vector(x, y, z));
}
@Override
public int getHeight() {
return editSession.getWorld().getMaxY() + 1;
}
@Override
public boolean isEmpty(int x, int y, int z) {
return editSession.getBlockType(new Vector(x, y, z)) == BlockID.AIR;
}
}

View File

@ -22,7 +22,12 @@ package com.sk89q.worldedit.bukkit;
import org.bukkit.entity.Player;
import com.sk89q.worldedit.LocalSession;
/**
* @deprecated use the regular API
*/
@Deprecated
public class WorldEditAPI {
private WorldEditPlugin plugin;
public WorldEditAPI(WorldEditPlugin plugin) {
@ -32,11 +37,12 @@ public class WorldEditAPI {
/**
* Get the session for a player.
*
* @param player
* @return
* @param player the player
* @return a session
*/
public LocalSession getSession(Player player) {
return plugin.getWorldEdit().getSession(
new BukkitPlayer(plugin, plugin.getServerInterface(), player));
}
}

View File

@ -55,7 +55,7 @@ public class WorldEditListener implements Listener {
/**
* Construct the object;
*
* @param plugin
* @param plugin the plugin
*/
public WorldEditListener(WorldEditPlugin plugin) {
this.plugin = plugin;
@ -67,7 +67,7 @@ public class WorldEditListener implements Listener {
return;
}
// this will automatically refresh their sesssion, we don't have to do anything
// this will automatically refresh their session, we don't have to do anything
WorldEdit.getInstance().getSession(plugin.wrapPlayer(event.getPlayer()));
}

View File

@ -71,9 +71,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
/**
* Plugin for Bukkit.
*
* @author sk89q
*/
@SuppressWarnings("deprecation")
public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
private static final Logger log = Logger.getLogger(WorldEditPlugin.class.getCanonicalName());
@ -88,10 +87,12 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Called on plugin enable.
*/
@SuppressWarnings("AccessStaticViaInstance")
@Override
public void onEnable() {
this.INSTANCE = this;
//noinspection ResultOfMethodCallIgnored
getDataFolder().mkdirs();
WorldEdit worldEdit = WorldEdit.getInstance();
@ -191,8 +192,7 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
protected void createDefaultConfiguration(String name) {
File actual = new File(getDataFolder(), name);
if (!actual.exists()) {
InputStream input =
null;
InputStream input = null;
try {
JarFile file = new JarFile(getFile());
ZipEntry copy = file.getEntry("defaults/" + name);
@ -207,26 +207,24 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
try {
output = new FileOutputStream(actual);
byte[] buf = new byte[8192];
int length = 0;
int length;
while ((length = input.read(buf)) > 0) {
output.write(buf, 0, length);
}
getLogger().info("Default configuration file written: " + name);
} catch (IOException e) {
e.printStackTrace();
getLogger().log(Level.WARNING, "Failed to write default config file", e);
} finally {
try {
if (input != null) {
input.close();
}
} catch (IOException e) {}
input.close();
} catch (IOException ignored) {}
try {
if (output != null) {
output.close();
}
} catch (IOException e) {}
} catch (IOException ignored) {}
}
}
}
@ -262,8 +260,8 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Gets the session for the player.
*
* @param player
* @return
* @param player a player
* @return a session
*/
public LocalSession getSession(Player player) {
return WorldEdit.getInstance().getSession(wrapPlayer(player));
@ -272,8 +270,8 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Gets the session for the player.
*
* @param player
* @return
* @param player a player
* @return a session
*/
public EditSession createEditSession(Player player) {
LocalPlayer wePlayer = wrapPlayer(player);
@ -290,8 +288,8 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Remember an edit session.
*
* @param player
* @param editSession
* @param player a player
* @param editSession an edit session
*/
public void remember(Player player, EditSession editSession) {
LocalPlayer wePlayer = wrapPlayer(player);
@ -306,10 +304,12 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Wrap an operation into an EditSession.
*
* @param player
* @param op
* @throws Throwable
* @param player a player
* @param op the operation
* @throws Throwable on any error
* @deprecated use the regular API
*/
@Deprecated
public void perform(Player player, WorldEditOperation op) throws Throwable {
LocalPlayer wePlayer = wrapPlayer(player);
LocalSession session = WorldEdit.getInstance().getSession(wePlayer);
@ -325,7 +325,8 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Get the API.
*
* @return
* @return the API
* @deprecated use the regular API
*/
@Deprecated
public WorldEditAPI getAPI() {
@ -335,7 +336,7 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Returns the configuration used by WorldEdit.
*
* @return
* @return the configuration
*/
public BukkitConfiguration getLocalConfiguration() {
return config;
@ -344,7 +345,7 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Get the permissions resolver in use.
*
* @return
* @return the permissions resolver
*/
public PermissionsResolverManager getPermissionsResolver() {
return PermissionsResolverManager.getInstance();
@ -353,8 +354,8 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Used to wrap a Bukkit Player as a LocalPlayer.
*
* @param player
* @return
* @param player a player
* @return a wrapped player
*/
public BukkitPlayer wrapPlayer(Player player) {
return new BukkitPlayer(this, this.server, player);
@ -371,7 +372,7 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Get the server interface.
*
* @return
* @return the server interface
*/
public ServerInterface getServerInterface() {
return server;
@ -384,7 +385,7 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Get WorldEdit.
*
* @return
* @return an instance
*/
public WorldEdit getWorldEdit() {
return WorldEdit.getInstance();
@ -393,7 +394,7 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Gets the region selection for the player.
*
* @param player
* @param player aplayer
* @return the selection or null if there was none
*/
public Selection getSelection(Player player) {
@ -428,8 +429,8 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
/**
* Sets the region selection for a player.
*
* @param player
* @param selection
* @param player the player
* @param selection a selection
*/
public void setSelection(Player player, Selection selection) {
if (player == null) {

View File

@ -26,10 +26,8 @@ import org.bukkit.entity.EntityType;
import java.util.UUID;
/**
* @author zml2008
*/
public class BukkitEntity extends LocalEntity {
private final EntityType type;
private final UUID entityId;
@ -48,4 +46,5 @@ public class BukkitEntity extends LocalEntity {
org.bukkit.Location loc = BukkitUtil.toLocation(weLoc);
return loc.getWorld().spawn(loc, type.getEntityClass()) != null;
}
}

View File

@ -26,10 +26,8 @@ import org.bukkit.entity.ExperienceOrb;
import java.util.UUID;
/**
* @author zml2008
*/
public class BukkitExpOrb extends BukkitEntity {
private final int amount;
public BukkitExpOrb(Location loc, UUID entityId, int amount) {
@ -47,4 +45,5 @@ public class BukkitExpOrb extends BukkitEntity {
}
return false;
}
}

View File

@ -26,10 +26,8 @@ import org.bukkit.inventory.ItemStack;
import java.util.UUID;
/**
* @author zml2008
*/
public class BukkitItem extends BukkitEntity {
private final ItemStack stack;
public BukkitItem(Location loc, ItemStack stack, UUID entityId) {
super(loc, EntityType.DROPPED_ITEM, entityId);
@ -41,4 +39,5 @@ public class BukkitItem extends BukkitEntity {
org.bukkit.Location loc = BukkitUtil.toLocation(weLoc);
return loc.getWorld().dropItem(loc, stack) != null;
}
}

View File

@ -30,18 +30,20 @@ import org.bukkit.entity.Painting;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* @author zml2008
*/
public class BukkitPainting extends BukkitEntity {
private static final Logger log = Logger.getLogger(BukkitPainting.class.getCanonicalName());
private static int spawnTask = -1;
private static final Deque<QueuedPaintingSpawn> spawnQueue = new ArrayDeque<QueuedPaintingSpawn>();
private class QueuedPaintingSpawn {
private final Location weLoc;
public QueuedPaintingSpawn(Location weLoc) {
private QueuedPaintingSpawn(Location weLoc) {
this.weLoc = weLoc;
}
@ -49,6 +51,7 @@ public class BukkitPainting extends BukkitEntity {
spawnRaw(weLoc);
}
}
private static class PaintingSpawnRunnable implements Runnable {
@Override
public void run() {
@ -58,7 +61,7 @@ public class BukkitPainting extends BukkitEntity {
try {
spawn.spawn();
} catch (Throwable t) {
t.printStackTrace();
log.log(Level.WARNING, "Failed to spawn painting", t);
continue;
}
}
@ -82,6 +85,7 @@ public class BukkitPainting extends BukkitEntity {
* @param weLoc The WorldEdit location
* @return Whether the spawn as successful
*/
@Override
public boolean spawn(Location weLoc) {
synchronized (spawnQueue) {
spawnQueue.add(new QueuedPaintingSpawn(weLoc));
@ -102,4 +106,5 @@ public class BukkitPainting extends BukkitEntity {
}
return false;
}
}

View File

@ -24,7 +24,6 @@ import java.util.List;
import com.sk89q.worldedit.LocalWorld;
import com.sk89q.worldedit.regions.selector.Polygonal2DRegionSelector;
import com.sk89q.worldedit.regions.RegionSelector;
import org.bukkit.World;
import com.sk89q.worldedit.BlockVector2D;
import com.sk89q.worldedit.bukkit.BukkitUtil;

View File

@ -52,6 +52,7 @@ public abstract class RegionSelection implements Selection {
this.region = region;
}
@Override
public RegionSelector getRegionSelector() {
return selector;
}
@ -60,48 +61,58 @@ public abstract class RegionSelection implements Selection {
this.selector = selector;
}
@Override
public Location getMinimumPoint() {
return toLocation(world, region.getMinimumPoint());
}
@Override
public Vector getNativeMinimumPoint() {
return region.getMinimumPoint();
}
@Override
public Location getMaximumPoint() {
return toLocation(world, region.getMaximumPoint());
}
@Override
public Vector getNativeMaximumPoint() {
return region.getMaximumPoint();
}
@Override
public World getWorld() {
return world;
}
@Override
public int getArea() {
return region.getArea();
}
@Override
public int getWidth() {
return region.getWidth();
}
@Override
public int getHeight() {
return region.getHeight();
}
@Override
public int getLength() {
return region.getLength();
}
public boolean contains(Location pt) {
if (!pt.getWorld().equals(world)) {
@Override
public boolean contains(Location position) {
if (!position.getWorld().equals(world)) {
return false;
}
return region.contains(toVector(pt));
return region.contains(toVector(position));
}
}

View File

@ -24,7 +24,13 @@ import org.bukkit.World;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.regions.RegionSelector;
import javax.annotation.Nullable;
/**
* An abstraction of WorldEdit regions, which do not use Bukkit objects.
*/
public interface Selection {
/**
* Get the lower point of a region.
*
@ -56,15 +62,16 @@ public interface Selection {
/**
* Get the region selector. This is for internal use.
*
* @return
* @return the region selector
*/
public RegionSelector getRegionSelector();
/**
* Get the world.
*
* @return
* @return the world, which may be null
*/
@Nullable
public World getWorld();
/**
@ -98,8 +105,9 @@ public interface Selection {
/**
* Returns true based on whether the region contains the point,
*
* @param pt
* @return
* @param position a vector
* @return true if it is contained
*/
public boolean contains(Location pt);
public boolean contains(Location position);
}