diff --git a/pom.xml b/pom.xml index fb6f0ef..dbbd685 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.me.tft_02.soulbound Soulbound - 1.1.10-SNAPSHOT + 1.1.12 Soulbound https://github.com/TfT-02/Soulbound @@ -12,13 +12,10 @@ ${project.name} - src - src - - **/*.java - + src/main/resources + true @@ -30,13 +27,50 @@ 1.7 + + org.apache.maven.plugins + maven-shade-plugin + 2.3 + + false + true + + + cn.citycraft:PluginHelper + org.mcstats.*:* + + + + + org.mcstats + ${project.groupId}.${project.artifactId}.mcstats + + + cn.citycraft.PluginHelper + ${project.groupId}.${project.artifactId} + + + + + + package + + shade + + + + - - mengcraft-repo - http://ci.mengcraft.com:8080/plugin/repository/everything/ - + + mengcraft-repo + http://ci.mengcraft.com:8080/plugin/repository/everything/ + + + citycraft-repo + http://ci.citycraft.cn:8800/jenkins/plugin/repository/everything/ + spigot-repo https://hub.spigotmc.org/nexus/content/groups/public/ @@ -49,8 +83,21 @@ jar 1.8.3-R0.1-SNAPSHOT + + cn.citycraft + PluginHelper + jar + 1.0 + + + org.mcstats.bukkit + metrics + R8-SNAPSHOT + compile + UTF-8 + Soulbound items for your RPG servers! diff --git a/src/com/me/tft_02/soulbound/configs/ConfigLoader.java b/src/com/me/tft_02/soulbound/configs/ConfigLoader.java deleted file mode 100644 index b3464dd..0000000 --- a/src/com/me/tft_02/soulbound/configs/ConfigLoader.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.me.tft_02.soulbound.configs; - -import java.io.File; -import java.io.IOException; - -import org.bukkit.plugin.Plugin; - -public class ConfigLoader extends FileConfig { - protected static FileConfig config; - protected static boolean tip = true; - protected static Plugin plugin; - - public ConfigLoader(Plugin p, File file) { - ConfigLoader.plugin = p; - config = loadConfig(p, file, null, true); - } - - public ConfigLoader(Plugin p, File file, boolean res) { - ConfigLoader.plugin = p; - config = loadConfig(p, file, null, res); - } - - public ConfigLoader(Plugin p, File file, String ver) { - ConfigLoader.plugin = p; - config = loadConfig(p, file, ver, true); - } - - public ConfigLoader(Plugin p, File file, String ver, boolean res) { - ConfigLoader.plugin = p; - config = loadConfig(p, file, ver, res); - } - - public ConfigLoader(Plugin p, String filename) { - ConfigLoader.plugin = p; - config = loadConfig(p, new File(p.getDataFolder(), filename), null, - true); - } - - public ConfigLoader(Plugin p, String filename, boolean res) { - ConfigLoader.plugin = p; - config = loadConfig(p, new File(p.getDataFolder(), filename), null, res); - } - - public ConfigLoader(Plugin p, String filename, String ver) { - ConfigLoader.plugin = p; - config = loadConfig(p, new File(p.getDataFolder(), filename), ver, true); - } - - public ConfigLoader(Plugin p, String filename, String ver, boolean res) { - ConfigLoader.plugin = p; - config = loadConfig(p, new File(p.getDataFolder(), filename), ver, true); - } - - public static FileConfig getInstance() { - return config; - } - - public FileConfig loadConfig(Plugin p, File file, String ver, boolean res) { - tip = res ; - if (!file.getParentFile().exists()) { - file.getParentFile().mkdirs(); - p.getLogger().info("创建新的文件夹" + file.getAbsolutePath() + "..."); - } - if (!file.exists()) { - fileCreate(p, file, res); - } else { - if (ver != null) { - FileConfig configcheck = init(file); - String version = configcheck.getString("version"); - if (version == null || !version.equals(ver)) { - p.saveResource(file.getName(), true); - p.getLogger().warning( - "配置文件: " + file.getName() + " 版本过低 正在升级..."); - } - } - } - if (tip) - p.getLogger().info( - "载入配置文件: " + file.getName() - + (ver != null ? " 版本: " + ver : "")); - return init(file); - } - - private void fileCreate(Plugin p, File file, boolean res) { - if (res) { - p.saveResource(file.getName(), false); - } else { - try { - p.getLogger().info("创建新的配置文件" + file.getAbsolutePath() + "..."); - file.createNewFile(); - } catch (IOException e) { - p.getLogger().info("配置文件" + file.getName() + "创建失败..."); - e.printStackTrace(); - } - } - } - - public static void saveError(File file) { - plugin.getLogger().info("配置文件" + file.getName() + "保存错误..."); - } - -} diff --git a/src/com/me/tft_02/soulbound/configs/FileConfig.java b/src/com/me/tft_02/soulbound/configs/FileConfig.java deleted file mode 100644 index cc83c14..0000000 --- a/src/com/me/tft_02/soulbound/configs/FileConfig.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.me.tft_02.soulbound.configs; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.Reader; -import java.io.Writer; -import java.util.logging.Level; - -import org.apache.commons.lang.Validate; -import org.bukkit.Bukkit; -import org.bukkit.configuration.Configuration; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.configuration.file.YamlConstructor; -import org.bukkit.configuration.file.YamlRepresenter; -import org.yaml.snakeyaml.DumperOptions; -import org.yaml.snakeyaml.Yaml; -import org.yaml.snakeyaml.representer.Representer; - -import com.google.common.base.Charsets; -import com.google.common.io.Files; - -/** - * An implementation of {@link Configuration} which saves all files in Yaml. - * Note that this implementation is not synchronized. - */ -public class FileConfig extends YamlConfiguration { - - public static FileConfig init(File file) { - return FileConfig.loadConfiguration(file); - } - - public static FileConfig loadConfiguration(File file) { - Validate.notNull(file, "File cannot be null"); - FileConfig config = new FileConfig(); - try { - config.load(file); - } catch (FileNotFoundException ex) { - } catch (IOException ex) { - Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + file, ex); - } catch (InvalidConfigurationException ex) { - Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + file, ex); - } - return config; - } - - protected final DumperOptions yamlOptions = new DumperOptions(); - - protected final Representer yamlRepresenter = new YamlRepresenter(); - - protected final Yaml yaml = new Yaml(new YamlConstructor(), - yamlRepresenter, yamlOptions); - - @Override - public void load(File file) throws FileNotFoundException, IOException, - InvalidConfigurationException { - Validate.notNull(file, "File cannot be null"); - final FileInputStream stream = new FileInputStream(file); - load(new InputStreamReader(stream, Charsets.UTF_8)); - } - - @Override - public void load(Reader reader) throws IOException, InvalidConfigurationException { - BufferedReader input = (reader instanceof BufferedReader) ? (BufferedReader) reader - : new BufferedReader(reader); - StringBuilder builder = new StringBuilder(); - try { - String line; - while ((line = input.readLine()) != null) { - builder.append(line); - builder.append('\n'); - } - } finally { - input.close(); - } - loadFromString(builder.toString()); - } - @Override - public void save(File file) throws IOException { - Validate.notNull(file, "File cannot be null"); - Files.createParentDirs(file); - String data = saveToString(); - Writer writer = new OutputStreamWriter(new FileOutputStream(file), - Charsets.UTF_8); - try { - writer.write(data); - } finally { - writer.close(); - } - } - - @Override - public String saveToString() { - yamlOptions.setIndent(options().indent()); - yamlOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); - yamlRepresenter.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); - String header = buildHeader(); - String dump = yaml.dump(getValues(false)); - if (dump.equals(BLANK_CONFIG)) { - dump = ""; - } - return header + dump; - } -} diff --git a/src/com/me/tft_02/soulbound/configs/Message.java b/src/com/me/tft_02/soulbound/configs/Message.java deleted file mode 100644 index 920d46a..0000000 --- a/src/com/me/tft_02/soulbound/configs/Message.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.me.tft_02.soulbound.configs; - -import java.io.File; -import java.io.IOException; - -import org.bukkit.plugin.Plugin; - -public class Message extends ConfigLoader { - private static String CONFIG_NAME = "message.yml"; - private static FileConfig instance; - private static File file; - - public Message(Plugin p) { - super(p, CONFIG_NAME); - file = new File(p.getDataFolder(), CONFIG_NAME); - instance = super.getInstance(); - } - - public Message(Plugin p, String ver) { - super(p, CONFIG_NAME, ver); - instance = super.getInstance(); - } - - public static void load(Plugin p) { - new Message(p); - } - - public static void load(Plugin p, String ver) { - new Message(p, ver); - } - - public static FileConfig getInstance() { - return instance; - } - - public static String getMessage(String path) { - String message = instance.getString(path); - if (message != null) - message = message.replaceAll("&", "§"); - return message; - } - - public static String getHead(String path, String prevName) { - String message = instance.getString(path); - if (message != null) - message = message.replaceAll("&", "§").replaceAll("%player%", - prevName); - return message; - } - - public static String[] getStringArray(String path) { - return instance.getStringList(path).toArray(new String[0]); - } - - public static void save() { - try { - instance.save(file); - } catch (IOException e) { - saveError(file); - e.printStackTrace(); - } - } -} diff --git a/src/com/me/tft_02/soulbound/util/LogFilter.java b/src/com/me/tft_02/soulbound/util/LogFilter.java deleted file mode 100644 index 506f319..0000000 --- a/src/com/me/tft_02/soulbound/util/LogFilter.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.me.tft_02.soulbound.util; - -import java.util.logging.Filter; -import java.util.logging.LogRecord; - -import com.me.tft_02.soulbound.Soulbound; - -public class LogFilter implements Filter { - private boolean debug; - - public LogFilter(Soulbound plugin) { - // Doing a config loading lite here, because we can't depend on the config loader to have loaded before any debug messages are sent - debug = plugin.getConfig().getBoolean("General.Verbose_Logging"); - } - - @Override - public boolean isLoggable(LogRecord record) { - if (record.getMessage().contains("[Debug]") && !debug) { - return false; - } - - return true; - } -} diff --git a/src/com/me/tft_02/soulbound/util/VersionChecker.java b/src/com/me/tft_02/soulbound/util/VersionChecker.java deleted file mode 100644 index d8616de..0000000 --- a/src/com/me/tft_02/soulbound/util/VersionChecker.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.me.tft_02.soulbound.util; - -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.net.URL; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.plugin.Plugin; - -import com.google.common.base.Charsets; - -/** - * 自动更新类 - * - * @author 蒋天蓓 - * 2015年8月14日下午4:01:15 - */ -public class VersionChecker implements Listener { - Plugin plugin; - public String checkurl = "https://coding.net/u/502647092/p/%s/git/raw/%s/src/plugin.yml"; - public String branch = "master"; - - /** - * @param plugin - * - 插件 - */ - public VersionChecker(Plugin plugin) { - this.plugin = plugin; - plugin.getServer().getPluginManager().registerEvents(this, plugin); - this.versioncheck(null); - } - - /** - * @param plugin - * - 插件 - * @param branch - * - 分支名称 - */ - public VersionChecker(Plugin plugin, String branch) { - this.plugin = plugin; - plugin.getServer().getPluginManager().registerEvents(this, plugin); - this.branch = branch; - this.versioncheck(null); - } - - /** - * 获取插件更新链接 - * - * @param pluginName - * - 插件名称 - * @param branch - * - 插件分支 - * @return 更新链接 - */ - public String getCheckUrl(String pluginName, String branch) { - return String.format(checkurl, pluginName, branch); - } - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent e) { - if (e.getPlayer().isOp()) { - this.versioncheck(e.getPlayer()); - } - } - - /** - * 开始更新 - * - * @param player - * - 获取更新的玩家(null则默认为控制台) - */ - public void versioncheck(final Player player) { - Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() { - @Override - public void run() { - String readURL = getCheckUrl(plugin.getName(), branch); - FileConfiguration config; - String currentVersion = plugin.getDescription().getVersion(); - try { - URL url = new URL(readURL); - BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(), Charsets.UTF_8)); - config = YamlConfiguration.loadConfiguration(br); - String newVersion = config.getString("version"); - br.close(); - if (!newVersion.equals(currentVersion)) { - String[] msg = new String[] { - ChatColor.GREEN + plugin.getName() + " 插件最新版本 v" + newVersion, - ChatColor.RED + "服务器运行版本: v" + currentVersion, - ChatColor.GOLD + "插件更新网站: " + ChatColor.BLUE + plugin.getDescription().getWebsite() - }; - if (player != null) { - player.sendMessage(msg); - } else { - plugin.getServer().getConsoleSender().sendMessage(msg); - } - } - } catch (Exception e) { - plugin.getLogger().warning("版本更新检查失败!"); - } - } - }); - } - -} diff --git a/src/com/me/tft_02/soulbound/Soulbound.java b/src/main/java/com/me/tft_02/soulbound/Soulbound.java similarity index 74% rename from src/com/me/tft_02/soulbound/Soulbound.java rename to src/main/java/com/me/tft_02/soulbound/Soulbound.java index 392097b..c588151 100644 --- a/src/com/me/tft_02/soulbound/Soulbound.java +++ b/src/main/java/com/me/tft_02/soulbound/Soulbound.java @@ -1,12 +1,8 @@ package com.me.tft_02.soulbound; import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; @@ -18,14 +14,15 @@ import com.me.tft_02.soulbound.commands.SoulboundCommand; import com.me.tft_02.soulbound.commands.UnbindCommand; import com.me.tft_02.soulbound.config.Config; import com.me.tft_02.soulbound.config.ItemsConfig; -import com.me.tft_02.soulbound.configs.Message; import com.me.tft_02.soulbound.hooks.EpicBossRecodedListener; import com.me.tft_02.soulbound.listeners.BlockListener; import com.me.tft_02.soulbound.listeners.EntityListener; import com.me.tft_02.soulbound.listeners.InventoryListener; import com.me.tft_02.soulbound.listeners.PlayerListener; import com.me.tft_02.soulbound.util.LogFilter; -import com.me.tft_02.soulbound.util.VersionChecker; + +import cn.citycraft.PluginHelper.config.FileConfig; +import cn.citycraft.PluginHelper.utils.VersionChecker; public class Soulbound extends JavaPlugin { /* File Paths */ @@ -38,25 +35,32 @@ public class Soulbound extends JavaPlugin { // Checks for hooking into other plugins public static boolean epicBossRecodedEnabled = false; + public static boolean loreLocksEnabled = false; + FileConfig msgcfg; + FileConfig config; + // Update Check + private boolean updateAvailable; public static String getMainDirectory() { return mainDirectory; } - // Update Check - private boolean updateAvailable; - - public void debug(String message) { + public void debug(final String message) { getLogger().info("[Debug] " + message); } - public String getlang(String type) { + @Override + public FileConfiguration getConfig() { + return config; + } + + public String getlang(final String type) { return this.getmessage("Message." + type); } - public String getmessage(String path) { - String message = Message.getInstance().getString(path).replaceAll("&", "§"); + public String getmessage(final String path) { + final String message = msgcfg.getMessage(path); return message; } @@ -64,34 +68,6 @@ public class Soulbound extends JavaPlugin { return updateAvailable; } - public FileConfiguration Loadcfg(File cfgfile) { - if (!cfgfile.exists()) { - saveResource(cfgfile.getName(), false); - return YamlConfiguration.loadConfiguration(cfgfile); - } else - return YamlConfiguration.loadConfiguration(cfgfile); - } - - public void LoadConfig(FileConfiguration cfg, File cfgfile) throws FileNotFoundException, - IOException, InvalidConfigurationException { - if (!cfgfile.exists()) { - saveResource(cfgfile.getName(), false); - cfg.load(cfgfile); - } else { - cfg.load(cfgfile); - } - } - - private void loadConfigFiles() { - Config.getInstance(); - ItemsConfig.getInstance(); - } - - @Override - public void onLoad() { - Message.load(this); - }; - /** * Run things on enable. */ @@ -118,8 +94,25 @@ public class Soulbound extends JavaPlugin { new VersionChecker(this); } + @Override + public void onLoad() { + msgcfg = new FileConfig(this, "message.yml"); + config = new FileConfig(this); + } + + @Override + public void reloadConfig() { + msgcfg.reload(); + config.reload(); + } + + private void loadConfigFiles() { + Config.getInstance(); + ItemsConfig.getInstance(); + } + private void registerEvents() { - PluginManager pm = getServer().getPluginManager(); + final PluginManager pm = getServer().getPluginManager(); pm.registerEvents(new PlayerListener(), this); pm.registerEvents(new InventoryListener(), this); pm.registerEvents(new EntityListener(), this); diff --git a/src/com/me/tft_02/soulbound/api/ItemAPI.java b/src/main/java/com/me/tft_02/soulbound/api/ItemAPI.java similarity index 100% rename from src/com/me/tft_02/soulbound/api/ItemAPI.java rename to src/main/java/com/me/tft_02/soulbound/api/ItemAPI.java diff --git a/src/com/me/tft_02/soulbound/commands/BindCommand.java b/src/main/java/com/me/tft_02/soulbound/commands/BindCommand.java similarity index 100% rename from src/com/me/tft_02/soulbound/commands/BindCommand.java rename to src/main/java/com/me/tft_02/soulbound/commands/BindCommand.java diff --git a/src/com/me/tft_02/soulbound/commands/BindOnEquipCommand.java b/src/main/java/com/me/tft_02/soulbound/commands/BindOnEquipCommand.java similarity index 100% rename from src/com/me/tft_02/soulbound/commands/BindOnEquipCommand.java rename to src/main/java/com/me/tft_02/soulbound/commands/BindOnEquipCommand.java diff --git a/src/com/me/tft_02/soulbound/commands/BindOnPickupCommand.java b/src/main/java/com/me/tft_02/soulbound/commands/BindOnPickupCommand.java similarity index 100% rename from src/com/me/tft_02/soulbound/commands/BindOnPickupCommand.java rename to src/main/java/com/me/tft_02/soulbound/commands/BindOnPickupCommand.java diff --git a/src/com/me/tft_02/soulbound/commands/BindOnUseCommand.java b/src/main/java/com/me/tft_02/soulbound/commands/BindOnUseCommand.java similarity index 100% rename from src/com/me/tft_02/soulbound/commands/BindOnUseCommand.java rename to src/main/java/com/me/tft_02/soulbound/commands/BindOnUseCommand.java diff --git a/src/com/me/tft_02/soulbound/commands/SoulboundCommand.java b/src/main/java/com/me/tft_02/soulbound/commands/SoulboundCommand.java similarity index 82% rename from src/com/me/tft_02/soulbound/commands/SoulboundCommand.java rename to src/main/java/com/me/tft_02/soulbound/commands/SoulboundCommand.java index 986075b..af9c40f 100644 --- a/src/com/me/tft_02/soulbound/commands/SoulboundCommand.java +++ b/src/main/java/com/me/tft_02/soulbound/commands/SoulboundCommand.java @@ -6,15 +6,13 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.me.tft_02.soulbound.Soulbound; -import com.me.tft_02.soulbound.configs.Message; public class SoulboundCommand implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(final CommandSender sender, final Command command, final String label, final String[] args) { switch (args.length) { case 0: - sender.sendMessage(Soulbound.p.getlang("VERSION") - + Soulbound.p.getDescription().getVersion()); + sender.sendMessage(Soulbound.p.getlang("VERSION") + Soulbound.p.getDescription().getVersion()); return printUsage(sender); case 1: if (args[0].equalsIgnoreCase("reload")) { @@ -32,39 +30,14 @@ public class SoulboundCommand implements CommandExecutor { } } - private boolean reloadConfiguration(CommandSender sender) { - if (sender instanceof Player && !sender.hasPermission("soulbound.commands.reload")) { - return false; - } - - Soulbound.p.reloadConfig(); - Message.load(Soulbound.p); - sender.sendMessage(Soulbound.p.getlang("RELOAD")); - return false; - } - - private boolean helpPages(CommandSender sender, String[] args) { - if (!(sender instanceof Player)) { - sender.sendMessage(Soulbound.p.getlang("CAN_NOT_USE_ON_CONSOLE")); - return false; - } - if (args.length >= 2 && Integer.parseInt(args[1]) > 0) { - getHelpPage(Integer.parseInt(args[1]), sender); - return true; - } - return false; - } - - private void getHelpPage(int page, CommandSender sender) { - int maxPages = 2; - int nextPage = page + 1; + private void getHelpPage(final int page, final CommandSender sender) { + final int maxPages = 2; + final int nextPage = page + 1; if (page > maxPages) { - sender.sendMessage(Soulbound.p.getlang("PAGE_NOT_EXIST".replace("%maxPages%", maxPages - + ""))); + sender.sendMessage(Soulbound.p.getlang("PAGE_NOT_EXIST".replace("%maxPages%", maxPages + ""))); return; } - sender.sendMessage(Soulbound.p.getlang("HELP_TITLE").replace("%page%", page + "") - .replace("%maxPages%", maxPages + "")); + sender.sendMessage(Soulbound.p.getlang("HELP_TITLE").replace("%page%", page + "").replace("%maxPages%", maxPages + "")); if (page == 1) { sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK")); sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_1")); @@ -104,8 +77,29 @@ public class SoulboundCommand implements CommandExecutor { } } - private boolean printUsage(CommandSender sender) { + private boolean helpPages(final CommandSender sender, final String[] args) { + if (!(sender instanceof Player)) { + sender.sendMessage(Soulbound.p.getlang("CAN_NOT_USE_ON_CONSOLE")); + return false; + } + if (args.length >= 2 && Integer.parseInt(args[1]) > 0) { + getHelpPage(Integer.parseInt(args[1]), sender); + return true; + } + return false; + } + + private boolean printUsage(final CommandSender sender) { sender.sendMessage(Soulbound.p.getlang("CMD_USE")); return false; } + + private boolean reloadConfiguration(final CommandSender sender) { + if (sender instanceof Player && !sender.hasPermission("soulbound.commands.reload")) { + return false; + } + Soulbound.p.reloadConfig(); + sender.sendMessage(Soulbound.p.getlang("RELOAD")); + return false; + } } diff --git a/src/com/me/tft_02/soulbound/commands/UnbindCommand.java b/src/main/java/com/me/tft_02/soulbound/commands/UnbindCommand.java similarity index 100% rename from src/com/me/tft_02/soulbound/commands/UnbindCommand.java rename to src/main/java/com/me/tft_02/soulbound/commands/UnbindCommand.java diff --git a/src/com/me/tft_02/soulbound/config/AutoUpdateConfigLoader.java b/src/main/java/com/me/tft_02/soulbound/config/AutoUpdateConfigLoader.java similarity index 100% rename from src/com/me/tft_02/soulbound/config/AutoUpdateConfigLoader.java rename to src/main/java/com/me/tft_02/soulbound/config/AutoUpdateConfigLoader.java diff --git a/src/com/me/tft_02/soulbound/config/Config.java b/src/main/java/com/me/tft_02/soulbound/config/Config.java similarity index 100% rename from src/com/me/tft_02/soulbound/config/Config.java rename to src/main/java/com/me/tft_02/soulbound/config/Config.java diff --git a/src/com/me/tft_02/soulbound/config/ConfigLoader.java b/src/main/java/com/me/tft_02/soulbound/config/ConfigLoader.java similarity index 100% rename from src/com/me/tft_02/soulbound/config/ConfigLoader.java rename to src/main/java/com/me/tft_02/soulbound/config/ConfigLoader.java diff --git a/src/com/me/tft_02/soulbound/config/ItemsConfig.java b/src/main/java/com/me/tft_02/soulbound/config/ItemsConfig.java similarity index 100% rename from src/com/me/tft_02/soulbound/config/ItemsConfig.java rename to src/main/java/com/me/tft_02/soulbound/config/ItemsConfig.java diff --git a/src/com/me/tft_02/soulbound/datatypes/ActionType.java b/src/main/java/com/me/tft_02/soulbound/datatypes/ActionType.java similarity index 100% rename from src/com/me/tft_02/soulbound/datatypes/ActionType.java rename to src/main/java/com/me/tft_02/soulbound/datatypes/ActionType.java diff --git a/src/com/me/tft_02/soulbound/datatypes/SoulbindItem.java b/src/main/java/com/me/tft_02/soulbound/datatypes/SoulbindItem.java similarity index 100% rename from src/com/me/tft_02/soulbound/datatypes/SoulbindItem.java rename to src/main/java/com/me/tft_02/soulbound/datatypes/SoulbindItem.java diff --git a/src/com/me/tft_02/soulbound/events/SoulbindItemEvent.java b/src/main/java/com/me/tft_02/soulbound/events/SoulbindItemEvent.java similarity index 100% rename from src/com/me/tft_02/soulbound/events/SoulbindItemEvent.java rename to src/main/java/com/me/tft_02/soulbound/events/SoulbindItemEvent.java diff --git a/src/com/me/tft_02/soulbound/hooks/EpicBossRecodedListener.java b/src/main/java/com/me/tft_02/soulbound/hooks/EpicBossRecodedListener.java similarity index 100% rename from src/com/me/tft_02/soulbound/hooks/EpicBossRecodedListener.java rename to src/main/java/com/me/tft_02/soulbound/hooks/EpicBossRecodedListener.java diff --git a/src/com/me/tft_02/soulbound/listeners/BlockListener.java b/src/main/java/com/me/tft_02/soulbound/listeners/BlockListener.java similarity index 100% rename from src/com/me/tft_02/soulbound/listeners/BlockListener.java rename to src/main/java/com/me/tft_02/soulbound/listeners/BlockListener.java diff --git a/src/com/me/tft_02/soulbound/listeners/EntityListener.java b/src/main/java/com/me/tft_02/soulbound/listeners/EntityListener.java similarity index 100% rename from src/com/me/tft_02/soulbound/listeners/EntityListener.java rename to src/main/java/com/me/tft_02/soulbound/listeners/EntityListener.java diff --git a/src/com/me/tft_02/soulbound/listeners/InventoryListener.java b/src/main/java/com/me/tft_02/soulbound/listeners/InventoryListener.java similarity index 100% rename from src/com/me/tft_02/soulbound/listeners/InventoryListener.java rename to src/main/java/com/me/tft_02/soulbound/listeners/InventoryListener.java diff --git a/src/com/me/tft_02/soulbound/listeners/PlayerListener.java b/src/main/java/com/me/tft_02/soulbound/listeners/PlayerListener.java similarity index 100% rename from src/com/me/tft_02/soulbound/listeners/PlayerListener.java rename to src/main/java/com/me/tft_02/soulbound/listeners/PlayerListener.java diff --git a/src/com/me/tft_02/soulbound/listeners/SelfListener.java b/src/main/java/com/me/tft_02/soulbound/listeners/SelfListener.java similarity index 100% rename from src/com/me/tft_02/soulbound/listeners/SelfListener.java rename to src/main/java/com/me/tft_02/soulbound/listeners/SelfListener.java diff --git a/src/com/me/tft_02/soulbound/runnables/SoulbindInventoryTask.java b/src/main/java/com/me/tft_02/soulbound/runnables/SoulbindInventoryTask.java similarity index 100% rename from src/com/me/tft_02/soulbound/runnables/SoulbindInventoryTask.java rename to src/main/java/com/me/tft_02/soulbound/runnables/SoulbindInventoryTask.java diff --git a/src/com/me/tft_02/soulbound/runnables/UpdateArmorTask.java b/src/main/java/com/me/tft_02/soulbound/runnables/UpdateArmorTask.java similarity index 100% rename from src/com/me/tft_02/soulbound/runnables/UpdateArmorTask.java rename to src/main/java/com/me/tft_02/soulbound/runnables/UpdateArmorTask.java diff --git a/src/com/me/tft_02/soulbound/runnables/UpdateInventoryTask.java b/src/main/java/com/me/tft_02/soulbound/runnables/UpdateInventoryTask.java similarity index 100% rename from src/com/me/tft_02/soulbound/runnables/UpdateInventoryTask.java rename to src/main/java/com/me/tft_02/soulbound/runnables/UpdateInventoryTask.java diff --git a/src/com/me/tft_02/soulbound/util/CommandUtils.java b/src/main/java/com/me/tft_02/soulbound/util/CommandUtils.java similarity index 100% rename from src/com/me/tft_02/soulbound/util/CommandUtils.java rename to src/main/java/com/me/tft_02/soulbound/util/CommandUtils.java diff --git a/src/com/me/tft_02/soulbound/util/DurabilityUtils.java b/src/main/java/com/me/tft_02/soulbound/util/DurabilityUtils.java similarity index 100% rename from src/com/me/tft_02/soulbound/util/DurabilityUtils.java rename to src/main/java/com/me/tft_02/soulbound/util/DurabilityUtils.java diff --git a/src/com/me/tft_02/soulbound/util/ItemUtils.java b/src/main/java/com/me/tft_02/soulbound/util/ItemUtils.java similarity index 100% rename from src/com/me/tft_02/soulbound/util/ItemUtils.java rename to src/main/java/com/me/tft_02/soulbound/util/ItemUtils.java diff --git a/src/main/java/com/me/tft_02/soulbound/util/LogFilter.java b/src/main/java/com/me/tft_02/soulbound/util/LogFilter.java new file mode 100644 index 0000000..8ebbf8b --- /dev/null +++ b/src/main/java/com/me/tft_02/soulbound/util/LogFilter.java @@ -0,0 +1,23 @@ +package com.me.tft_02.soulbound.util; + +import java.util.logging.Filter; +import java.util.logging.LogRecord; + +import com.me.tft_02.soulbound.Soulbound; + +public class LogFilter implements Filter { + private final boolean debug; + + public LogFilter(final Soulbound plugin) { + // Doing a config loading lite here, because we can't depend on the config loader to have loaded before any debug messages are sent + debug = plugin.getConfig().getBoolean("General.Verbose_Logging"); + } + + @Override + public boolean isLoggable(final LogRecord record) { + if (record.getMessage().contains("[Debug]") && !debug) { + return false; + } + return true; + } +} diff --git a/src/com/me/tft_02/soulbound/util/Misc.java b/src/main/java/com/me/tft_02/soulbound/util/Misc.java similarity index 100% rename from src/com/me/tft_02/soulbound/util/Misc.java rename to src/main/java/com/me/tft_02/soulbound/util/Misc.java diff --git a/src/com/me/tft_02/soulbound/util/Permissions.java b/src/main/java/com/me/tft_02/soulbound/util/Permissions.java similarity index 100% rename from src/com/me/tft_02/soulbound/util/Permissions.java rename to src/main/java/com/me/tft_02/soulbound/util/Permissions.java diff --git a/src/com/me/tft_02/soulbound/util/PlayerData.java b/src/main/java/com/me/tft_02/soulbound/util/PlayerData.java similarity index 100% rename from src/com/me/tft_02/soulbound/util/PlayerData.java rename to src/main/java/com/me/tft_02/soulbound/util/PlayerData.java diff --git a/src/com/me/tft_02/soulbound/util/StringUtils.java b/src/main/java/com/me/tft_02/soulbound/util/StringUtils.java similarity index 100% rename from src/com/me/tft_02/soulbound/util/StringUtils.java rename to src/main/java/com/me/tft_02/soulbound/util/StringUtils.java diff --git a/src/config.yml b/src/main/resources/config.yml similarity index 74% rename from src/config.yml rename to src/main/resources/config.yml index aa38a82..1a30bf2 100644 --- a/src/config.yml +++ b/src/main/resources/config.yml @@ -34,17 +34,7 @@ Soulbound: /enchant Dependency_Plugins: - DiabloDrops: - BindOnPickup: Legendary, Rare, Unidentified - BindOnUse: Magical - BindOnEquip: Set EpicBossRecoded: BindOnPickup: true BindOnUse: false - BindOnEquip: false - LoreLocks: - Bind_Keys: true - MythicDrops: - BindOnPickup: common, uncommon, rare - BindOnUse: terric, netheric - BindOnEquip: endric \ No newline at end of file + BindOnEquip: false \ No newline at end of file diff --git a/src/items.yml b/src/main/resources/items.yml similarity index 100% rename from src/items.yml rename to src/main/resources/items.yml diff --git a/src/message.yml b/src/main/resources/message.yml similarity index 100% rename from src/message.yml rename to src/main/resources/message.yml diff --git a/src/plugin.yml b/src/main/resources/plugin.yml similarity index 92% rename from src/plugin.yml rename to src/main/resources/plugin.yml index 0e12057..b4a2b3f 100644 --- a/src/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,10 +1,10 @@ -name: Soulbound -version: 1.1.11 -author: TfT_02,喵♂呜 +name: ${project.artifactId} +description: ${project.description} +authors: [TfT_02,喵♂呜] +version: ${project.version} main: com.me.tft_02.soulbound.Soulbound website: http://ci.citycraft.cn:8800/jenkins/job/Soulbound/ -description: Soulbound items for your RPG servers! -softdepend: [EpicBossRecoded, LoreLocks] +softdepend: [EpicBossRecoded] commands: soulbound: description: Usage /soulbound