From 2b1445730942e660c6ab68c5bc44ad49f4a1511f Mon Sep 17 00:00:00 2001 From: Izzel_Aliz Date: Wed, 9 May 2018 13:04:58 +0800 Subject: [PATCH] . --- .gitignore | 17 +- src/main/java/com/ilummc/tlib/TLib.java | 9 +- .../com/ilummc/tlib/annotations/TConfig.java | 4 +- .../com/ilummc/tlib/config/TLibConfig.java | 38 +- .../tlib/dependency/TDependencyLoader.java | 5 +- .../com/ilummc/tlib/resources/TLocale.java | 8 +- .../tlib/resources/TLocaleInstance.java | 5 +- .../tlib/resources/type/TLocaleJson.java | 2 +- .../tlib/resources/type/TLocaleSound.java | 22 +- .../anvil/AnvilContainerAPIEvent.java | 8 +- .../versions/AnvilContainer_V1_11_R1.java | 10 +- .../versions/AnvilContainer_V1_8_R3.java | 10 +- .../anvil/versions/AnvilContainer_V1_9_4.java | 10 +- .../bookformatter/BookAchievement.java | 8 +- .../bookformatter/BookReflection.java | 56 +- .../bookformatter/action/ClickAction.java | 29 +- .../bookformatter/action/HoverAction.java | 29 +- .../bookformatter/builder/TextBuilder.java | 34 +- .../skymc/taboolib/commands/MainCommands.java | 2 - .../commands/language/Language2Command.java | 11 +- .../commands/sub/AttributesCommand.java | 14 +- .../taboolib/commands/sub/FlagCommand.java | 16 +- .../taboolib/commands/sub/ImportCommand.java | 57 +- .../taboolib/commands/sub/ItemCommand.java | 1 - .../taboolib/commands/sub/PotionCommand.java | 14 +- .../taboolib/commands/sub/SlotCommand.java | 13 +- .../commands/sub/VariableGetCommand.java | 20 +- .../commands/sub/VariableSetCommand.java | 14 +- .../itemlist/listener/ItemLibraryPatch.java | 20 +- .../commands/sub/shell/ShellCommand.java | 1 - .../commands/sub/shell/ShellLoadCommand.java | 12 +- .../sub/shell/ShellUnloadCommand.java | 14 +- .../sounds/listener/SoundsLibraryPatch.java | 22 +- .../me/skymc/taboolib/csvutils/CsvReader.java | 240 +++--- .../me/skymc/taboolib/csvutils/CsvWriter.java | 42 +- .../taboolib/database/PlayerDataManager.java | 8 +- .../me/skymc/taboolib/entity/EntityUtils.java | 10 +- .../taboolib/events/CustomBookOpenEvent.java | 8 +- .../taboolib/events/PlayerJumpEvent.java | 8 +- .../taboolib/events/PlayerLoadedEvent.java | 8 +- .../skymc/taboolib/fileutils/FileUtils.java | 162 ++-- .../skymc/taboolib/inventory/ItemUtils.java | 5 +- .../inventory/speciaitem/SpecialItem.java | 8 +- .../me/skymc/taboolib/itemnbtapi/NBTItem.java | 20 +- .../me/skymc/taboolib/json/JSONObject.java | 741 +++++++++--------- .../taboolib/jsonformatter/JSONFormatter.java | 143 ++-- .../mysql/protect/MySQLConnection.java | 108 +-- .../java/me/skymc/taboolib/nms/NMSUtil18.java | 24 +- .../taboolib/nms/item/impl/_164ItemUtils.java | 30 +- .../nms/item/impl/_1710ItemUtils.java | 30 +- .../taboolib/nms/item/impl/_194ItemUtils.java | 27 +- .../skymc/taboolib/nms/nbt/NBTConstants.java | 9 +- .../me/skymc/taboolib/packet/PacketUtils.java | 8 +- .../skymc/taboolib/playerdata/DataUtils.java | 20 +- .../me/skymc/taboolib/plugin/PluginUtils.java | 4 +- .../taboolib/string/language2/Language2.java | 20 +- .../string/language2/Language2Format.java | 16 +- .../string/language2/Language2Value.java | 40 +- .../language2/value/Language2Action.java | 24 +- .../string/language2/value/Language2Book.java | 40 +- .../string/language2/value/Language2Json.java | 32 +- .../language2/value/Language2Json2.java | 32 +- .../language2/value/Language2Sound.java | 16 +- .../string/language2/value/Language2Text.java | 12 +- .../language2/value/Language2Title.java | 48 +- .../me/skymc/taboolib/team/TagManager.java | 28 +- .../me/skymc/taboolib/thread/ThreadUtils.java | 2 +- .../skymc/taboolib/timecycle/TimeCycle.java | 2 +- .../taboolib/timeutil/TimeFormatter.java | 16 +- src/main/java/me/skymc/tlm/TLM.java | 16 +- .../tlm/inventory/TLMInventoryHolder.java | 16 +- src/main/resources/lang/zh_CN.yml | 9 +- 72 files changed, 1249 insertions(+), 1318 deletions(-) diff --git a/.gitignore b/.gitignore index 0378fc2..3e757f6 100644 --- a/.gitignore +++ b/.gitignore @@ -21,19 +21,4 @@ hs_err_pid* .gradle/4.3.1/ .idea -target/TabooLib-3.832-shaded.jar -target/TabooLib-3.832.jar -target/classes/JavaShells/ -target/classes/Language/ -target/classes/Language2/ -target/classes/TLM/ -target/classes/config.yml -target/classes/internalLang.yml -target/classes/items.yml -target/classes/lang/ -target/classes/module.yml -target/classes/plugin.yml -target/generated-sources/ -target/maven-archiver/ -target/maven-status/ -target/original-TabooLib-3.832.jar +target diff --git a/src/main/java/com/ilummc/tlib/TLib.java b/src/main/java/com/ilummc/tlib/TLib.java index 2504330..a45c11f 100644 --- a/src/main/java/com/ilummc/tlib/TLib.java +++ b/src/main/java/com/ilummc/tlib/TLib.java @@ -3,7 +3,6 @@ package com.ilummc.tlib; import com.ilummc.tlib.annotations.Dependency; import com.ilummc.tlib.compat.PlaceholderHook; import com.ilummc.tlib.config.TLibConfig; -import com.ilummc.tlib.db.Pool; import com.ilummc.tlib.filter.TLoggerFilter; import com.ilummc.tlib.inject.TConfigWatcher; import com.ilummc.tlib.inject.TDependencyInjector; @@ -22,7 +21,6 @@ import java.io.IOException; import java.lang.reflect.Field; import java.nio.charset.Charset; -@Dependency(type = Dependency.Type.LIBRARY, maven = "org.ow2.asm:asm:6.1.1") @Dependency(type = Dependency.Type.LIBRARY, maven = "com.zaxxer:HikariCP:3.1.0") @Dependency(type = Dependency.Type.LIBRARY, maven = "org.slf4j:slf4j-api:1.7.25") @Dependency(type = Dependency.Type.LIBRARY, maven = "org.javalite:activejdbc:2.0") @@ -74,17 +72,18 @@ public class TLib { TLocaleLoader.load(Main.getInst(), false); TDependencyInjector.inject(Main.getInst(), tLib); - // init database + // init database 暫不啟用 + /* try { Pool.init(); } catch (Throwable e) { e.printStackTrace(); - } + }*/ } public static void unload() { - Pool.unload(); + /* Pool.unload(); */ tLib.getConfigWatcher().unregisterAll(); TDependencyInjector.eject(Main.getInst(), tLib); } diff --git a/src/main/java/com/ilummc/tlib/annotations/TConfig.java b/src/main/java/com/ilummc/tlib/annotations/TConfig.java index 30a7797..3a28756 100644 --- a/src/main/java/com/ilummc/tlib/annotations/TConfig.java +++ b/src/main/java/com/ilummc/tlib/annotations/TConfig.java @@ -1,13 +1,13 @@ package com.ilummc.tlib.annotations; +import com.ilummc.tlib.util.Ref; + import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.lang.reflect.Modifier; -import com.ilummc.tlib.util.Ref; - @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface TConfig { diff --git a/src/main/java/com/ilummc/tlib/config/TLibConfig.java b/src/main/java/com/ilummc/tlib/config/TLibConfig.java index 9842a0a..4e443df 100644 --- a/src/main/java/com/ilummc/tlib/config/TLibConfig.java +++ b/src/main/java/com/ilummc/tlib/config/TLibConfig.java @@ -2,6 +2,9 @@ package com.ilummc.tlib.config; import com.ilummc.tlib.annotations.TConfig; +import java.util.HashMap; +import java.util.Map; + /** * @author sky * @since 2018-04-22 14:31:11 @@ -9,25 +12,46 @@ import com.ilummc.tlib.annotations.TConfig; @TConfig(name = "tlib.yml", listenChanges = true) public class TLibConfig { - @Getter private String dataSourceClassName; - @Getter private String jdbcUrl = "jdbc:h2:file:~/plugins/TabooLib/h2"; - @Getter private String driverClassName; - @Getter private String username = ""; - @Getter + public String getDataSourceClassName() { + return dataSourceClassName; + } + + public String getJdbcUrl() { + return jdbcUrl; + } + + public String getDriverClassName() { + return driverClassName; + } + + public String getUsername() { + return username; + } + + public String getPassword() { + return password; + } + + public int getMaximumPoolSize() { + return maximumPoolSize; + } + + public Map getSettings() { + return settings; + } + private String password = ""; - @Getter private int maximumPoolSize = 4; - @Getter private Map settings = new HashMap() {{ put("cachePrepStmts", true); put("useServerPrepStmts", true); diff --git a/src/main/java/com/ilummc/tlib/dependency/TDependencyLoader.java b/src/main/java/com/ilummc/tlib/dependency/TDependencyLoader.java index 701e03a..3c52502 100644 --- a/src/main/java/com/ilummc/tlib/dependency/TDependencyLoader.java +++ b/src/main/java/com/ilummc/tlib/dependency/TDependencyLoader.java @@ -1,5 +1,7 @@ package com.ilummc.tlib.dependency; +import org.bukkit.plugin.Plugin; + import java.io.File; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -7,9 +9,6 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; -import me.skymc.taboolib.message.MsgUtils; -import org.bukkit.plugin.Plugin; - public class TDependencyLoader { public static synchronized void addToPath(Plugin plugin, URL url) { diff --git a/src/main/java/com/ilummc/tlib/resources/TLocale.java b/src/main/java/com/ilummc/tlib/resources/TLocale.java index daee4af..982671e 100644 --- a/src/main/java/com/ilummc/tlib/resources/TLocale.java +++ b/src/main/java/com/ilummc/tlib/resources/TLocale.java @@ -47,8 +47,8 @@ public class TLocale { try { return asString(path, Ref.getCallerClassNotOptional(3), args); } catch (Exception e) { - TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getTLib().getInternalLanguage().getString("FETCH-LOCALE-ERROR"), path)); - TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getTLib().getInternalLanguage().getString("LOCALE-ERROR-REASON"), e.getMessage())); + TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getInternalLanguage().getString("FETCH-LOCALE-ERROR"), path)); + TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getInternalLanguage().getString("LOCALE-ERROR-REASON"), e.getMessage())); return "§4<" + path + "§4>"; } } @@ -57,8 +57,8 @@ public class TLocale { try { return asStringList(path, Ref.getCallerClassNotOptional(3), args); } catch (Exception e) { - TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getTLib().getInternalLanguage().getString("FETCH-LOCALE-ERROR"), path)); - TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getTLib().getInternalLanguage().getString("LOCALE-ERROR-REASON"), e.getMessage())); + TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getInternalLanguage().getString("FETCH-LOCALE-ERROR"), path)); + TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getInternalLanguage().getString("LOCALE-ERROR-REASON"), e.getMessage())); return Collections.singletonList("§4<" + path + "§4>"); } } diff --git a/src/main/java/com/ilummc/tlib/resources/TLocaleInstance.java b/src/main/java/com/ilummc/tlib/resources/TLocaleInstance.java index 0258710..fe384f8 100644 --- a/src/main/java/com/ilummc/tlib/resources/TLocaleInstance.java +++ b/src/main/java/com/ilummc/tlib/resources/TLocaleInstance.java @@ -2,7 +2,6 @@ package com.ilummc.tlib.resources; import com.google.common.collect.ImmutableList; import com.ilummc.tlib.TLib; -import com.ilummc.tlib.logger.TLogger; import com.ilummc.tlib.resources.type.TLocaleText; import com.ilummc.tlib.util.Strings; import org.bukkit.Bukkit; @@ -62,8 +61,8 @@ class TLocaleInstance { } }); } catch (Exception | Error e) { - TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getTLib().getInternalLanguage().getString("SEND-LOCALE-ERROR"), path)); - TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getTLib().getInternalLanguage().getString("LOCALE-ERROR-REASON"), e.toString())); + TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getInternalLanguage().getString("SEND-LOCALE-ERROR"), path)); + TLib.getTLib().getLogger().error(Strings.replaceWithOrder(TLib.getInternalLanguage().getString("LOCALE-ERROR-REASON"), e.toString())); e.printStackTrace(); } } diff --git a/src/main/java/com/ilummc/tlib/resources/type/TLocaleJson.java b/src/main/java/com/ilummc/tlib/resources/type/TLocaleJson.java index fcde732..1da939a 100644 --- a/src/main/java/com/ilummc/tlib/resources/type/TLocaleJson.java +++ b/src/main/java/com/ilummc/tlib/resources/type/TLocaleJson.java @@ -73,7 +73,7 @@ public class TLocaleJson implements TLocaleSendable, ConfigurationSerializable { builder.addAll(Arrays.asList(component)); } else { builder.addAll(Arrays.asList(TextComponent.fromLegacyText(text))); - TLib.getTLib().getLogger().warn(Strings.replaceWithOrder(TLib.getTLib().getInternalLanguage().getString("MISSING-ARGUMENT"), node)); + TLib.getTLib().getLogger().warn(Strings.replaceWithOrder(TLib.getInternalLanguage().getString("MISSING-ARGUMENT"), node)); } if (index < template.length) { builder.addAll(Arrays.asList(TextComponent.fromLegacyText(template[index++]))); diff --git a/src/main/java/com/ilummc/tlib/resources/type/TLocaleSound.java b/src/main/java/com/ilummc/tlib/resources/type/TLocaleSound.java index 3156053..26e2e22 100644 --- a/src/main/java/com/ilummc/tlib/resources/type/TLocaleSound.java +++ b/src/main/java/com/ilummc/tlib/resources/type/TLocaleSound.java @@ -28,6 +28,17 @@ public class TLocaleSound implements TLocaleSendable, ConfigurationSerializable this.soundPacks = soundPacks; } + public static TLocaleSound valueOf(Map map) { + List soundPacks = new ArrayList<>(); + Object sounds = map.containsKey("sounds") ? map.get("sounds") : map.getOrDefault("sound", ""); + if (sounds instanceof List) { + soundPacks = ((List) sounds).stream().map(SoundPack::new).collect(Collectors.toList()); + } else { + soundPacks.add(new SoundPack(sounds.toString())); + } + return new TLocaleSound(soundPacks); + } + @Override public void sendTo(CommandSender sender, String... args) { if (sender instanceof Player) { @@ -55,15 +66,4 @@ public class TLocaleSound implements TLocaleSendable, ConfigurationSerializable } return map; } - - public static TLocaleSound valueOf(Map map) { - List soundPacks = new ArrayList<>(); - Object sounds = map.containsKey("sounds") ? map.get("sounds") : map.getOrDefault("sound", ""); - if (sounds instanceof List) { - soundPacks = ((List) sounds).stream().map(SoundPack::new).collect(Collectors.toList()); - } else { - soundPacks.add(new SoundPack(sounds.toString())); - } - return new TLocaleSound(soundPacks); - } } diff --git a/src/main/java/me/skymc/taboolib/anvil/AnvilContainerAPIEvent.java b/src/main/java/me/skymc/taboolib/anvil/AnvilContainerAPIEvent.java index 5cbe6d4..cb7f4c8 100644 --- a/src/main/java/me/skymc/taboolib/anvil/AnvilContainerAPIEvent.java +++ b/src/main/java/me/skymc/taboolib/anvil/AnvilContainerAPIEvent.java @@ -17,12 +17,12 @@ public class AnvilContainerAPIEvent extends Event { type = t; } + public static HandlerList getHandlerList() { + return handlers; + } + @Override public HandlerList getHandlers() { return handlers; } - - public static HandlerList getHandlerList() { - return handlers; - } } diff --git a/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_11_R1.java b/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_11_R1.java index 9383b3b..298f021 100644 --- a/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_11_R1.java +++ b/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_11_R1.java @@ -10,11 +10,6 @@ public class AnvilContainer_V1_11_R1 extends ContainerAnvil { super(player.inventory, player.world, new BlockPosition(0, 0, 0), player); } - @Override - public boolean a(EntityHuman player) { - return true; - } - /** * @deprecated 方法已过期,已有新的方法 */ @@ -29,4 +24,9 @@ public class AnvilContainer_V1_11_R1 extends ContainerAnvil { player.activeContainer.addSlotListener(player); } + @Override + public boolean a(EntityHuman player) { + return true; + } + } diff --git a/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_8_R3.java b/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_8_R3.java index afe3a29..ce57cb1 100644 --- a/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_8_R3.java +++ b/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_8_R3.java @@ -10,11 +10,6 @@ public class AnvilContainer_V1_8_R3 extends ContainerAnvil { super(player.inventory, player.world, new BlockPosition(0, 0, 0), player); } - @Override - public boolean a(EntityHuman player) { - return true; - } - /** * @deprecated 方法已过期,已有新的方法 */ @@ -29,4 +24,9 @@ public class AnvilContainer_V1_8_R3 extends ContainerAnvil { player.activeContainer.addSlotListener(player); } + @Override + public boolean a(EntityHuman player) { + return true; + } + } diff --git a/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_9_4.java b/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_9_4.java index 37ca366..71f5d2d 100644 --- a/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_9_4.java +++ b/src/main/java/me/skymc/taboolib/anvil/versions/AnvilContainer_V1_9_4.java @@ -10,11 +10,6 @@ public class AnvilContainer_V1_9_4 extends ContainerAnvil { super(player.inventory, player.world, new BlockPosition(0, 0, 0), player); } - @Override - public boolean a(EntityHuman player) { - return true; - } - /** * @deprecated 方法已过期,已有新的方法 */ @@ -29,4 +24,9 @@ public class AnvilContainer_V1_9_4 extends ContainerAnvil { player.activeContainer.addSlotListener(player); } + @Override + public boolean a(EntityHuman player) { + return true; + } + } diff --git a/src/main/java/me/skymc/taboolib/bookformatter/BookAchievement.java b/src/main/java/me/skymc/taboolib/bookformatter/BookAchievement.java index 6232998..c6fb671 100644 --- a/src/main/java/me/skymc/taboolib/bookformatter/BookAchievement.java +++ b/src/main/java/me/skymc/taboolib/bookformatter/BookAchievement.java @@ -47,6 +47,10 @@ public final class BookAchievement { achievements.put(OVERPOWERED, "overpowered"); } + private BookAchievement() { + + } + /** * Gets the json id from the bukkit achievement passed as argument * @@ -56,8 +60,4 @@ public final class BookAchievement { public static String toId(Achievement achievement) { return achievements.get(achievement); } - - private BookAchievement() { - - } } diff --git a/src/main/java/me/skymc/taboolib/bookformatter/BookReflection.java b/src/main/java/me/skymc/taboolib/bookformatter/BookReflection.java index acdcff2..6154a26 100644 --- a/src/main/java/me/skymc/taboolib/bookformatter/BookReflection.java +++ b/src/main/java/me/skymc/taboolib/bookformatter/BookReflection.java @@ -233,30 +233,6 @@ public final class BookReflection { } } - /** - * An error thrown when this NMS-helper class doesn't support the running MC version - */ - public static class UnsupportedVersionException extends RuntimeException { - /** - * serialVersionUID - */ - private static final long serialVersionUID = 6835583513394319946L; - - /** - * The current running version - */ - private final String version = BookReflection.version; - - public String getVersion() { - return version; - } - - public UnsupportedVersionException(Exception e) { - super("Error while executing reflections, submit to developers the following log (version: " + BookReflection.version + ")", e); - } - } - - /** * Gets the EntityPlayer handled by the argument * @@ -291,11 +267,6 @@ public final class BookReflection { } } - public static Class getNmsClass(String className) { - return getNmsClass(className, true); - } - - private static Class getCraftClass(String path) { try { return Class.forName("org.bukkit.craftbukkit." + version + "." + path); @@ -304,4 +275,31 @@ public final class BookReflection { return null; } } + + public static Class getNmsClass(String className) { + return getNmsClass(className, true); + } + + /** + * An error thrown when this NMS-helper class doesn't support the running MC version + */ + public static class UnsupportedVersionException extends RuntimeException { + /** + * serialVersionUID + */ + private static final long serialVersionUID = 6835583513394319946L; + + /** + * The current running version + */ + private final String version = BookReflection.version; + + public UnsupportedVersionException(Exception e) { + super("Error while executing reflections, submit to developers the following log (version: " + BookReflection.version + ")", e); + } + + public String getVersion() { + return version; + } + } } diff --git a/src/main/java/me/skymc/taboolib/bookformatter/action/ClickAction.java b/src/main/java/me/skymc/taboolib/bookformatter/action/ClickAction.java index 5851a0b..7700e64 100644 --- a/src/main/java/me/skymc/taboolib/bookformatter/action/ClickAction.java +++ b/src/main/java/me/skymc/taboolib/bookformatter/action/ClickAction.java @@ -8,21 +8,6 @@ import net.md_5.bungee.api.chat.ClickEvent; */ public interface ClickAction { - /** - * Get the Chat-Component action - * - * @return the Chat-Component action - */ - ClickEvent.Action action(); - - /** - * The value paired to the action - * - * @return the value paired tot the action - */ - String value(); - - /** * Creates a command action: when the player clicks, the command passed as parameter gets executed with the clicker as sender * @@ -66,6 +51,20 @@ public interface ClickAction { return new SimpleClickAction(ClickEvent.Action.CHANGE_PAGE, Integer.toString(page)); } + /** + * Get the Chat-Component action + * + * @return the Chat-Component action + */ + ClickEvent.Action action(); + + /** + * The value paired to the action + * + * @return the value paired tot the action + */ + String value(); + class SimpleClickAction implements ClickAction { private final ClickEvent.Action action; diff --git a/src/main/java/me/skymc/taboolib/bookformatter/action/HoverAction.java b/src/main/java/me/skymc/taboolib/bookformatter/action/HoverAction.java index 9505c3c..b45d86d 100644 --- a/src/main/java/me/skymc/taboolib/bookformatter/action/HoverAction.java +++ b/src/main/java/me/skymc/taboolib/bookformatter/action/HoverAction.java @@ -18,21 +18,6 @@ import java.util.UUID; @SuppressWarnings("deprecation") public interface HoverAction { - /** - * Get the Chat-Component action - * - * @return the Chat-Component action - */ - HoverEvent.Action action(); - - /** - * The value paired to the action - * - * @return the value paired tot the action - */ - BaseComponent[] value(); - - /** * Creates a show_text action: when the component is hovered the text used as parameter will be displayed * @@ -139,6 +124,20 @@ public interface HoverAction { return new SimpleHoverAction(HoverEvent.Action.SHOW_ACHIEVEMENT, new TextComponent("statistic." + statisticId)); } + /** + * Get the Chat-Component action + * + * @return the Chat-Component action + */ + HoverEvent.Action action(); + + /** + * The value paired to the action + * + * @return the value paired tot the action + */ + BaseComponent[] value(); + class SimpleHoverAction implements HoverAction { private final HoverEvent.Action action; private final BaseComponent[] value; diff --git a/src/main/java/me/skymc/taboolib/bookformatter/builder/TextBuilder.java b/src/main/java/me/skymc/taboolib/bookformatter/builder/TextBuilder.java index c4d424c..c670f24 100644 --- a/src/main/java/me/skymc/taboolib/bookformatter/builder/TextBuilder.java +++ b/src/main/java/me/skymc/taboolib/bookformatter/builder/TextBuilder.java @@ -17,6 +17,23 @@ public class TextBuilder { private ClickAction onClick = null; private HoverAction onHover = null; + public TextBuilder() { + } + + public TextBuilder(String text) { + this.text = text; + } + + /** + * Creates a new TextBuilder with the parameter as his initial text + * + * @param text initial text + * @return a new TextBuilder with the parameter as his initial text + */ + public static TextBuilder of(String text) { + return new TextBuilder(text); + } + public String getText() { return text; } @@ -41,13 +58,6 @@ public class TextBuilder { this.onHover = onHover; } - public TextBuilder() { - } - - public TextBuilder(String text) { - this.text = text; - } - /** * Creates the component representing the built text * @@ -63,14 +73,4 @@ public class TextBuilder { } return res; } - - /** - * Creates a new TextBuilder with the parameter as his initial text - * - * @param text initial text - * @return a new TextBuilder with the parameter as his initial text - */ - public static TextBuilder of(String text) { - return new TextBuilder(text); - } } diff --git a/src/main/java/me/skymc/taboolib/commands/MainCommands.java b/src/main/java/me/skymc/taboolib/commands/MainCommands.java index 9209fcc..049497b 100644 --- a/src/main/java/me/skymc/taboolib/commands/MainCommands.java +++ b/src/main/java/me/skymc/taboolib/commands/MainCommands.java @@ -11,8 +11,6 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import java.lang.reflect.Parameter; - public class MainCommands implements CommandExecutor { @Override diff --git a/src/main/java/me/skymc/taboolib/commands/language/Language2Command.java b/src/main/java/me/skymc/taboolib/commands/language/Language2Command.java index 7c421e4..a2d99f4 100644 --- a/src/main/java/me/skymc/taboolib/commands/language/Language2Command.java +++ b/src/main/java/me/skymc/taboolib/commands/language/Language2Command.java @@ -1,5 +1,8 @@ package me.skymc.taboolib.commands.language; +import me.skymc.taboolib.Main; +import me.skymc.taboolib.message.MsgUtils; +import me.skymc.taboolib.string.language2.Language2Value; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.command.Command; @@ -7,10 +10,6 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import me.skymc.taboolib.Main; -import me.skymc.taboolib.message.MsgUtils; -import me.skymc.taboolib.string.language2.Language2Value; - /** * @author sky * @since 2018年2月13日 下午5:11:01 @@ -30,7 +29,7 @@ public class Language2Command implements CommandExecutor { else if (args[0].equalsIgnoreCase("reload")) { MsgUtils.send(sender, "§7重载中.."); long time = System.currentTimeMillis(); - Main.getExampleLanguage2().reload(); + Main.getExampleLanguage2().reload(); MsgUtils.send(sender, "§7重载完成! 耗时: &f" + (System.currentTimeMillis() - time) + "ms"); } else if (args[0].equalsIgnoreCase("send")) { @@ -42,7 +41,7 @@ public class Language2Command implements CommandExecutor { long time = System.currentTimeMillis(); // 获取语言文件 - Language2Value value = Main.getExampleLanguage2().get(args[2]); + Language2Value value = Main.getExampleLanguage2().get(args[2]); // 如果有变量参数 if (args.length > 3) { int i = 0; diff --git a/src/main/java/me/skymc/taboolib/commands/sub/AttributesCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/AttributesCommand.java index d90bbc8..cec88d4 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/AttributesCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/AttributesCommand.java @@ -1,14 +1,8 @@ package me.skymc.taboolib.commands.sub; import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Player; - import me.skymc.taboolib.commands.SubCommand; -import me.skymc.taboolib.jsonformatter.JSONFormatter; -import me.skymc.taboolib.jsonformatter.click.SuggestCommandEvent; -import me.skymc.taboolib.jsonformatter.hover.ShowTextEvent; +import org.bukkit.command.CommandSender; import java.util.Arrays; @@ -17,10 +11,10 @@ public class AttributesCommand extends SubCommand { public AttributesCommand(CommandSender sender, String[] args) { super(sender, args); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.ATTRIBUTES.HEAD"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.ATTRIBUTES.HEAD"); - Arrays.stream(new String[] { "damage", "speed", "attackspeed", "health", "knockback", "armor", "luck" }).forEach(attribute -> TLocale.sendTo(sender, "COMMANDS.TABOOLIB.ATTRIBUTES.BODY", attribute)); + Arrays.stream(new String[]{"damage", "speed", "attackspeed", "health", "knockback", "armor", "luck"}).forEach(attribute -> TLocale.sendTo(sender, "COMMANDS.TABOOLIB.ATTRIBUTES.BODY", attribute)); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.ATTRIBUTES.FOOT"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.ATTRIBUTES.FOOT"); } } diff --git a/src/main/java/me/skymc/taboolib/commands/sub/FlagCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/FlagCommand.java index 0ad3cf2..c2f0675 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/FlagCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/FlagCommand.java @@ -1,15 +1,9 @@ package me.skymc.taboolib.commands.sub; import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemFlag; - import me.skymc.taboolib.commands.SubCommand; -import me.skymc.taboolib.jsonformatter.JSONFormatter; -import me.skymc.taboolib.jsonformatter.click.SuggestCommandEvent; -import me.skymc.taboolib.jsonformatter.hover.ShowTextEvent; +import org.bukkit.command.CommandSender; +import org.bukkit.inventory.ItemFlag; import java.util.Arrays; @@ -18,10 +12,10 @@ public class FlagCommand extends SubCommand { public FlagCommand(CommandSender sender, String[] args) { super(sender, args); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.FLAGS.HEAD"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.FLAGS.HEAD"); - Arrays.stream(ItemFlag.values()).forEach(itemFlag -> TLocale.sendTo(sender, "COMMANDS.TABOOLIB.ENCHANTS.BODY", itemFlag.name())); + Arrays.stream(ItemFlag.values()).forEach(itemFlag -> TLocale.sendTo(sender, "COMMANDS.TABOOLIB.ENCHANTS.BODY", itemFlag.name())); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.FLAGS.FOOT"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.FLAGS.FOOT"); } } diff --git a/src/main/java/me/skymc/taboolib/commands/sub/ImportCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/ImportCommand.java index c3516b7..25d519b 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/ImportCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/ImportCommand.java @@ -1,18 +1,15 @@ package me.skymc.taboolib.commands.sub; -import java.io.File; -import java.util.Objects; - import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; - import me.skymc.taboolib.Main; import me.skymc.taboolib.Main.StorageType; import me.skymc.taboolib.commands.SubCommand; import me.skymc.taboolib.fileutils.ConfigUtils; -import me.skymc.taboolib.message.MsgUtils; +import org.bukkit.command.CommandSender; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; +import java.util.Objects; public class ImportCommand extends SubCommand { @@ -20,34 +17,34 @@ public class ImportCommand extends SubCommand { super(sender, args); if (isPlayer()) { - TLocale.sendTo(sender, "COMMANDS.GLOBAL.ONLY-PLAYER"); - return; - } + TLocale.sendTo(sender, "COMMANDS.GLOBAL.ONLY-PLAYER"); + return; + } - if (Main.getStorageType() == StorageType.LOCAL) { - TLocale.Logger.warn("COMMANDS.GLOBAL.ONLY-STORAGE-SQL"); - return; - } + if (Main.getStorageType() == StorageType.LOCAL) { + TLocale.Logger.warn("COMMANDS.GLOBAL.ONLY-STORAGE-SQL"); + return; + } - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.CLEARING"); - Main.getConnection().truncateTable(Main.getTablePrefix() + "_playerdata"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.CLEARING"); + Main.getConnection().truncateTable(Main.getTablePrefix() + "_playerdata"); - if (!Main.getPlayerDataFolder().exists()) { - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.EMPTYDATA"); - return; - } + if (!Main.getPlayerDataFolder().exists()) { + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.EMPTYDATA"); + return; + } - int size = Objects.requireNonNull(Main.getPlayerDataFolder().listFiles()).length; - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.IMPORTING-START", String.valueOf(size)); + int size = Objects.requireNonNull(Main.getPlayerDataFolder().listFiles()).length; + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.IMPORTING-START", String.valueOf(size)); - int loop = 1; - for (File file : Objects.requireNonNull(Main.getPlayerDataFolder().listFiles())) { - Main.getConnection().intoValue(Main.getTablePrefix() + "_playerdata", file.getName().replace(".yml", ""), ConfigUtils.encodeYAML(YamlConfiguration.loadConfiguration(file))); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.IMPORTING-PROGRESS", file.getName().replace(".yml", ""), String.valueOf(loop), String.valueOf(size)); - loop++; - } + int loop = 1; + for (File file : Objects.requireNonNull(Main.getPlayerDataFolder().listFiles())) { + Main.getConnection().intoValue(Main.getTablePrefix() + "_playerdata", file.getName().replace(".yml", ""), ConfigUtils.encodeYAML(YamlConfiguration.loadConfiguration(file))); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.IMPORTING-PROGRESS", file.getName().replace(".yml", ""), String.valueOf(loop), String.valueOf(size)); + loop++; + } - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.SUCCESS"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.IMPORTDATA.SUCCESS"); } } diff --git a/src/main/java/me/skymc/taboolib/commands/sub/ItemCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/ItemCommand.java index 9e64fac..54d0cc8 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/ItemCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/ItemCommand.java @@ -3,7 +3,6 @@ package me.skymc.taboolib.commands.sub; import com.ilummc.tlib.resources.TLocale; import me.skymc.taboolib.commands.SubCommand; import me.skymc.taboolib.inventory.ItemUtils; -import me.skymc.taboolib.message.MsgUtils; import me.skymc.taboolib.other.NumberUtils; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; diff --git a/src/main/java/me/skymc/taboolib/commands/sub/PotionCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/PotionCommand.java index 8a9c70c..f7d7720 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/PotionCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/PotionCommand.java @@ -1,17 +1,9 @@ package me.skymc.taboolib.commands.sub; import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Player; -import org.bukkit.potion.PotionEffectType; - import me.skymc.taboolib.commands.SubCommand; -import me.skymc.taboolib.jsonformatter.JSONFormatter; -import me.skymc.taboolib.jsonformatter.click.SuggestCommandEvent; -import me.skymc.taboolib.jsonformatter.hover.ShowTextEvent; - -import java.util.Arrays; +import org.bukkit.command.CommandSender; +import org.bukkit.potion.PotionEffectType; public class PotionCommand extends SubCommand { @@ -19,7 +11,7 @@ public class PotionCommand extends SubCommand { public PotionCommand(CommandSender sender, String[] args) { super(sender, args); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.POTIONS.HEAD"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.POTIONS.HEAD"); for (PotionEffectType potionEffectType : PotionEffectType.values()) { if (potionEffectType != null) { diff --git a/src/main/java/me/skymc/taboolib/commands/sub/SlotCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/SlotCommand.java index 0dfa1e5..b2edb2d 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/SlotCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/SlotCommand.java @@ -1,13 +1,8 @@ package me.skymc.taboolib.commands.sub; import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - import me.skymc.taboolib.commands.SubCommand; -import me.skymc.taboolib.jsonformatter.JSONFormatter; -import me.skymc.taboolib.jsonformatter.click.SuggestCommandEvent; -import me.skymc.taboolib.jsonformatter.hover.ShowTextEvent; +import org.bukkit.command.CommandSender; import java.util.Arrays; @@ -16,10 +11,10 @@ public class SlotCommand extends SubCommand { public SlotCommand(CommandSender sender, String[] args) { super(sender, args); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.SLOTS.HEAD"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.SLOTS.HEAD"); - Arrays.stream(new String[] { "mainhand", "offhand", "feet", "legs", "chest", "head", "all" }).forEach(slots -> TLocale.sendTo(sender, "COMMANDS.TABOOLIB.SLOTS.BODY", slots)); + Arrays.stream(new String[]{"mainhand", "offhand", "feet", "legs", "chest", "head", "all"}).forEach(slots -> TLocale.sendTo(sender, "COMMANDS.TABOOLIB.SLOTS.BODY", slots)); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.SLOTS.FOOT"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.SLOTS.FOOT"); } } diff --git a/src/main/java/me/skymc/taboolib/commands/sub/VariableGetCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/VariableGetCommand.java index 30da0a5..5b03bf7 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/VariableGetCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/VariableGetCommand.java @@ -1,11 +1,9 @@ package me.skymc.taboolib.commands.sub; import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; - import me.skymc.taboolib.commands.SubCommand; import me.skymc.taboolib.database.GlobalDataManager; -import me.skymc.taboolib.message.MsgUtils; +import org.bukkit.command.CommandSender; public class VariableGetCommand extends SubCommand { @@ -13,13 +11,13 @@ public class VariableGetCommand extends SubCommand { super(sender, args); if (args.length < 3) { - TLocale.sendTo(sender, "COAMMNDS.PARAMETER.INSUFFICIENT"); - return; - } + TLocale.sendTo(sender, "COAMMNDS.PARAMETER.INSUFFICIENT"); + return; + } - if (!(args[1].equals("-a") || args[1].equals("-s"))) { - TLocale.sendTo(sender, "COAMMNDS.TABOOLIB.VARIABLE.READ-ERROR-TYPE"); - return; + if (!(args[1].equals("-a") || args[1].equals("-s"))) { + TLocale.sendTo(sender, "COAMMNDS.TABOOLIB.VARIABLE.READ-ERROR-TYPE"); + return; } Long time = System.currentTimeMillis(); @@ -32,7 +30,7 @@ public class VariableGetCommand extends SubCommand { value = GlobalDataManager.getVariableAsynchronous(args[2], null); } - TLocale.sendTo(sender, "COAMMNDS.TABOOLIB.VARIABLE.READ-SUCCESS", String.valueOf(System.currentTimeMillis() - time)); - TLocale.sendTo(sender, "COAMMNDS.TABOOLIB.VARIABLE.READ-RESULT", value == null ? "null" : value); + TLocale.sendTo(sender, "COAMMNDS.TABOOLIB.VARIABLE.READ-SUCCESS", String.valueOf(System.currentTimeMillis() - time)); + TLocale.sendTo(sender, "COAMMNDS.TABOOLIB.VARIABLE.READ-RESULT", value == null ? "null" : value); } } diff --git a/src/main/java/me/skymc/taboolib/commands/sub/VariableSetCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/VariableSetCommand.java index 202e7e0..a9217ab 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/VariableSetCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/VariableSetCommand.java @@ -1,11 +1,9 @@ package me.skymc.taboolib.commands.sub; import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; - import me.skymc.taboolib.commands.SubCommand; import me.skymc.taboolib.database.GlobalDataManager; -import me.skymc.taboolib.message.MsgUtils; +import org.bukkit.command.CommandSender; public class VariableSetCommand extends SubCommand { @@ -13,13 +11,13 @@ public class VariableSetCommand extends SubCommand { super(sender, args); if (args.length < 4) { - TLocale.sendTo(sender, "COAMMNDS.PARAMETER.INSUFFICIENT"); - return; - } + TLocale.sendTo(sender, "COAMMNDS.PARAMETER.INSUFFICIENT"); + return; + } - if (!(args[1].equals("-a") || args[1].equals("-s"))) { + if (!(args[1].equals("-a") || args[1].equals("-s"))) { TLocale.sendTo(sender, "COAMMNDS.TABOOLIB.VARIABLE.WRITE-ERROR-TYPE"); - return; + return; } Long time = System.currentTimeMillis(); diff --git a/src/main/java/me/skymc/taboolib/commands/sub/itemlist/listener/ItemLibraryPatch.java b/src/main/java/me/skymc/taboolib/commands/sub/itemlist/listener/ItemLibraryPatch.java index 9663ac3..6ddbd9a 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/itemlist/listener/ItemLibraryPatch.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/itemlist/listener/ItemLibraryPatch.java @@ -62,6 +62,16 @@ public class ItemLibraryPatch implements Listener { player.openInventory(inventory); } + private static ItemStack getItem(HashMap map, String name) { + ItemStack item = map.get(name).clone(); + ItemMeta meta = item.getItemMeta(); + List lore = meta.hasLore() ? meta.getLore() : new ArrayList<>(); + lore.addAll(TLocale.asStringList("COMMANDS.TABOOLIB.ITEMLIST.MENU.LORE", name)); + meta.setLore(lore); + item.setItemMeta(meta); + return item; + } + @EventHandler public void inventoryClick(InventoryClickEvent e) { if (e.getInventory().getHolder() instanceof ItemLibraryHolder) { @@ -82,16 +92,6 @@ public class ItemLibraryPatch implements Listener { } } - private static ItemStack getItem(HashMap map, String name) { - ItemStack item = map.get(name).clone(); - ItemMeta meta = item.getItemMeta(); - List lore = meta.hasLore() ? meta.getLore() : new ArrayList<>(); - lore.addAll(TLocale.asStringList("COMMANDS.TABOOLIB.ITEMLIST.MENU.LORE", name)); - meta.setLore(lore); - item.setItemMeta(meta); - return item; - } - public static class ItemLibraryHolder implements InventoryHolder { public final int PAGE; diff --git a/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellCommand.java index 3b6b3c1..56e56d3 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellCommand.java @@ -2,7 +2,6 @@ package me.skymc.taboolib.commands.sub.shell; import com.ilummc.tlib.resources.TLocale; import me.skymc.taboolib.commands.SubCommand; -import me.skymc.taboolib.message.MsgUtils; import org.bukkit.command.CommandSender; public class ShellCommand extends SubCommand { diff --git a/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellLoadCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellLoadCommand.java index 0df1d37..9512366 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellLoadCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellLoadCommand.java @@ -1,26 +1,24 @@ package me.skymc.taboolib.commands.sub.shell; -import java.io.File; - import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; - import me.skymc.taboolib.commands.SubCommand; import me.skymc.taboolib.javashell.JavaShell; -import me.skymc.taboolib.message.MsgUtils; +import org.bukkit.command.CommandSender; + +import java.io.File; public class ShellLoadCommand extends SubCommand { public ShellLoadCommand(CommandSender sender, String[] args) { super(sender, args); if (args.length < 3) { - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.INVALID-NAME"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.INVALID-NAME"); return; } File file = new File(JavaShell.getScriptFolder(), args[2].contains(".java") ? args[2] : args[2] + ".java"); if (!file.exists()) { - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.INVALID-SHELL", args[2]); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.INVALID-SHELL", args[2]); return; } diff --git a/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellUnloadCommand.java b/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellUnloadCommand.java index a893375..acc4981 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellUnloadCommand.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/shell/ShellUnloadCommand.java @@ -1,31 +1,29 @@ package me.skymc.taboolib.commands.sub.shell; -import java.io.File; - import com.ilummc.tlib.resources.TLocale; -import org.bukkit.command.CommandSender; - import me.skymc.taboolib.commands.SubCommand; import me.skymc.taboolib.javashell.JavaShell; -import me.skymc.taboolib.message.MsgUtils; +import org.bukkit.command.CommandSender; + +import java.io.File; public class ShellUnloadCommand extends SubCommand { public ShellUnloadCommand(CommandSender sender, String[] args) { super(sender, args); if (args.length < 3) { - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.INVALID-NAME"); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.INVALID-NAME"); return; } File file = new File(JavaShell.getScriptFolder(), args[2].contains(".java") ? args[2] : args[2] + ".java"); if (!file.exists()) { - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.INVALID-SHELL", args[2]); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.INVALID-SHELL", args[2]); return; } JavaShell.unloadShell(args[2]); - TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.SUCCESS-UNLOAD", args[2]); + TLocale.sendTo(sender, "COMMANDS.TABOOLIB.JAVASHELL.SUCCESS-UNLOAD", args[2]); } @Override diff --git a/src/main/java/me/skymc/taboolib/commands/sub/sounds/listener/SoundsLibraryPatch.java b/src/main/java/me/skymc/taboolib/commands/sub/sounds/listener/SoundsLibraryPatch.java index ec0cbe9..515e07e 100644 --- a/src/main/java/me/skymc/taboolib/commands/sub/sounds/listener/SoundsLibraryPatch.java +++ b/src/main/java/me/skymc/taboolib/commands/sub/sounds/listener/SoundsLibraryPatch.java @@ -1,11 +1,8 @@ package me.skymc.taboolib.commands.sub.sounds.listener; import com.ilummc.tlib.resources.TLocale; -import com.ilummc.tlib.resources.type.TLocaleJson; import me.skymc.taboolib.inventory.InventoryUtil; import me.skymc.taboolib.inventory.ItemUtils; -import me.skymc.taboolib.jsonformatter.JSONFormatter; -import me.skymc.taboolib.message.MsgUtils; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; @@ -18,7 +15,6 @@ import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -66,6 +62,15 @@ public class SoundsLibraryPatch implements Listener { player.openInventory(inventory); } + private static ItemStack getSoundItem(String sound) { + ItemStack item = new ItemStack(Material.MAP); + ItemMeta meta = item.getItemMeta(); + meta.setDisplayName("§f§n" + sound); + meta.setLore(TLocale.asStringList("COMMANDS.TABOOLIB.SOUNDS.MENU.LORE")); + item.setItemMeta(meta); + return item; + } + @EventHandler public void inventoryClick(InventoryClickEvent e) { if (e.getInventory().getHolder() instanceof SoundLibraryHolder) { @@ -94,15 +99,6 @@ public class SoundsLibraryPatch implements Listener { } } - private static ItemStack getSoundItem(String sound) { - ItemStack item = new ItemStack(Material.MAP); - ItemMeta meta = item.getItemMeta(); - meta.setDisplayName("§f§n" + sound); - meta.setLore(TLocale.asStringList("COMMANDS.TABOOLIB.SOUNDS.MENU.LORE")); - item.setItemMeta(meta); - return item; - } - public static class SoundLibraryHolder implements InventoryHolder { public final int PAGE; diff --git a/src/main/java/me/skymc/taboolib/csvutils/CsvReader.java b/src/main/java/me/skymc/taboolib/csvutils/CsvReader.java index 594a856..fda2878 100644 --- a/src/main/java/me/skymc/taboolib/csvutils/CsvReader.java +++ b/src/main/java/me/skymc/taboolib/csvutils/CsvReader.java @@ -242,17 +242,16 @@ public class CsvReader { return array; } - public void setHeaders(final String[] headers) { - this.headersHolder.Headers = headers; - this.headersHolder.IndexByName.clear(); - if (headers != null) { - this.headersHolder.Length = headers.length; + private static char hexToDec(final char c) { + char c2; + if (c >= 'a') { + c2 = (char) (c - 'a' + '\n'); + } else if (c >= 'A') { + c2 = (char) (c - 'A' + '\n'); } else { - this.headersHolder.Length = 0; - } - for (int i = 0; i < this.headersHolder.Length; ++i) { - this.headersHolder.IndexByName.put(headers[i], i); + c2 = (char) (c - '0'); } + return c2; } public String[] getValues() throws IOException { @@ -282,6 +281,19 @@ public class CsvReader { return new CsvReader(new StringReader(s)); } + public void setHeaders(final String[] headers) { + this.headersHolder.Headers = headers; + this.headersHolder.IndexByName.clear(); + if (headers != null) { + this.headersHolder.Length = headers.length; + } else { + this.headersHolder.Length = 0; + } + for (int i = 0; i < this.headersHolder.Length; ++i) { + this.headersHolder.IndexByName.put(headers[i], i); + } + } + public boolean readRecord() throws IOException { this.checkClosed(); this.columnsCount = 0; @@ -716,6 +728,35 @@ public class CsvReader { return this.hasReadNextLine; } + public boolean readHeaders() throws IOException { + final boolean record = this.readRecord(); + this.headersHolder.Length = this.columnsCount; + this.headersHolder.Headers = new String[this.columnsCount]; + for (int i = 0; i < this.headersHolder.Length; ++i) { + final String value = this.get(i); + this.headersHolder.Headers[i] = value; + this.headersHolder.IndexByName.put(value, i); + } + if (record) { + --this.currentRecord; + } + this.columnsCount = 0; + return record; + } + + public String getHeader(final int n) throws IOException { + this.checkClosed(); + if (n > -1 && n < this.headersHolder.Length) { + return this.headersHolder.Headers[n]; + } + return ""; + } + + public boolean isQualified(final int n) throws IOException { + this.checkClosed(); + return n < this.columnsCount && n > -1 && this.isQualified[n]; + } + private void checkDataLength() throws IOException { if (!this.initialized) { if (this.fileName != null) { @@ -749,79 +790,6 @@ public class CsvReader { this.dataBuffer.ColumnStart = 0; } - public boolean readHeaders() throws IOException { - final boolean record = this.readRecord(); - this.headersHolder.Length = this.columnsCount; - this.headersHolder.Headers = new String[this.columnsCount]; - for (int i = 0; i < this.headersHolder.Length; ++i) { - final String value = this.get(i); - this.headersHolder.Headers[i] = value; - this.headersHolder.IndexByName.put(value, i); - } - if (record) { - --this.currentRecord; - } - this.columnsCount = 0; - return record; - } - - public String getHeader(final int n) throws IOException { - this.checkClosed(); - if (n > -1 && n < this.headersHolder.Length) { - return this.headersHolder.Headers[n]; - } - return ""; - } - - public boolean isQualified(final int n) throws IOException { - this.checkClosed(); - return n < this.columnsCount && n > -1 && this.isQualified[n]; - } - - public void endColumn() throws IOException { - String s = ""; - if (this.startedColumn) { - if (this.columnBuffer.Position == 0) { - if (this.dataBuffer.ColumnStart < this.dataBuffer.Position) { - int n = this.dataBuffer.Position - 1; - if (this.userSettings.TrimWhitespace && !this.startedWithQualifier) { - while (n >= this.dataBuffer.ColumnStart && (this.dataBuffer.Buffer[n] == ' ' || this.dataBuffer.Buffer[n] == '\t')) { - --n; - } - } - s = new String(this.dataBuffer.Buffer, this.dataBuffer.ColumnStart, n - this.dataBuffer.ColumnStart + 1); - } - } else { - this.updateCurrentValue(); - int n2 = this.columnBuffer.Position - 1; - if (this.userSettings.TrimWhitespace && !this.startedWithQualifier) { - while (n2 >= 0 && (this.columnBuffer.Buffer[n2] == ' ' || this.columnBuffer.Buffer[n2] == ' ')) { - --n2; - } - } - s = new String(this.columnBuffer.Buffer, 0, n2 + 1); - } - } - this.columnBuffer.Position = 0; - this.startedColumn = false; - if (this.columnsCount >= 100000 && this.userSettings.SafetySwitch) { - this.close(); - throw new IOException("Maximum column count of 100,000 exceeded in record " + NumberFormat.getIntegerInstance().format(this.currentRecord) + ". Set the SafetySwitch property to false" + " if you're expecting more than 100,000 columns per record to" + " avoid this error."); - } - if (this.columnsCount == this.values.length) { - final int n3 = this.values.length * 2; - final String[] values = new String[n3]; - System.arraycopy(this.values, 0, values, 0, this.values.length); - this.values = values; - final boolean[] isQualified = new boolean[n3]; - System.arraycopy(this.isQualified, 0, isQualified, 0, this.isQualified.length); - this.isQualified = isQualified; - } - this.values[this.columnsCount] = s; - this.isQualified[this.columnsCount] = this.startedWithQualifier; - ++this.columnsCount; - } - private void appendLetter(final char c) { if (this.columnBuffer.Position == this.columnBuffer.Buffer.length) { final char[] buffer = new char[this.columnBuffer.Buffer.length * 2]; @@ -872,35 +840,48 @@ public class CsvReader { return record; } - public boolean skipLine() throws IOException { - this.checkClosed(); - this.columnsCount = 0; - boolean b = false; - if (this.hasMoreData) { - boolean b2 = false; - do { - if (this.dataBuffer.Position == this.dataBuffer.Count) { - this.checkDataLength(); - } else { - b = true; - final char lastLetter = this.dataBuffer.Buffer[this.dataBuffer.Position]; - if (lastLetter == '\r' || lastLetter == '\n') { - b2 = true; + public void endColumn() throws IOException { + String s = ""; + if (this.startedColumn) { + if (this.columnBuffer.Position == 0) { + if (this.dataBuffer.ColumnStart < this.dataBuffer.Position) { + int n = this.dataBuffer.Position - 1; + if (this.userSettings.TrimWhitespace && !this.startedWithQualifier) { + while (n >= this.dataBuffer.ColumnStart && (this.dataBuffer.Buffer[n] == ' ' || this.dataBuffer.Buffer[n] == '\t')) { + --n; + } } - this.lastLetter = lastLetter; - if (b2) { - continue; - } - final DataBuffer dataBuffer = this.dataBuffer; - ++dataBuffer.Position; + s = new String(this.dataBuffer.Buffer, this.dataBuffer.ColumnStart, n - this.dataBuffer.ColumnStart + 1); } - } while (this.hasMoreData && !b2); - this.columnBuffer.Position = 0; - this.dataBuffer.LineStart = this.dataBuffer.Position + 1; + } else { + this.updateCurrentValue(); + int n2 = this.columnBuffer.Position - 1; + if (this.userSettings.TrimWhitespace && !this.startedWithQualifier) { + while (n2 >= 0 && (this.columnBuffer.Buffer[n2] == ' ' || this.columnBuffer.Buffer[n2] == ' ')) { + --n2; + } + } + s = new String(this.columnBuffer.Buffer, 0, n2 + 1); + } } - this.rawBuffer.Position = 0; - this.rawRecord = ""; - return b; + this.columnBuffer.Position = 0; + this.startedColumn = false; + if (this.columnsCount >= 100000 && this.userSettings.SafetySwitch) { + this.close(); + throw new IOException("Maximum column count of 100,000 exceeded in record " + NumberFormat.getIntegerInstance().format(this.currentRecord) + ". Set the SafetySwitch property to false" + " if you're expecting more than 100,000 columns per record to" + " avoid this error."); + } + if (this.columnsCount == this.values.length) { + final int n3 = this.values.length * 2; + final String[] values = new String[n3]; + System.arraycopy(this.values, 0, values, 0, this.values.length); + this.values = values; + final boolean[] isQualified = new boolean[n3]; + System.arraycopy(this.isQualified, 0, isQualified, 0, this.isQualified.length); + this.isQualified = isQualified; + } + this.values[this.columnsCount] = s; + this.isQualified[this.columnsCount] = this.startedWithQualifier; + ++this.columnsCount; } public void close() { @@ -937,23 +918,42 @@ public class CsvReader { } } + public boolean skipLine() throws IOException { + this.checkClosed(); + this.columnsCount = 0; + boolean b = false; + if (this.hasMoreData) { + boolean b2 = false; + do { + if (this.dataBuffer.Position == this.dataBuffer.Count) { + this.checkDataLength(); + } else { + b = true; + final char lastLetter = this.dataBuffer.Buffer[this.dataBuffer.Position]; + if (lastLetter == '\r' || lastLetter == '\n') { + b2 = true; + } + this.lastLetter = lastLetter; + if (b2) { + continue; + } + final DataBuffer dataBuffer = this.dataBuffer; + ++dataBuffer.Position; + } + } while (this.hasMoreData && !b2); + this.columnBuffer.Position = 0; + this.dataBuffer.LineStart = this.dataBuffer.Position + 1; + } + this.rawBuffer.Position = 0; + this.rawRecord = ""; + return b; + } + @Override protected void finalize() { this.close(false); } - private static char hexToDec(final char c) { - char c2; - if (c >= 'a') { - c2 = (char) (c - 'a' + '\n'); - } else if (c >= 'A') { - c2 = (char) (c - 'A' + '\n'); - } else { - c2 = (char) (c - '0'); - } - return c2; - } - private class StaticSettings { public static final int MAX_BUFFER_SIZE = 1024; public static final int MAX_FILE_BUFFER_SIZE = 4096; diff --git a/src/main/java/me/skymc/taboolib/csvutils/CsvWriter.java b/src/main/java/me/skymc/taboolib/csvutils/CsvWriter.java index 9aefa35..26f87fd 100644 --- a/src/main/java/me/skymc/taboolib/csvutils/CsvWriter.java +++ b/src/main/java/me/skymc/taboolib/csvutils/CsvWriter.java @@ -121,6 +121,27 @@ public class CsvWriter { this.userSettings.ForceQualifier = forceQualifier; } + public static String replace(final String s, final String s2, final String s3) { + final int length = s2.length(); + int i = s.indexOf(s2); + if (i > -1) { + final StringBuilder sb = new StringBuilder(); + int n; + for (n = 0; i != -1; i = s.indexOf(s2, n)) { + sb.append(s, n, i); + sb.append(s3); + n = i + length; + } + sb.append(s.substring(n)); + return sb.toString(); + } + return s; + } + + public void write(final String s) throws IOException { + this.write(s, false); + } + public void write(String s, final boolean b) throws IOException { this.checkClosed(); this.checkInit(); @@ -181,10 +202,6 @@ public class CsvWriter { this.firstColumn = false; } - public void write(final String s) throws IOException { - this.write(s, false); - } - public void writeComment(final String s) throws IOException { this.checkClosed(); this.checkInit(); @@ -198,23 +215,6 @@ public class CsvWriter { this.firstColumn = true; } - public static String replace(final String s, final String s2, final String s3) { - final int length = s2.length(); - int i = s.indexOf(s2); - if (i > -1) { - final StringBuilder sb = new StringBuilder(); - int n; - for (n = 0; i != -1; i = s.indexOf(s2, n)) { - sb.append(s.substring(n, i)); - sb.append(s3); - n = i + length; - } - sb.append(s.substring(n)); - return sb.toString(); - } - return s; - } - public void writeRecord(final String[] array) throws IOException { this.writeRecord(array, false); } diff --git a/src/main/java/me/skymc/taboolib/database/PlayerDataManager.java b/src/main/java/me/skymc/taboolib/database/PlayerDataManager.java index 5efcf54..89a2503 100644 --- a/src/main/java/me/skymc/taboolib/database/PlayerDataManager.java +++ b/src/main/java/me/skymc/taboolib/database/PlayerDataManager.java @@ -26,10 +26,6 @@ public class PlayerDataManager implements Listener { private static final ConcurrentHashMap PLAYER_DATA = new ConcurrentHashMap<>(); - public enum UsernameType { - UUID, USERNAME - } - /** * 获取用户储存方式 * @@ -257,4 +253,8 @@ public class PlayerDataManager implements Listener { }.runTaskAsynchronously(Main.getInst()); } } + + public enum UsernameType { + UUID, USERNAME + } } diff --git a/src/main/java/me/skymc/taboolib/entity/EntityUtils.java b/src/main/java/me/skymc/taboolib/entity/EntityUtils.java index 37d76dd..4d9bbe6 100644 --- a/src/main/java/me/skymc/taboolib/entity/EntityUtils.java +++ b/src/main/java/me/skymc/taboolib/entity/EntityUtils.java @@ -24,11 +24,6 @@ public class EntityUtils implements Listener { return lastSpawnedEntity; } - @EventHandler - public void spawn(EntitySpawnEvent e) { - lastSpawnedEntity = e.getEntity(); - } - /** * 根据 UUID 获取生物 * @@ -118,4 +113,9 @@ public class EntityUtils implements Listener { } } + @EventHandler + public void spawn(EntitySpawnEvent e) { + lastSpawnedEntity = e.getEntity(); + } + } diff --git a/src/main/java/me/skymc/taboolib/events/CustomBookOpenEvent.java b/src/main/java/me/skymc/taboolib/events/CustomBookOpenEvent.java index 08a04b3..ac8ad24 100644 --- a/src/main/java/me/skymc/taboolib/events/CustomBookOpenEvent.java +++ b/src/main/java/me/skymc/taboolib/events/CustomBookOpenEvent.java @@ -38,14 +38,14 @@ public class CustomBookOpenEvent extends Event implements Cancellable { return hand; } - public ItemStack getBook() { - return book; - } - public void setHand(Hand hand) { this.hand = hand; } + public ItemStack getBook() { + return book; + } + public void setBook(ItemStack book) { this.book = book; } diff --git a/src/main/java/me/skymc/taboolib/events/PlayerJumpEvent.java b/src/main/java/me/skymc/taboolib/events/PlayerJumpEvent.java index 12eccf8..ba602e1 100644 --- a/src/main/java/me/skymc/taboolib/events/PlayerJumpEvent.java +++ b/src/main/java/me/skymc/taboolib/events/PlayerJumpEvent.java @@ -16,6 +16,10 @@ public class PlayerJumpEvent extends Event implements Cancellable { this.player = player; } + public static HandlerList getHandlerList() { + return handlers; + } + public Player getPlayer() { return this.player; } @@ -34,8 +38,4 @@ public class PlayerJumpEvent extends Event implements Cancellable { public HandlerList getHandlers() { return handlers; } - - public static HandlerList getHandlerList() { - return handlers; - } } diff --git a/src/main/java/me/skymc/taboolib/events/PlayerLoadedEvent.java b/src/main/java/me/skymc/taboolib/events/PlayerLoadedEvent.java index 75b022f..9559be8 100644 --- a/src/main/java/me/skymc/taboolib/events/PlayerLoadedEvent.java +++ b/src/main/java/me/skymc/taboolib/events/PlayerLoadedEvent.java @@ -14,6 +14,10 @@ public class PlayerLoadedEvent extends Event { this.player = player; } + public static HandlerList getHandlerList() { + return handlers; + } + public Player getPlayer() { return this.player; } @@ -22,8 +26,4 @@ public class PlayerLoadedEvent extends Event { public HandlerList getHandlers() { return handlers; } - - public static HandlerList getHandlerList() { - return handlers; - } } diff --git a/src/main/java/me/skymc/taboolib/fileutils/FileUtils.java b/src/main/java/me/skymc/taboolib/fileutils/FileUtils.java index 86013ef..82b035e 100644 --- a/src/main/java/me/skymc/taboolib/fileutils/FileUtils.java +++ b/src/main/java/me/skymc/taboolib/fileutils/FileUtils.java @@ -71,87 +71,6 @@ public class FileUtils { return file; } - /** - * 删除文件夹 - * - * @param file - */ - public void deleteAllFile(File file) { - if (!file.exists()) { - return; - } - if (file.isFile()) { - file.delete(); - return; - } - File[] files = file.listFiles(); - for (File file1 : files) { - deleteAllFile(file1); - } - file.delete(); - } - - /** - * 复制文件夹 - * - * @param file1 文件1 - * @param file2 文件2 - * @throws Exception - */ - public void copyAllFile(String file1, String file2) throws Exception { - File _file1 = new File(file1); - File _file2 = new File(file2); - if (!_file2.exists()) { - if (!_file1.isDirectory()) { - _file2.createNewFile(); - } else { - _file2.mkdirs(); - } - } - if (_file1.isDirectory()) { - for (File file : _file1.listFiles()) { - if (file.isDirectory()) { - copyAllFile(file.getAbsolutePath(), file2 + "/" + file.getName()); - } else { - fileChannelCopy(file, new File(file2 + "/" + file.getName())); - } - } - } else { - fileChannelCopy(_file1, _file2); - } - } - - /** - * 复制文件(通道) - * - * @param file1 文件1 - * @param file2 文件2 - */ - public void fileChannelCopy(File file1, File file2) { - FileInputStream fileIn = null; - FileOutputStream fileOut = null; - FileChannel channelIn = null; - FileChannel channelOut = null; - try { - fileIn = new FileInputStream(file1); - fileOut = new FileOutputStream(file2); - channelIn = fileIn.getChannel(); - channelOut = fileOut.getChannel(); - channelIn.transferTo(0, channelIn.size(), channelOut); - } catch (Exception e) { - // - } finally { - try { - fileIn.close(); - channelIn.close(); - fileOut.close(); - channelOut.close(); - } catch (Exception e) { - // - } - } - } - /** * 通过输入流读取文本 * @@ -307,4 +226,85 @@ public class FileUtils { } catch (Exception ignored) { } } + + /** + * 删除文件夹 + * + * @param file + */ + public void deleteAllFile(File file) { + if (!file.exists()) { + return; + } + if (file.isFile()) { + file.delete(); + return; + } + File[] files = file.listFiles(); + for (File file1 : files) { + deleteAllFile(file1); + } + file.delete(); + } + + /** + * 复制文件夹 + * + * @param file1 文件1 + * @param file2 文件2 + * @throws Exception + */ + public void copyAllFile(String file1, String file2) throws Exception { + File _file1 = new File(file1); + File _file2 = new File(file2); + if (!_file2.exists()) { + if (!_file1.isDirectory()) { + _file2.createNewFile(); + } else { + _file2.mkdirs(); + } + } + if (_file1.isDirectory()) { + for (File file : _file1.listFiles()) { + if (file.isDirectory()) { + copyAllFile(file.getAbsolutePath(), file2 + "/" + file.getName()); + } else { + fileChannelCopy(file, new File(file2 + "/" + file.getName())); + } + } + } else { + fileChannelCopy(_file1, _file2); + } + } + + /** + * 复制文件(通道) + * + * @param file1 文件1 + * @param file2 文件2 + */ + public void fileChannelCopy(File file1, File file2) { + FileInputStream fileIn = null; + FileOutputStream fileOut = null; + FileChannel channelIn = null; + FileChannel channelOut = null; + try { + fileIn = new FileInputStream(file1); + fileOut = new FileOutputStream(file2); + channelIn = fileIn.getChannel(); + channelOut = fileOut.getChannel(); + channelIn.transferTo(0, channelIn.size(), channelOut); + } catch (Exception e) { + // + } finally { + try { + fileIn.close(); + channelIn.close(); + fileOut.close(); + channelOut.close(); + } catch (Exception e) { + // + } + } + } } diff --git a/src/main/java/me/skymc/taboolib/inventory/ItemUtils.java b/src/main/java/me/skymc/taboolib/inventory/ItemUtils.java index 997be6c..d4a0ec1 100644 --- a/src/main/java/me/skymc/taboolib/inventory/ItemUtils.java +++ b/src/main/java/me/skymc/taboolib/inventory/ItemUtils.java @@ -28,7 +28,10 @@ import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; import java.io.File; -import java.util.*; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Objects; import java.util.stream.IntStream; public class ItemUtils { diff --git a/src/main/java/me/skymc/taboolib/inventory/speciaitem/SpecialItem.java b/src/main/java/me/skymc/taboolib/inventory/speciaitem/SpecialItem.java index b25bb1a..77950b3 100644 --- a/src/main/java/me/skymc/taboolib/inventory/speciaitem/SpecialItem.java +++ b/src/main/java/me/skymc/taboolib/inventory/speciaitem/SpecialItem.java @@ -27,10 +27,6 @@ public class SpecialItem implements Listener { private boolean isLoaded; - public boolean isLoaded() { - return isLoaded; - } - /** * 构造方法 */ @@ -56,6 +52,10 @@ public class SpecialItem implements Listener { return specialItem; } + public boolean isLoaded() { + return isLoaded; + } + /** * 注册接口 * diff --git a/src/main/java/me/skymc/taboolib/itemnbtapi/NBTItem.java b/src/main/java/me/skymc/taboolib/itemnbtapi/NBTItem.java index c7fec77..a2ce653 100644 --- a/src/main/java/me/skymc/taboolib/itemnbtapi/NBTItem.java +++ b/src/main/java/me/skymc/taboolib/itemnbtapi/NBTItem.java @@ -11,14 +11,12 @@ public class NBTItem extends NBTCompound { bukkitItem = item.clone(); } - @Override - protected Object getCompound() { - return NBTReflectionUtil.getItemRootNBTTagCompound(NBTReflectionUtil.getNMSItemStack(bukkitItem)); + public static NBTContainer convertItemtoNBT(ItemStack item) { + return NBTReflectionUtil.convertNMSItemtoNBTCompound(NBTReflectionUtil.getNMSItemStack(item)); } - @Override - protected void setCompound(Object compound) { - bukkitItem = NBTReflectionUtil.getBukkitItemStack(NBTReflectionUtil.setNBTTag(compound, NBTReflectionUtil.getNMSItemStack(bukkitItem))); + public static ItemStack convertNBTtoItem(NBTCompound comp) { + return NBTReflectionUtil.getBukkitItemStack(NBTReflectionUtil.convertNBTCompoundtoNMSItem(comp)); } public ItemStack getItem() { @@ -29,12 +27,14 @@ public class NBTItem extends NBTCompound { bukkitItem = item; } - public static NBTContainer convertItemtoNBT(ItemStack item) { - return NBTReflectionUtil.convertNMSItemtoNBTCompound(NBTReflectionUtil.getNMSItemStack(item)); + @Override + protected Object getCompound() { + return NBTReflectionUtil.getItemRootNBTTagCompound(NBTReflectionUtil.getNMSItemStack(bukkitItem)); } - public static ItemStack convertNBTtoItem(NBTCompound comp) { - return NBTReflectionUtil.getBukkitItemStack(NBTReflectionUtil.convertNBTCompoundtoNMSItem(comp)); + @Override + protected void setCompound(Object compound) { + bukkitItem = NBTReflectionUtil.getBukkitItemStack(NBTReflectionUtil.setNBTTag(compound, NBTReflectionUtil.getNMSItemStack(bukkitItem))); } } diff --git a/src/main/java/me/skymc/taboolib/json/JSONObject.java b/src/main/java/me/skymc/taboolib/json/JSONObject.java index 70667e9..97c21ca 100644 --- a/src/main/java/me/skymc/taboolib/json/JSONObject.java +++ b/src/main/java/me/skymc/taboolib/json/JSONObject.java @@ -11,41 +11,8 @@ import java.util.*; @SuppressWarnings({"rawtypes", "unchecked"}) public class JSONObject { - private static final class Null { - - @Override - protected final Object clone() { - return this; - } - - @Override - public boolean equals(Object object) { - return object == null || object == this; - } - - @Override - public String toString() { - return "null"; - } - } - - private final Map map; - public static final Object NULL = new Null(); - - public JSONObject() { - this.map = new HashMap(); - } - - public JSONObject(JSONObject jo, String[] names) { - this(); - for (String name : names) { - try { - this.putOnce(name, jo.opt(name)); - } catch (Exception ignore) { - } - } - } + private final Map map; public JSONObject(JSONTokener x) throws JSONException { this(); @@ -91,6 +58,45 @@ public class JSONObject { } } + public JSONObject() { + this.map = new HashMap(); + } + + public JSONObject(JSONObject jo, String[] names) { + this(); + for (String name : names) { + try { + this.putOnce(name, jo.opt(name)); + } catch (Exception ignore) { + } + } + } + + public JSONObject(String baseName, Locale locale) throws JSONException { + this(); + ResourceBundle bundle = ResourceBundle.getBundle(baseName, locale, + Thread.currentThread().getContextClassLoader()); + Enumeration keys = bundle.getKeys(); + while (keys.hasMoreElements()) { + Object key = keys.nextElement(); + if (key instanceof String) { + String[] path = ((String) key).split("\\."); + int last = path.length - 1; + JSONObject target = this; + for (int i = 0; i < last; i += 1) { + String segment = path[i]; + JSONObject nextTarget = target.optJSONObject(segment); + if (nextTarget == null) { + nextTarget = new JSONObject(); + target.put(segment, nextTarget); + } + target = nextTarget; + } + target.put(path[last], bundle.getString((String) key)); + } + } + } + public JSONObject(Map map) { this.map = new HashMap(); if (map != null) { @@ -124,29 +130,228 @@ public class JSONObject { this(new JSONTokener(source)); } - public JSONObject(String baseName, Locale locale) throws JSONException { - this(); - ResourceBundle bundle = ResourceBundle.getBundle(baseName, locale, - Thread.currentThread().getContextClassLoader()); - Enumeration keys = bundle.getKeys(); - while (keys.hasMoreElements()) { - Object key = keys.nextElement(); - if (key instanceof String) { - String[] path = ((String) key).split("\\."); - int last = path.length - 1; - JSONObject target = this; - for (int i = 0; i < last; i += 1) { - String segment = path[i]; - JSONObject nextTarget = target.optJSONObject(segment); - if (nextTarget == null) { - nextTarget = new JSONObject(); - target.put(segment, nextTarget); + public static String[] getNames(JSONObject jo) { + int length = jo.length(); + if (length == 0) { + return null; + } + Iterator iterator = jo.keys(); + String[] names = new String[length]; + int i = 0; + while (iterator.hasNext()) { + names[i] = (String) iterator.next(); + i += 1; + } + return names; + } + + public static String valueToString(Object value) throws JSONException { + if (value == null || value == null) { + return "null"; + } + if (value instanceof JSONString) { + Object object; + try { + object = ((JSONString) value).toJSONString(); + } catch (Exception e) { + throw new JSONException(e); + } + if (object != null) { + return (String) object; + } + throw new JSONException("Bad value from toJSONString: " + object); + } + if (value instanceof Number) { + return numberToString((Number) value); + } + if (value instanceof Boolean || value instanceof JSONObject || + value instanceof JSONArray) { + return value.toString(); + } + if (value instanceof Map) { + return new JSONObject((Map) value).toString(); + } + if (value instanceof Collection) { + return new JSONArray((Collection) value).toString(); + } + if (value.getClass().isArray()) { + return new JSONArray(value).toString(); + } + return quote(value.toString()); + } + + public static Writer quote(String string, Writer w) throws IOException { + if (string == null || string.length() == 0) { + w.write("\"\""); + return w; + } + + char b; + char c = 0; + String hhhh; + int i; + int len = string.length(); + + w.write('"'); + for (i = 0; i < len; i += 1) { + b = c; + c = string.charAt(i); + switch (c) { + case '\\': + case '"': + w.write('\\'); + w.write(c); + break; + case '/': + if (b == '<') { + w.write('\\'); + } + w.write(c); + break; + case '\b': + w.write("\\b"); + break; + case '\t': + w.write("\\t"); + break; + case '\n': + w.write("\\n"); + break; + case '\f': + w.write("\\f"); + break; + case '\r': + w.write("\\r"); + break; + default: + if (c < ' ' || (c >= '\u0080' && c < '\u00a0') + || (c >= '\u2000' && c < '\u2100')) { + hhhh = "000" + Integer.toHexString(c); + w.write("\\u" + hhhh.substring(hhhh.length() - 4)); + } else { + w.write(c); } - target = nextTarget; - } - target.put(path[last], bundle.getString((String) key)); } } + w.write('"'); + return w; + } + + public static String doubleToString(double d) { + if (Double.isInfinite(d) || Double.isNaN(d)) { + return "null"; + } + String string = Double.toString(d); + if (string.indexOf('.') > 0 && string.indexOf('e') < 0 && + string.indexOf('E') < 0) { + while (string.endsWith("0")) { + string = string.substring(0, string.length() - 1); + } + if (string.endsWith(".")) { + string = string.substring(0, string.length() - 1); + } + } + return string; + } + + static void writeValue(Writer writer, Object value, int indentFactor, int indent) throws JSONException, IOException { + if (value == null) { + writer.write("null"); + } else if (value instanceof JSONObject) { + ((JSONObject) value).write(writer, indentFactor, indent); + } else if (value instanceof JSONArray) { + ((JSONArray) value).write(writer, indentFactor, indent); + } else if (value instanceof Map) { + new JSONObject((Map) value).write(writer, indentFactor, indent); + } else if (value instanceof Collection) { + new JSONArray((Collection) value).write(writer, indentFactor, + indent); + } else if (value.getClass().isArray()) { + new JSONArray(value).write(writer, indentFactor, indent); + } else if (value instanceof Number) { + writer.write(numberToString((Number) value)); + } else if (value instanceof Boolean) { + writer.write(value.toString()); + } else if (value instanceof JSONString) { + Object o; + try { + o = ((JSONString) value).toJSONString(); + } catch (Exception e) { + throw new JSONException(e); + } + writer.write(o != null ? o.toString() : quote(value.toString())); + } else { + quote(value.toString(), writer); + } + } + + public static void testValidity(Object o) throws JSONException { + if (o != null) { + if (o instanceof Double) { + if (((Double) o).isInfinite() || ((Double) o).isNaN()) { + throw new JSONException( + "JSON does not allow non-finite numbers."); + } + } else if (o instanceof Float) { + if (((Float) o).isInfinite() || ((Float) o).isNaN()) { + throw new JSONException( + "JSON does not allow non-finite numbers."); + } + } + } + } + + public static Object wrap(Object object) { + try { + if (object == null) { + return NULL; + } + if (object instanceof JSONObject || object instanceof JSONArray || + NULL.equals(object) || object instanceof JSONString || + object instanceof Byte || object instanceof Character || + object instanceof Short || object instanceof Integer || + object instanceof Long || object instanceof Boolean || + object instanceof Float || object instanceof Double || + object instanceof String || object instanceof Enum) { + return object; + } + + if (object instanceof Collection) { + return new JSONArray((Collection) object); + } + if (object.getClass().isArray()) { + return new JSONArray(object); + } + if (object instanceof Map) { + return new JSONObject((Map) object); + } + Package objectPackage = object.getClass().getPackage(); + String objectPackageName = objectPackage != null + ? objectPackage.getName() + : ""; + if ( + objectPackageName.startsWith("java.") || + objectPackageName.startsWith("javax.") || + object.getClass().getClassLoader() == null + ) { + return object.toString(); + } + return new JSONObject(object); + } catch (Exception exception) { + return null; + } + } + + public Object get(String key) throws JSONException { + if (key == null) { + throw new JSONException("Null key."); + } + Object object = this.opt(key); + if (object == null) { + throw new JSONException("JSONObject[" + quote(key) + + "] not found."); + } + return object; } public void accumulate(String key, Object value) throws JSONException { @@ -177,35 +382,6 @@ public class JSONObject { return this; } - public static String doubleToString(double d) { - if (Double.isInfinite(d) || Double.isNaN(d)) { - return "null"; - } - String string = Double.toString(d); - if (string.indexOf('.') > 0 && string.indexOf('e') < 0 && - string.indexOf('E') < 0) { - while (string.endsWith("0")) { - string = string.substring(0, string.length() - 1); - } - if (string.endsWith(".")) { - string = string.substring(0, string.length() - 1); - } - } - return string; - } - - public Object get(String key) throws JSONException { - if (key == null) { - throw new JSONException("Null key."); - } - Object object = this.opt(key); - if (object == null) { - throw new JSONException("JSONObject[" + quote(key) + - "] not found."); - } - return object; - } - public boolean getBoolean(String key) throws JSONException { Object object = this.get(key); if (object.equals(Boolean.FALSE) || @@ -233,63 +409,6 @@ public class JSONObject { } } - public int getInt(String key) throws JSONException { - Object object = this.get(key); - try { - return object instanceof Number - ? ((Number) object).intValue() - : Integer.parseInt((String) object); - } catch (Exception e) { - throw new JSONException("JSONObject[" + quote(key) + - "] is not an int."); - } - } - - public JSONArray getJSONArray(String key) throws JSONException { - Object object = this.get(key); - if (object instanceof JSONArray) { - return (JSONArray) object; - } - throw new JSONException("JSONObject[" + quote(key) + - "] is not a JSONArray."); - } - - public JSONObject getJSONObject(String key) throws JSONException { - Object object = this.get(key); - if (object instanceof JSONObject) { - return (JSONObject) object; - } - throw new JSONException("JSONObject[" + quote(key) + - "] is not a JSONObject."); - } - - public long getLong(String key) throws JSONException { - Object object = this.get(key); - try { - return object instanceof Number - ? ((Number) object).longValue() - : Long.parseLong((String) object); - } catch (Exception e) { - throw new JSONException("JSONObject[" + quote(key) + - "] is not a long."); - } - } - - public static String[] getNames(JSONObject jo) { - int length = jo.length(); - if (length == 0) { - return null; - } - Iterator iterator = jo.keys(); - String[] names = new String[length]; - int i = 0; - while (iterator.hasNext()) { - names[i] = (String) iterator.next(); - i += 1; - } - return names; - } - public static String[] getNames(Object object) { if (object == null) { return null; @@ -307,13 +426,16 @@ public class JSONObject { return names; } - public String getString(String key) throws JSONException { + public int getInt(String key) throws JSONException { Object object = this.get(key); - if (object instanceof String) { - return (String) object; + try { + return object instanceof Number + ? ((Number) object).intValue() + : Integer.parseInt((String) object); + } catch (Exception e) { + throw new JSONException("JSONObject[" + quote(key) + + "] is not an int."); } - throw new JSONException("JSONObject[" + quote(key) + - "] not a string."); } public boolean has(String key) { @@ -369,13 +491,13 @@ public class JSONObject { return this.map.size(); } - public JSONArray names() { - JSONArray ja = new JSONArray(); - Iterator keys = this.keys(); - while (keys.hasNext()) { - ja.put(keys.next()); + public JSONArray getJSONArray(String key) throws JSONException { + Object object = this.get(key); + if (object instanceof JSONArray) { + return (JSONArray) object; } - return ja.length() == 0 ? null : ja; + throw new JSONException("JSONObject[" + quote(key) + + "] is not a JSONArray."); } public static String numberToString(Number number) @@ -437,14 +559,25 @@ public class JSONObject { } } - public JSONArray optJSONArray(String key) { - Object o = this.opt(key); - return o instanceof JSONArray ? (JSONArray) o : null; + public JSONObject getJSONObject(String key) throws JSONException { + Object object = this.get(key); + if (object instanceof JSONObject) { + return (JSONObject) object; + } + throw new JSONException("JSONObject[" + quote(key) + + "] is not a JSONObject."); } - public JSONObject optJSONObject(String key) { - Object object = this.opt(key); - return object instanceof JSONObject ? (JSONObject) object : null; + public long getLong(String key) throws JSONException { + Object object = this.get(key); + try { + return object instanceof Number + ? ((Number) object).longValue() + : Long.parseLong((String) object); + } catch (Exception e) { + throw new JSONException("JSONObject[" + quote(key) + + "] is not a long."); + } } public long optLong(String key) { @@ -468,39 +601,13 @@ public class JSONObject { return NULL.equals(object) ? defaultValue : object.toString(); } - public static String valueToString(Object value) throws JSONException { - if (value == null || value == null) { - return "null"; + public String getString(String key) throws JSONException { + Object object = this.get(key); + if (object instanceof String) { + return (String) object; } - if (value instanceof JSONString) { - Object object; - try { - object = ((JSONString) value).toJSONString(); - } catch (Exception e) { - throw new JSONException(e); - } - if (object != null) { - return (String) object; - } - throw new JSONException("Bad value from toJSONString: " + object); - } - if (value instanceof Number) { - return numberToString((Number) value); - } - if (value instanceof Boolean || value instanceof JSONObject || - value instanceof JSONArray) { - return value.toString(); - } - if (value instanceof Map) { - return new JSONObject((Map) value).toString(); - } - if (value instanceof Collection) { - return new JSONArray((Collection) value).toString(); - } - if (value.getClass().isArray()) { - return new JSONArray(value).toString(); - } - return quote(value.toString()); + throw new JSONException("JSONObject[" + quote(key) + + "] not a string."); } public JSONObject put(String key, boolean value) throws JSONException { @@ -574,112 +681,27 @@ public class JSONObject { } } - public static Writer quote(String string, Writer w) throws IOException { - if (string == null || string.length() == 0) { - w.write("\"\""); - return w; + public JSONArray names() { + JSONArray ja = new JSONArray(); + Iterator keys = this.keys(); + while (keys.hasNext()) { + ja.put(keys.next()); } - - char b; - char c = 0; - String hhhh; - int i; - int len = string.length(); - - w.write('"'); - for (i = 0; i < len; i += 1) { - b = c; - c = string.charAt(i); - switch (c) { - case '\\': - case '"': - w.write('\\'); - w.write(c); - break; - case '/': - if (b == '<') { - w.write('\\'); - } - w.write(c); - break; - case '\b': - w.write("\\b"); - break; - case '\t': - w.write("\\t"); - break; - case '\n': - w.write("\\n"); - break; - case '\f': - w.write("\\f"); - break; - case '\r': - w.write("\\r"); - break; - default: - if (c < ' ' || (c >= '\u0080' && c < '\u00a0') - || (c >= '\u2000' && c < '\u2100')) { - hhhh = "000" + Integer.toHexString(c); - w.write("\\u" + hhhh.substring(hhhh.length() - 4)); - } else { - w.write(c); - } - } - } - w.write('"'); - return w; + return ja.length() == 0 ? null : ja; } public Object remove(String key) { return this.map.remove(key); } - static void writeValue(Writer writer, Object value, int indentFactor, int indent) throws JSONException, IOException { - if (value == null) { - writer.write("null"); - } else if (value instanceof JSONObject) { - ((JSONObject) value).write(writer, indentFactor, indent); - } else if (value instanceof JSONArray) { - ((JSONArray) value).write(writer, indentFactor, indent); - } else if (value instanceof Map) { - new JSONObject((Map) value).write(writer, indentFactor, indent); - } else if (value instanceof Collection) { - new JSONArray((Collection) value).write(writer, indentFactor, - indent); - } else if (value.getClass().isArray()) { - new JSONArray(value).write(writer, indentFactor, indent); - } else if (value instanceof Number) { - writer.write(numberToString((Number) value)); - } else if (value instanceof Boolean) { - writer.write(value.toString()); - } else if (value instanceof JSONString) { - Object o; - try { - o = ((JSONString) value).toJSONString(); - } catch (Exception e) { - throw new JSONException(e); - } - writer.write(o != null ? o.toString() : quote(value.toString())); - } else { - quote(value.toString(), writer); - } + public JSONArray optJSONArray(String key) { + Object o = this.opt(key); + return o instanceof JSONArray ? (JSONArray) o : null; } - public static void testValidity(Object o) throws JSONException { - if (o != null) { - if (o instanceof Double) { - if (((Double) o).isInfinite() || ((Double) o).isNaN()) { - throw new JSONException( - "JSON does not allow non-finite numbers."); - } - } else if (o instanceof Float) { - if (((Float) o).isInfinite() || ((Float) o).isNaN()) { - throw new JSONException( - "JSON does not allow non-finite numbers."); - } - } - } + public JSONObject optJSONObject(String key) { + Object object = this.opt(key); + return object instanceof JSONObject ? (JSONObject) object : null; } public JSONArray toJSONArray(JSONArray names) throws JSONException { @@ -715,51 +737,58 @@ public class JSONObject { } } - public static Object wrap(Object object) { - try { - if (object == null) { - return NULL; - } - if (object instanceof JSONObject || object instanceof JSONArray || - NULL.equals(object) || object instanceof JSONString || - object instanceof Byte || object instanceof Character || - object instanceof Short || object instanceof Integer || - object instanceof Long || object instanceof Boolean || - object instanceof Float || object instanceof Double || - object instanceof String || object instanceof Enum) { - return object; - } - - if (object instanceof Collection) { - return new JSONArray((Collection) object); - } - if (object.getClass().isArray()) { - return new JSONArray(object); - } - if (object instanceof Map) { - return new JSONObject((Map) object); - } - Package objectPackage = object.getClass().getPackage(); - String objectPackageName = objectPackage != null - ? objectPackage.getName() - : ""; - if ( - objectPackageName.startsWith("java.") || - objectPackageName.startsWith("javax.") || - object.getClass().getClassLoader() == null - ) { - return object.toString(); - } - return new JSONObject(object); - } catch (Exception exception) { - return null; - } - } - public Writer write(Writer writer) throws JSONException { return this.write(writer, 0, 0); } + Writer write(Writer writer, int indentFactor, int indent) + throws JSONException { + try { + boolean commanate = false; + final int length = this.length(); + Iterator keys = this.keys(); + writer.write('{'); + + if (length == 1) { + Object key = keys.next(); + writer.write(quote(key.toString())); + writer.write(':'); + if (indentFactor > 0) { + writer.write(' '); + } + writeValue(writer, this.map.get(key), indentFactor, indent); + } else if (length != 0) { + final int newindent = indent + indentFactor; + while (keys.hasNext()) { + Object key = keys.next(); + if (commanate) { + writer.write(','); + } + if (indentFactor > 0) { + writer.write('\n'); + } + indent(writer, newindent); + writer.write(quote(key.toString())); + writer.write(':'); + if (indentFactor > 0) { + writer.write(' '); + } + writeValue(writer, this.map.get(key), indentFactor, + newindent); + commanate = true; + } + if (indentFactor > 0) { + writer.write('\n'); + } + indent(writer, indent); + } + writer.write('}'); + return writer; + } catch (IOException exception) { + throw new JSONException(exception); + } + } + public JSONObject increment(String key) throws JSONException { Object value = this.opt(key); if (value == null) { @@ -822,51 +851,21 @@ public class JSONObject { } } - Writer write(Writer writer, int indentFactor, int indent) - throws JSONException { - try { - boolean commanate = false; - final int length = this.length(); - Iterator keys = this.keys(); - writer.write('{'); + private static final class Null { - if (length == 1) { - Object key = keys.next(); - writer.write(quote(key.toString())); - writer.write(':'); - if (indentFactor > 0) { - writer.write(' '); - } - writeValue(writer, this.map.get(key), indentFactor, indent); - } else if (length != 0) { - final int newindent = indent + indentFactor; - while (keys.hasNext()) { - Object key = keys.next(); - if (commanate) { - writer.write(','); - } - if (indentFactor > 0) { - writer.write('\n'); - } - indent(writer, newindent); - writer.write(quote(key.toString())); - writer.write(':'); - if (indentFactor > 0) { - writer.write(' '); - } - writeValue(writer, this.map.get(key), indentFactor, - newindent); - commanate = true; - } - if (indentFactor > 0) { - writer.write('\n'); - } - indent(writer, indent); - } - writer.write('}'); - return writer; - } catch (IOException exception) { - throw new JSONException(exception); + @Override + protected final Object clone() { + return this; + } + + @Override + public boolean equals(Object object) { + return object == null || object == this; + } + + @Override + public String toString() { + return "null"; } } } diff --git a/src/main/java/me/skymc/taboolib/jsonformatter/JSONFormatter.java b/src/main/java/me/skymc/taboolib/jsonformatter/JSONFormatter.java index e8e7a3f..ab8759a 100644 --- a/src/main/java/me/skymc/taboolib/jsonformatter/JSONFormatter.java +++ b/src/main/java/me/skymc/taboolib/jsonformatter/JSONFormatter.java @@ -17,6 +17,29 @@ import java.util.List; public class JSONFormatter { + private static Class cs = NMSUtils.getNMSClassSilent("ChatSerializer", "IChatBaseComponent"); + private static Class icbc = NMSUtils.getNMSClassSilent("IChatBaseComponent"); + private static Class ppoc = NMSUtils.getNMSClassSilent("PacketPlayOutChat"); + private static Class pc = NMSUtils.getNMSClassSilent("PlayerConnection"); + private static Class p = NMSUtils.getNMSClassSilent("Packet"); + private static Class ep = NMSUtils.getNMSClassSilent("EntityPlayer"); + private static Method a = NMSUtils.getMethodSilent(cs, "a", String.class), sp = NMSUtils.getMethodSilent(pc, "sendPacket", p); + private static Field ppc = NMSUtils.getFieldSilent(ep, "playerConnection"); + private static Constructor ppocc = NMSUtils.getConstructorSilent(ppoc, icbc); + private static boolean b = check(cs, icbc, ppoc, pc, p, ep, a, sp, ppc, ppocc); + private List all = new ArrayList<>(); + private JSONArray ja = new JSONArray(); + private Builder builder = new Builder(); + private String color = ""; + private boolean newline = true; + + public JSONFormatter() { + } + + public JSONFormatter(boolean newline) { + this.newline = newline; + } + public static void sendRawMessage(Player player, String message) { try { Object entityplayer = NMSUtils.getHandle(player); @@ -28,17 +51,55 @@ public class JSONFormatter { } } - private JSONArray ja = new JSONArray(); - private Builder builder = new Builder(); - private String color = ""; - private List all = new ArrayList<>(); - private boolean newline = true; - - public JSONFormatter() { + private static boolean check(Object... o) { + for (Object a : o) { + if (a == null) + return false; + } + return true; } - public JSONFormatter(boolean newline) { - this.newline = newline; + private static void send(Player player, JSONFormatter jf) { + if (!jf.newline) { + send1(player, jf); + } else if (b) { + try { + Object entityplayer = NMSUtils.getHandle(player); + Object ppco = ppc.get(entityplayer); + sp.invoke(ppco, jf.getPacket()); + } catch (Exception e) { + Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " " + jf.toJSON()); + } + } else { + Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " " + jf.toJSON()); + } + } + + private static void send1(Player player, JSONFormatter jf) { + if (b) { + try { + Object entityplayer = NMSUtils.getHandle(player); + Object ppco = ppc.get(entityplayer); + List packets = jf.getPacketList(); + List jsons = null; + for (int i = 0; i < packets.size(); i++) { + try { + sp.invoke(ppco, packets.get(i)); + } catch (Exception e) { + if (jsons == null) { + jsons = jf.toJSONList(); + } + Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " " + jsons.get(i)); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } else { + for (String json : jf.toJSONList()) { + Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " " + json); + } + } } public JSONFormatter append(JSONFormatter json) { @@ -284,71 +345,9 @@ public class JSONFormatter { return null; } - private static Class cs = NMSUtils.getNMSClassSilent("ChatSerializer", "IChatBaseComponent"); - private static Class icbc = NMSUtils.getNMSClassSilent("IChatBaseComponent"); - private static Class ppoc = NMSUtils.getNMSClassSilent("PacketPlayOutChat"); - private static Class pc = NMSUtils.getNMSClassSilent("PlayerConnection"); - private static Class p = NMSUtils.getNMSClassSilent("Packet"); - private static Class ep = NMSUtils.getNMSClassSilent("EntityPlayer"); - private static Method a = NMSUtils.getMethodSilent(cs, "a", String.class), sp = NMSUtils.getMethodSilent(pc, "sendPacket", p); - private static Field ppc = NMSUtils.getFieldSilent(ep, "playerConnection"); - private static Constructor ppocc = NMSUtils.getConstructorSilent(ppoc, icbc); - private static boolean b = check(cs, icbc, ppoc, pc, p, ep, a, sp, ppc, ppocc); - - private static boolean check(Object... o) { - for (Object a : o) { - if (a == null) - return false; - } - return true; - } - - private static void send(Player player, JSONFormatter jf) { - if (!jf.newline) { - send1(player, jf); - } else if (b) { - try { - Object entityplayer = NMSUtils.getHandle(player); - Object ppco = ppc.get(entityplayer); - sp.invoke(ppco, jf.getPacket()); - } catch (Exception e) { - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " " + jf.toJSON()); - } - } else { - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " " + jf.toJSON()); - } - } - - private static void send1(Player player, JSONFormatter jf) { - if (b) { - try { - Object entityplayer = NMSUtils.getHandle(player); - Object ppco = ppc.get(entityplayer); - List packets = jf.getPacketList(); - List jsons = null; - for (int i = 0; i < packets.size(); i++) { - try { - sp.invoke(ppco, packets.get(i)); - } catch (Exception e) { - if (jsons == null) { - jsons = jf.toJSONList(); - } - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " " + jsons.get(i)); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } else { - for (String json : jf.toJSONList()) { - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + player.getName() + " " + json); - } - } - } - private class Builder { - private StringBuilder sb = new StringBuilder(""); + private StringBuilder sb = new StringBuilder(); private boolean bold = false, italic = false, magic = false, strikethrough = false, underline = false, changed = false; public Builder() { diff --git a/src/main/java/me/skymc/taboolib/mysql/protect/MySQLConnection.java b/src/main/java/me/skymc/taboolib/mysql/protect/MySQLConnection.java index 0069c43..b3d9f6d 100644 --- a/src/main/java/me/skymc/taboolib/mysql/protect/MySQLConnection.java +++ b/src/main/java/me/skymc/taboolib/mysql/protect/MySQLConnection.java @@ -23,58 +23,6 @@ public class MySQLConnection { private int recheck = 10; private Thread recheckThread; - public String getUrl() { - return url; - } - - public String getUser() { - return user; - } - - public String getPort() { - return port; - } - - public String getPassword() { - return password; - } - - public String getDatabase() { - return database; - } - - public String getConnectionUrl() { - return connectionUrl; - } - - public Connection getConnection() { - return connection; - } - - public Plugin getPlugin() { - return plugin; - } - - public boolean isFallReconnection() { - return fallReconnection; - } - - public void setPlugin(Plugin plugin) { - this.plugin = plugin; - } - - public void setFallReconnection(boolean fallReconnection) { - this.fallReconnection = fallReconnection; - } - - public int getRecheck() { - return recheck; - } - - public Thread getRecheckThread() { - return recheckThread; - } - public MySQLConnection(String url, String user, String port, String password, String database) { this(url, user, port, password, database, 10, Main.getInst()); } @@ -126,14 +74,66 @@ public class MySQLConnection { } } - public void setReCheckSeconds(int s) { - this.recheck = s; + public String getUrl() { + return url; + } + + public String getUser() { + return user; + } + + public String getPort() { + return port; + } + + public String getPassword() { + return password; + } + + public String getDatabase() { + return database; + } + + public String getConnectionUrl() { + return connectionUrl; + } + + public Connection getConnection() { + return connection; + } + + public Plugin getPlugin() { + return plugin; + } + + public void setPlugin(Plugin plugin) { + this.plugin = plugin; + } + + public boolean isFallReconnection() { + return fallReconnection; + } + + public void setFallReconnection(boolean fallReconnection) { + this.fallReconnection = fallReconnection; + } + + public int getRecheck() { + return recheck; + } + + public Thread getRecheckThread() { + return recheckThread; } public int getReCheckSeconds() { return recheck; } + public void setReCheckSeconds(int s) { + this.recheck = s; + } + public boolean isConnection() { try { if (connection == null || connection.isClosed()) { diff --git a/src/main/java/me/skymc/taboolib/nms/NMSUtil18.java b/src/main/java/me/skymc/taboolib/nms/NMSUtil18.java index 7a414c7..a2bbf20 100644 --- a/src/main/java/me/skymc/taboolib/nms/NMSUtil18.java +++ b/src/main/java/me/skymc/taboolib/nms/NMSUtil18.java @@ -1,19 +1,6 @@ package me.skymc.taboolib.nms; -import java.io.InputStream; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -import org.bukkit.Bukkit; -import org.bukkit.DyeColor; -import org.bukkit.Location; -import org.bukkit.Server; -import org.bukkit.World; +import org.bukkit.*; import org.bukkit.block.BlockFace; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.enchantments.Enchantment; @@ -24,6 +11,15 @@ import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; import org.bukkit.util.Vector; +import java.io.InputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.UUID; + @SuppressWarnings({"rawtypes", "unchecked"}) @Deprecated public class NMSUtil18 { diff --git a/src/main/java/me/skymc/taboolib/nms/item/impl/_164ItemUtils.java b/src/main/java/me/skymc/taboolib/nms/item/impl/_164ItemUtils.java index ce99552..3a2c8f1 100644 --- a/src/main/java/me/skymc/taboolib/nms/item/impl/_164ItemUtils.java +++ b/src/main/java/me/skymc/taboolib/nms/item/impl/_164ItemUtils.java @@ -1,27 +1,19 @@ package me.skymc.taboolib.nms.item.impl; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.UUID; - -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; - import me.skymc.taboolib.json.JSONArray; import me.skymc.taboolib.json.JSONObject; import me.skymc.taboolib.nms.NMSUtils; import me.skymc.taboolib.nms.item.IDabItemUtils; import me.skymc.taboolib.nms.nbt.NBTConstants; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.*; +import java.util.Map.Entry; public class _164ItemUtils implements IDabItemUtils{ @@ -30,8 +22,8 @@ public class _164ItemUtils implements IDabItemUtils{ public boolean getBanner(){ try{ Material m = Material.valueOf("BANNER"); - return true; - } catch (Exception ignored) { + return true; + } catch (Exception ignored) { } return false; } diff --git a/src/main/java/me/skymc/taboolib/nms/item/impl/_1710ItemUtils.java b/src/main/java/me/skymc/taboolib/nms/item/impl/_1710ItemUtils.java index 11558a1..ccef7cb 100644 --- a/src/main/java/me/skymc/taboolib/nms/item/impl/_1710ItemUtils.java +++ b/src/main/java/me/skymc/taboolib/nms/item/impl/_1710ItemUtils.java @@ -1,27 +1,19 @@ package me.skymc.taboolib.nms.item.impl; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; - import me.skymc.taboolib.json.JSONArray; import me.skymc.taboolib.json.JSONObject; import me.skymc.taboolib.nms.NMSUtils; import me.skymc.taboolib.nms.item.IDabItemUtils; import me.skymc.taboolib.nms.nbt.NBTConstants; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.*; +import java.util.Map.Entry; public class _1710ItemUtils implements IDabItemUtils{ @@ -30,8 +22,8 @@ public class _1710ItemUtils implements IDabItemUtils{ public boolean getBanner(){ try{ Material m = Material.valueOf("BANNER"); - return true; - } catch (Exception ignored) { + return true; + } catch (Exception ignored) { } return false; } diff --git a/src/main/java/me/skymc/taboolib/nms/item/impl/_194ItemUtils.java b/src/main/java/me/skymc/taboolib/nms/item/impl/_194ItemUtils.java index 321c2cf..0dc03e8 100644 --- a/src/main/java/me/skymc/taboolib/nms/item/impl/_194ItemUtils.java +++ b/src/main/java/me/skymc/taboolib/nms/item/impl/_194ItemUtils.java @@ -1,26 +1,19 @@ package me.skymc.taboolib.nms.item.impl; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; - import me.skymc.taboolib.json.JSONArray; import me.skymc.taboolib.json.JSONObject; import me.skymc.taboolib.nms.NMSUtils; import me.skymc.taboolib.nms.item.IDabItemUtils; import me.skymc.taboolib.nms.nbt.NBTConstants; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.*; +import java.util.Map.Entry; public class _194ItemUtils implements IDabItemUtils{ @@ -29,7 +22,7 @@ public class _194ItemUtils implements IDabItemUtils{ public boolean getBanner(){ try{ Material m = Material.valueOf("BANNER"); - return true; + return true; } catch (Exception ignored) { } return false; diff --git a/src/main/java/me/skymc/taboolib/nms/nbt/NBTConstants.java b/src/main/java/me/skymc/taboolib/nms/nbt/NBTConstants.java index c35e593..03c7a57 100644 --- a/src/main/java/me/skymc/taboolib/nms/nbt/NBTConstants.java +++ b/src/main/java/me/skymc/taboolib/nms/nbt/NBTConstants.java @@ -5,12 +5,7 @@ import java.nio.charset.Charset; @Deprecated public final class NBTConstants { - private NBTConstants() { - throw new AssertionError("Not instantiable"); - } - public static final Charset CHARSET = Charset.forName("UTF-8"); - public static final int TYPE_END = 0; public static final int TYPE_BYTE = 1; public static final int TYPE_SHORT = 2; @@ -23,4 +18,8 @@ public final class NBTConstants { public static final int TYPE_LIST = 9; public static final int TYPE_COMPOUND = 10; public static final int TYPE_INT_ARRAY = 11; + + private NBTConstants() { + throw new AssertionError("Not instantiable"); + } } diff --git a/src/main/java/me/skymc/taboolib/packet/PacketUtils.java b/src/main/java/me/skymc/taboolib/packet/PacketUtils.java index 63ed053..a5aa8e6 100644 --- a/src/main/java/me/skymc/taboolib/packet/PacketUtils.java +++ b/src/main/java/me/skymc/taboolib/packet/PacketUtils.java @@ -9,10 +9,6 @@ import org.bukkit.entity.Player; public class PacketUtils { - public enum EntityStatus { - FIRE, CROUCHED, UNUSED1, UNUSED2, SPRINTING, INVISIBLE, GLOWING, ELYTRA - } - public static void sendPacketEntityStatus(Entity entity, EntityStatus status, Player... players) { PacketContainer packet = ProtocolLibrary.getProtocolManager().createPacket(PacketType.Play.Server.ENTITY_METADATA); packet.getIntegers().write(0, entity.getEntityId()); @@ -72,4 +68,8 @@ public class PacketUtils { e.printStackTrace(); } } + + public enum EntityStatus { + FIRE, CROUCHED, UNUSED1, UNUSED2, SPRINTING, INVISIBLE, GLOWING, ELYTRA + } } diff --git a/src/main/java/me/skymc/taboolib/playerdata/DataUtils.java b/src/main/java/me/skymc/taboolib/playerdata/DataUtils.java index 1ac4ea2..9fac5ba 100644 --- a/src/main/java/me/skymc/taboolib/playerdata/DataUtils.java +++ b/src/main/java/me/skymc/taboolib/playerdata/DataUtils.java @@ -93,16 +93,6 @@ public class DataUtils implements Listener { return conf; } - @EventHandler - public void disable(PluginDisableEvent e) { - if (e.getPlugin().equals(Main.getInst())) { - return; - } - if (CACHE_DATA_PLUGIN.containsKey(e.getPlugin().getName())) { - saveAllCaches(e.getPlugin(), true); - } - } - @Deprecated public static FileConfiguration getPlayerData(String name) { try { @@ -149,4 +139,14 @@ public class DataUtils implements Listener { public static void saveOnline(String p) { getPlayerData(p).set("TabooLib.Offline", System.currentTimeMillis()); } + + @EventHandler + public void disable(PluginDisableEvent e) { + if (e.getPlugin().equals(Main.getInst())) { + return; + } + if (CACHE_DATA_PLUGIN.containsKey(e.getPlugin().getName())) { + saveAllCaches(e.getPlugin(), true); + } + } } diff --git a/src/main/java/me/skymc/taboolib/plugin/PluginUtils.java b/src/main/java/me/skymc/taboolib/plugin/PluginUtils.java index ae6f0d2..9a7ee76 100644 --- a/src/main/java/me/skymc/taboolib/plugin/PluginUtils.java +++ b/src/main/java/me/skymc/taboolib/plugin/PluginUtils.java @@ -250,10 +250,10 @@ public class PluginUtils { } } pluginManager.disablePlugin(plugin); - if (plugins != null && plugins.contains(plugin)) { + if (plugins != null) { plugins.remove(plugin); } - if (names != null && names.containsKey(name)) { + if (names != null) { names.remove(name); } if (listeners != null && reloadlisteners) { diff --git a/src/main/java/me/skymc/taboolib/string/language2/Language2.java b/src/main/java/me/skymc/taboolib/string/language2/Language2.java index 09af73a..0bee99e 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/Language2.java +++ b/src/main/java/me/skymc/taboolib/string/language2/Language2.java @@ -22,6 +22,16 @@ public class Language2 { private Plugin plugin; private String languageName; + public Language2(Plugin plugin) { + this("zh_CN", plugin); + } + + public Language2(String languageName, Plugin plugin) { + this.languageName = languageName; + this.plugin = plugin; + reload(languageName); + } + public FileConfiguration getConfiguration() { return configuration; } @@ -42,16 +52,6 @@ public class Language2 { return languageName; } - public Language2(Plugin plugin) { - this("zh_CN", plugin); - } - - public Language2(String languageName, Plugin plugin) { - this.languageName = languageName; - this.plugin = plugin; - reload(languageName); - } - public Language2Value get(String key) { return new Language2Value(this, key); } diff --git a/src/main/java/me/skymc/taboolib/string/language2/Language2Format.java b/src/main/java/me/skymc/taboolib/string/language2/Language2Format.java index 87d13ee..f73428d 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/Language2Format.java +++ b/src/main/java/me/skymc/taboolib/string/language2/Language2Format.java @@ -16,14 +16,6 @@ public class Language2Format implements Language2Line { private Language2Value language2Value; private List language2Lines = new ArrayList<>(); - public Language2Value getLanguage2Value() { - return language2Value; - } - - public List getLanguage2Lines() { - return language2Lines; - } - public Language2Format(Player player, Language2Value value) { language2Value = value; // 语言类型 @@ -93,6 +85,14 @@ public class Language2Format implements Language2Line { } } + public Language2Value getLanguage2Value() { + return language2Value; + } + + public List getLanguage2Lines() { + return language2Lines; + } + /** * 识别内容 * diff --git a/src/main/java/me/skymc/taboolib/string/language2/Language2Value.java b/src/main/java/me/skymc/taboolib/string/language2/Language2Value.java index ab47ae5..db1301b 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/Language2Value.java +++ b/src/main/java/me/skymc/taboolib/string/language2/Language2Value.java @@ -25,26 +25,6 @@ public class Language2Value { private boolean enablePlaceholderAPI = false; - public Language2 getLanguage() { - return language; - } - - public String getLanguageKey() { - return languageKey; - } - - public List getLanguageValue() { - return languageValue; - } - - public LinkedHashMap getPlaceholder() { - return placeholder; - } - - public boolean isEnablePlaceholderAPI() { - return enablePlaceholderAPI; - } - /** * 构造方法 */ @@ -81,6 +61,26 @@ public class Language2Value { this.languageKey = languageKey; } + public Language2 getLanguage() { + return language; + } + + public String getLanguageKey() { + return languageKey; + } + + public List getLanguageValue() { + return languageValue; + } + + public LinkedHashMap getPlaceholder() { + return placeholder; + } + + public boolean isEnablePlaceholderAPI() { + return enablePlaceholderAPI; + } + /** * 向玩家发送信息 * diff --git a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Action.java b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Action.java index 9e278bc..0f1816a 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Action.java +++ b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Action.java @@ -29,18 +29,6 @@ public class Language2Action implements Language2Line { private Language2Value value; - public String getText() { - return text; - } - - public int getRepeat() { - return repeat; - } - - public Language2Value getValue() { - return value; - } - public Language2Action(Language2Format format, List list) { // 变量初始化 this.value = format.getLanguage2Value(); @@ -68,6 +56,18 @@ public class Language2Action implements Language2Line { } } + public String getText() { + return text; + } + + public int getRepeat() { + return repeat; + } + + public Language2Value getValue() { + return value; + } + /** * 发送给玩家 * diff --git a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Book.java b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Book.java index 5a8c2ff..af7c1cd 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Book.java +++ b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Book.java @@ -48,26 +48,6 @@ public class Language2Book implements Language2Line { private BookBuilder book; - public static Pattern getPattern() { - return pattern; - } - - public Player getPlayer() { - return player; - } - - public Language2Value getValue() { - return value; - } - - public HashMap getOptions() { - return options; - } - - public BookBuilder getBook() { - return book; - } - public Language2Book(Language2Format format, List list, Player player) { // 变量 this.player = player; @@ -141,6 +121,26 @@ public class Language2Book implements Language2Line { book.addPages(page.build()); } + public static Pattern getPattern() { + return pattern; + } + + public Player getPlayer() { + return player; + } + + public Language2Value getValue() { + return value; + } + + public HashMap getOptions() { + return options; + } + + public BookBuilder getBook() { + return book; + } + private void formatOptions(List list) { // 获取书本设置 HashMap> _options = getOptions(list); diff --git a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Json.java b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Json.java index 7ba9745..f9ac278 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Json.java +++ b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Json.java @@ -40,22 +40,6 @@ public class Language2Json implements Language2Line { private StringBuffer text = new StringBuffer(); - public Player getPlayer() { - return player; - } - - public Language2Value getValue() { - return value; - } - - public JSONFormatter getJson() { - return json; - } - - public StringBuffer getText() { - return text; - } - public Language2Json(Language2Format format, List list, Player player) { // 首次检测 boolean isFirst = true; @@ -133,6 +117,22 @@ public class Language2Json implements Language2Line { append(current, clickEvent, hoverEvent); } + public Player getPlayer() { + return player; + } + + public Language2Value getValue() { + return value; + } + + public JSONFormatter getJson() { + return json; + } + + public StringBuffer getText() { + return text; + } + /** * 发送给玩家 * diff --git a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Json2.java b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Json2.java index 0e3a257..2d08958 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Json2.java +++ b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Json2.java @@ -48,22 +48,6 @@ public class Language2Json2 implements Language2Line { private JSONFormatter json = new JSONFormatter(); - public Player getPlayer() { - return player; - } - - public Language2Value getValue() { - return value; - } - - public HashMap getOptions() { - return options; - } - - public JSONFormatter getJson() { - return json; - } - public Language2Json2(Language2Format format, List list, Player player) { // 变量 this.player = player; @@ -128,6 +112,22 @@ public class Language2Json2 implements Language2Line { } } + public Player getPlayer() { + return player; + } + + public Language2Value getValue() { + return value; + } + + public HashMap getOptions() { + return options; + } + + public JSONFormatter getJson() { + return json; + } + private int getLineNumberEnd(List list) { int line = list.size(); for (int i = 0; i < list.size(); i++) { diff --git a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Sound.java b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Sound.java index f2e219a..08cc06d 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Sound.java +++ b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Sound.java @@ -21,14 +21,6 @@ public class Language2Sound implements Language2Line { private Language2Value value; - public List getSounds() { - return sounds; - } - - public Language2Value getValue() { - return value; - } - public Language2Sound(Language2Format format, List list) { this.value = format.getLanguage2Value(); // 遍历文本 @@ -37,6 +29,14 @@ public class Language2Sound implements Language2Line { } } + public List getSounds() { + return sounds; + } + + public Language2Value getValue() { + return value; + } + @Override public void send(Player player) { for (SoundPack sound : sounds) { diff --git a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Text.java b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Text.java index 00a67d4..fd127da 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Text.java +++ b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Text.java @@ -19,6 +19,12 @@ public class Language2Text implements Language2Line { private Language2Value value; + public Language2Text(Language2Format format, List list) { + this.value = format.getLanguage2Value(); + // 遍历文本 + text.addAll(list); + } + public List getText() { return text; } @@ -27,12 +33,6 @@ public class Language2Text implements Language2Line { return value; } - public Language2Text(Language2Format format, List list) { - this.value = format.getLanguage2Value(); - // 遍历文本 - text.addAll(list); - } - @Override public void send(Player player) { for (String line : text) { diff --git a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Title.java b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Title.java index 829aba2..257bf33 100644 --- a/src/main/java/me/skymc/taboolib/string/language2/value/Language2Title.java +++ b/src/main/java/me/skymc/taboolib/string/language2/value/Language2Title.java @@ -33,30 +33,6 @@ public class Language2Title implements Language2Line { private Language2Value value; - public String getTitle() { - return title; - } - - public String getSubtitle() { - return subtitle; - } - - public int getFade1() { - return fade1; - } - - public int getFade2() { - return fade2; - } - - public int getStay() { - return stay; - } - - public Language2Value getValue() { - return value; - } - public Language2Title(Language2Format format, List list) { // 变量初始化 this.value = format.getLanguage2Value(); @@ -86,6 +62,30 @@ public class Language2Title implements Language2Line { } } + public String getTitle() { + return title; + } + + public String getSubtitle() { + return subtitle; + } + + public int getFade1() { + return fade1; + } + + public int getFade2() { + return fade2; + } + + public int getStay() { + return stay; + } + + public Language2Value getValue() { + return value; + } + @Override public void send(Player player) { // 检查版本 diff --git a/src/main/java/me/skymc/taboolib/team/TagManager.java b/src/main/java/me/skymc/taboolib/team/TagManager.java index 0732989..bf4a779 100644 --- a/src/main/java/me/skymc/taboolib/team/TagManager.java +++ b/src/main/java/me/skymc/taboolib/team/TagManager.java @@ -22,10 +22,6 @@ public class TagManager implements Listener { private HashMap playerdata = new HashMap<>(); - public HashMap getPlayerdata() { - return playerdata; - } - private TagManager() { Bukkit.getPluginManager().registerEvents(this, Main.getInst()); } @@ -39,6 +35,10 @@ public class TagManager implements Listener { return inst; } + public HashMap getPlayerdata() { + return playerdata; + } + /** * 设置玩家前缀 * @@ -184,6 +184,12 @@ public class TagManager implements Listener { private String prefix; private String suffix; + public PlayerData(String name) { + this.name = name; + this.prefix = ""; + this.suffix = ""; + } + public String getName() { return name; } @@ -192,22 +198,16 @@ public class TagManager implements Listener { return prefix; } - public String getSuffix() { - return suffix; - } - public void setPrefix(String prefix) { this.prefix = prefix; } + public String getSuffix() { + return suffix; + } + public void setSuffix(String suffix) { this.suffix = suffix; } - - public PlayerData(String name) { - this.name = name; - this.prefix = ""; - this.suffix = ""; - } } } diff --git a/src/main/java/me/skymc/taboolib/thread/ThreadUtils.java b/src/main/java/me/skymc/taboolib/thread/ThreadUtils.java index 91af79d..8c767e8 100644 --- a/src/main/java/me/skymc/taboolib/thread/ThreadUtils.java +++ b/src/main/java/me/skymc/taboolib/thread/ThreadUtils.java @@ -4,8 +4,8 @@ import java.util.LinkedList; public class ThreadUtils { - private static PoolWorker[] threads; private static final LinkedList queue = new LinkedList<>(); + private static PoolWorker[] threads; /** * 构造方法 diff --git a/src/main/java/me/skymc/taboolib/timecycle/TimeCycle.java b/src/main/java/me/skymc/taboolib/timecycle/TimeCycle.java index b2105b8..c8609bb 100644 --- a/src/main/java/me/skymc/taboolib/timecycle/TimeCycle.java +++ b/src/main/java/me/skymc/taboolib/timecycle/TimeCycle.java @@ -20,7 +20,7 @@ public class TimeCycle { long time = System.currentTimeMillis() - millisHour - millisMinute; } - + public Plugin getPlugin() { return plugin; } diff --git a/src/main/java/me/skymc/taboolib/timeutil/TimeFormatter.java b/src/main/java/me/skymc/taboolib/timeutil/TimeFormatter.java index d3e6d9d..edb73d3 100644 --- a/src/main/java/me/skymc/taboolib/timeutil/TimeFormatter.java +++ b/src/main/java/me/skymc/taboolib/timeutil/TimeFormatter.java @@ -14,6 +14,14 @@ public class TimeFormatter { private long seconds; private long milliseconds; + public TimeFormatter(long millisecond) { + days = TimeUnit.MILLISECONDS.toDays(millisecond); + hours = TimeUnit.MILLISECONDS.toHours(millisecond) - days * 24L; + minutes = TimeUnit.MILLISECONDS.toMinutes(millisecond) - TimeUnit.MILLISECONDS.toHours(millisecond) * 60L; + seconds = TimeUnit.MILLISECONDS.toSeconds(millisecond) - TimeUnit.MILLISECONDS.toMinutes(millisecond) * 60L; + milliseconds = TimeUnit.MILLISECONDS.toMillis(millisecond) - TimeUnit.MILLISECONDS.toSeconds(millisecond) * 1000L; + } + public long getDays() { return days; } @@ -54,14 +62,6 @@ public class TimeFormatter { this.milliseconds = milliseconds; } - public TimeFormatter(long millisecond) { - days = TimeUnit.MILLISECONDS.toDays(millisecond); - hours = TimeUnit.MILLISECONDS.toHours(millisecond) - days * 24L; - minutes = TimeUnit.MILLISECONDS.toMinutes(millisecond) - TimeUnit.MILLISECONDS.toHours(millisecond) * 60L; - seconds = TimeUnit.MILLISECONDS.toSeconds(millisecond) - TimeUnit.MILLISECONDS.toMinutes(millisecond) * 60L; - milliseconds = TimeUnit.MILLISECONDS.toMillis(millisecond) - TimeUnit.MILLISECONDS.toSeconds(millisecond) * 1000L; - } - public long toMilliseconds() { return milliseconds + (seconds * 1000L) + (minutes * 1000L * 60L) + (hours * 1000L * 60L * 60L) + (days * 1000L * 60L * 60L * 24L); } diff --git a/src/main/java/me/skymc/tlm/TLM.java b/src/main/java/me/skymc/tlm/TLM.java index 71f83dd..3dcc1c9 100644 --- a/src/main/java/me/skymc/tlm/TLM.java +++ b/src/main/java/me/skymc/tlm/TLM.java @@ -23,14 +23,6 @@ public class TLM { private Language2 language; - public FileConfiguration getConfig() { - return config; - } - - public Language2 getLanguage() { - return language; - } - /** * 构造方法 */ @@ -75,6 +67,14 @@ public class TLM { return inst; } + public FileConfiguration getConfig() { + return config; + } + + public Language2 getLanguage() { + return language; + } + /** * 载入配置文件 */ diff --git a/src/main/java/me/skymc/tlm/inventory/TLMInventoryHolder.java b/src/main/java/me/skymc/tlm/inventory/TLMInventoryHolder.java index 094e24a..526396c 100644 --- a/src/main/java/me/skymc/tlm/inventory/TLMInventoryHolder.java +++ b/src/main/java/me/skymc/tlm/inventory/TLMInventoryHolder.java @@ -15,14 +15,6 @@ public class TLMInventoryHolder implements InventoryHolder { private HashMap holderData = new HashMap<>(); - public String getModule() { - return module; - } - - public HashMap getHolderData() { - return holderData; - } - /** * 构造方法 * @@ -32,6 +24,14 @@ public class TLMInventoryHolder implements InventoryHolder { this.module = module; } + public String getModule() { + return module; + } + + public HashMap getHolderData() { + return holderData; + } + @Override public Inventory getInventory() { return null; diff --git a/src/main/resources/lang/zh_CN.yml b/src/main/resources/lang/zh_CN.yml index 1faa152..68d05b6 100644 --- a/src/main/resources/lang/zh_CN.yml +++ b/src/main/resources/lang/zh_CN.yml @@ -39,6 +39,10 @@ MISC: FIELD-COPY-FAILED: '拷贝 {0} 对象失败' FIELD-COPY-ERROR: '拷贝 {0} 对象出错:{1}' +DATABASE: + CONNECTION-ESTABLISHED: '成功连接到 {0} 数据库,连接池大小 {1}' + CONNECTION-ERROR: '连接到数据库错误:{0}' + COMMANDS: GLOBAL: ONLY-PLAYER: '&8[&3&lTabooLib&8] &4控制台无法这么做' @@ -248,7 +252,4 @@ COMMANDS: - '' - '§f /language2 send §8[§7玩家/ALL§8] §8[§7语言§8] §8<§7变量§8> §6- §e发送语言提示' - '§f /language2 reload §6- §e重载语言库' - - '' -DATABASE: - CONNECTION-ESTABLISHED: '成功连接到 {0} 数据库,连接池大小 {1}' - CONNECTION-ERROR: '连接到数据库错误:{0}' \ No newline at end of file + - '' \ No newline at end of file