diff --git a/.classpath b/.classpath deleted file mode 100644 index db5b5e4..0000000 --- a/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/.project b/.project deleted file mode 100644 index aa4ff7f..0000000 --- a/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - MiaoBoard - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.m2e.core.maven2Nature - org.eclipse.jdt.core.javanature - - diff --git a/class.dict b/class.dict deleted file mode 100644 index 21fec61..0000000 --- a/class.dict +++ /dev/null @@ -1,65 +0,0 @@ -IIIIiI -IIiIiI -iiIIiI -Iiiiii -IIIIIi -IiIiII -iiIIIi -iIIIii -iIiiIi -iiiIiI -IiiIii -iIiiiI -iiiIIi -IIiIII -IIIIii -IIIiii -iiiiII -iIIiII -IIiiII -iiIIii -IiiIII -iIiIII -IiIIii -iiIiiI -iIiiII -IiiIiI -iiiIII -IIiIIi -iIiIiI -iiIiii -IiIiii -IiIIiI -IiiIIi -IiIIIi -IIiiIi -iIIiIi -iIIIII -IIIiIi -iiiiiI -iIiIIi -IIIiiI -iiiiIi -iiIiIi -IIiiiI -IiiiII -iIIiii -iIiIii -IiIiiI -IIiIii -IiIIII -IIIIII -iIIIIi -IIIiII -iiiiii -IiiiiI -IiIiIi -iiiIii -iIIIiI -iIIiiI -iIiiii -iiIiII -IIiiii -iiIIII -IiiiIi -llllll \ No newline at end of file diff --git a/obf.dict b/obf.dict index dcde616..cfd1dec 100644 --- a/obf.dict +++ b/obf.dict @@ -1,24 +1,650 @@ -if -try -for -int -new -true -null -this -else -void -enum -final -false -class -catch -import -double -public -static -boolean -package -finally -private -protected \ No newline at end of file +ʻ +ʼ +ʽ +ʾ +ʿ +ˆ +ˈ +ˉ +ˊ +ˋ +ˎ +ˏ +ˑ +י +ـ +ٴ +ᐧ +ᴵ +ᵎ +ᵔ +ᵢ +ⁱ +ﹳ +ﹶ +゙ +゙゙ +ᐧᐧ +ᴵᴵ +ʻʻ +ʽʽ +ʼʼ +ʿʿ +ʾʾ +ــ +ˆˆ +ˉˉ +ˈˈ +ˋˋ +ˊˊ +ˏˏ +ˎˎ +ˑˑ +ᵔᵔ +יי +ᵎᵎ +ᵢᵢ +ⁱⁱ +ﹳﹳ +ٴٴ +ﹶﹶ +ʻʼ +ʻʽ +ʻʾ +ʻʿ +ʻˆ +ʻˈ +ʻˉ +ʻˊ +ʻˋ +ʻˎ +ʻˏ +ʻˑ +ʻי +ʻـ +ʻٴ +ʻᐧ +ʻᴵ +ʻᵎ +ʻᵔ +ʻᵢ +ʻⁱ +ʻﹳ +ʻﹶ +ʻ゙ +ʼʻ +ʼʽ +ʼʾ +ʼʿ +ʼˆ +ʼˈ +ʼˉ +ʼˊ +ʼˋ +ʼˎ +ʼˏ +ʼˑ +ʼי +ʼـ +ʼٴ +ʼᐧ +ʼᴵ +ʼᵎ +ʼᵔ +ʼᵢ +ʼⁱ +ʼﹳ +ʼﹶ +ʼ゙ +ʽʻ +ʽʼ +ʽʾ +ʽʿ +ʽˆ +ʽˈ +ʽˉ +ʽˊ +ʽˋ +ʽˎ +ʽˏ +ʽˑ +ʽי +ʽـ +ʽٴ +ʽᐧ +ʽᴵ +ʽᵎ +ʽᵔ +ʽᵢ +ʽⁱ +ʽﹳ +ʽﹶ +ʽ゙ +ʾʻ +ʾʼ +ʾʽ +ʾʿ +ʾˆ +ʾˈ +ʾˉ +ʾˊ +ʾˋ +ʾˎ +ʾˏ +ʾˑ +ʾי +ʾـ +ʾٴ +ʾᐧ +ʾᴵ +ʾᵎ +ʾᵔ +ʾᵢ +ʾⁱ +ʾﹳ +ʾﹶ +ʾ゙ +ʿʻ +ʿʼ +ʿʽ +ʿʾ +ʿˆ +ʿˈ +ʿˉ +ʿˊ +ʿˋ +ʿˎ +ʿˏ +ʿˑ +ʿי +ʿـ +ʿٴ +ʿᐧ +ʿᴵ +ʿᵎ +ʿᵔ +ʿᵢ +ʿⁱ +ʿﹳ +ʿﹶ +ʿ゙ +ˆʻ +ˆʼ +ˆʽ +ˆʾ +ˆʿ +ˆˈ +ˆˉ +ˆˊ +ˆˋ +ˆˎ +ˆˏ +ˆˑ +ˆי +ˆـ +ˆٴ +ˆᐧ +ˆᴵ +ˆᵎ +ˆᵔ +ˆᵢ +ˆⁱ +ˆﹳ +ˆﹶ +ˆ゙ +ˈʻ +ˈʼ +ˈʽ +ˈʾ +ˈʿ +ˈˆ +ˈˉ +ˈˊ +ˈˋ +ˈˎ +ˈˏ +ˈˑ +ˈי +ˈـ +ˈٴ +ˈᐧ +ˈᴵ +ˈᵎ +ˈᵔ +ˈᵢ +ˈⁱ +ˈﹳ +ˈﹶ +ˈ゙ +ˉʻ +ˉʼ +ˉʽ +ˉʾ +ˉʿ +ˉˆ +ˉˈ +ˉˊ +ˉˋ +ˉˎ +ˉˏ +ˉˑ +ˉי +ˉـ +ˉٴ +ˉᐧ +ˉᴵ +ˉᵎ +ˉᵔ +ˉᵢ +ˉⁱ +ˉﹳ +ˉﹶ +ˉ゙ +ˊʻ +ˊʼ +ˊʽ +ˊʾ +ˊʿ +ˊˆ +ˊˈ +ˊˉ +ˊˋ +ˊˎ +ˊˏ +ˊˑ +ˊי +ˊـ +ˊٴ +ˊᐧ +ˊᴵ +ˊᵎ +ˊᵔ +ˊᵢ +ˊⁱ +ˊﹳ +ˊﹶ +ˊ゙ +ˋʻ +ˋʼ +ˋʽ +ˋʾ +ˋʿ +ˋˆ +ˋˈ +ˋˉ +ˋˊ +ˋˎ +ˋˏ +ˋˑ +ˋי +ˋـ +ˋٴ +ˋᐧ +ˋᴵ +ˋᵎ +ˋᵔ +ˋᵢ +ˋⁱ +ˋﹳ +ˋﹶ +ˋ゙ +ˎʻ +ˎʼ +ˎʽ +ˎʾ +ˎʿ +ˎˆ +ˎˈ +ˎˉ +ˎˊ +ˎˋ +ˎˏ +ˎˑ +ˎי +ˎـ +ˎٴ +ˎᐧ +ˎᴵ +ˎᵎ +ˎᵔ +ˎᵢ +ˎⁱ +ˎﹳ +ˎﹶ +ˎ゙ +ˏʻ +ˏʼ +ˏʽ +ˏʾ +ˏʿ +ˏˆ +ˏˈ +ˏˉ +ˏˊ +ˏˋ +ˏˎ +ˏˑ +ˏי +ˏـ +ˏٴ +ˏᐧ +ˏᴵ +ˏᵎ +ˏᵔ +ˏᵢ +ˏⁱ +ˏﹳ +ˏﹶ +ˏ゙ +ˑʻ +ˑʼ +ˑʽ +ˑʾ +ˑʿ +ˑˆ +ˑˈ +ˑˉ +ˑˊ +ˑˋ +ˑˎ +ˑˏ +ˑי +ˑـ +ˑٴ +ˑᐧ +ˑᴵ +ˑᵎ +ˑᵔ +ˑᵢ +ˑⁱ +ˑﹳ +ˑﹶ +ˑ゙ +יʻ +יʼ +יʽ +יʾ +יʿ +יˆ +יˈ +יˉ +יˊ +יˋ +יˎ +יˏ +יˑ +יـ +יٴ +יᐧ +יᴵ +יᵎ +יᵔ +יᵢ +יⁱ +יﹳ +יﹶ +י゙ +ـʻ +ـʼ +ـʽ +ـʾ +ـʿ +ـˆ +ـˈ +ـˉ +ـˊ +ـˋ +ـˎ +ـˏ +ـˑ +ـי +ـٴ +ـᐧ +ـᴵ +ـᵎ +ـᵔ +ـᵢ +ـⁱ +ـﹳ +ـﹶ +ـ゙ +ٴʻ +ٴʼ +ٴʽ +ٴʾ +ٴʿ +ٴˆ +ٴˈ +ٴˉ +ٴˊ +ٴˋ +ٴˎ +ٴˏ +ٴˑ +ٴי +ٴـ +ٴᐧ +ٴᴵ +ٴᵎ +ٴᵔ +ٴᵢ +ٴⁱ +ٴﹳ +ٴﹶ +ٴ゙ +ᐧʻ +ᐧʼ +ᐧʽ +ᐧʾ +ᐧʿ +ᐧˆ +ᐧˈ +ᐧˉ +ᐧˊ +ᐧˋ +ᐧˎ +ᐧˏ +ᐧˑ +ᐧי +ᐧـ +ᐧٴ +ᐧᴵ +ᐧᵎ +ᐧᵔ +ᐧᵢ +ᐧⁱ +ᐧﹳ +ᐧﹶ +ᐧ゙ +ᴵʻ +ᴵʼ +ᴵʽ +ᴵʾ +ᴵʿ +ᴵˆ +ᴵˈ +ᴵˉ +ᴵˊ +ᴵˋ +ᴵˎ +ᴵˏ +ᴵˑ +ᴵי +ᴵـ +ᴵٴ +ᴵᐧ +ᴵᵎ +ᴵᵔ +ᴵᵢ +ᴵⁱ +ᴵﹳ +ᴵﹶ +ᴵ゙ +ᵎʻ +ᵎʼ +ᵎʽ +ᵎʾ +ᵎʿ +ᵎˆ +ᵎˈ +ᵎˉ +ᵎˊ +ᵎˋ +ᵎˎ +ᵎˏ +ᵎˑ +ᵎי +ᵎـ +ᵎٴ +ᵎᐧ +ᵎᴵ +ᵎᵔ +ᵎᵢ +ᵎⁱ +ᵎﹳ +ᵎﹶ +ᵎ゙ +ᵔʻ +ᵔʼ +ᵔʽ +ᵔʾ +ᵔʿ +ᵔˆ +ᵔˈ +ᵔˉ +ᵔˊ +ᵔˋ +ᵔˎ +ᵔˏ +ᵔˑ +ᵔי +ᵔـ +ᵔٴ +ᵔᐧ +ᵔᴵ +ᵔᵎ +ᵔᵢ +ᵔⁱ +ᵔﹳ +ᵔﹶ +ᵔ゙ +ᵢʻ +ᵢʼ +ᵢʽ +ᵢʾ +ᵢʿ +ᵢˆ +ᵢˈ +ᵢˉ +ᵢˊ +ᵢˋ +ᵢˎ +ᵢˏ +ᵢˑ +ᵢי +ᵢـ +ᵢٴ +ᵢᐧ +ᵢᴵ +ᵢᵎ +ᵢᵔ +ᵢⁱ +ᵢﹳ +ᵢﹶ +ᵢ゙ +ⁱʻ +ⁱʼ +ⁱʽ +ⁱʾ +ⁱʿ +ⁱˆ +ⁱˈ +ⁱˉ +ⁱˊ +ⁱˋ +ⁱˎ +ⁱˏ +ⁱˑ +ⁱי +ⁱـ +ⁱٴ +ⁱᐧ +ⁱᴵ +ⁱᵎ +ⁱᵔ +ⁱᵢ +ⁱﹳ +ⁱﹶ +ⁱ゙ +ﹳʻ +ﹳʼ +ﹳʽ +ﹳʾ +ﹳʿ +ﹳˆ +ﹳˈ +ﹳˉ +ﹳˊ +ﹳˋ +ﹳˎ +ﹳˏ +ﹳˑ +ﹳי +ﹳـ +ﹳٴ +ﹳᐧ +ﹳᴵ +ﹳᵎ +ﹳᵔ +ﹳᵢ +ﹳⁱ +ﹳﹶ +ﹳ゙ +ﹶʻ +ﹶʼ +ﹶʽ +ﹶʾ +ﹶʿ +ﹶˆ +ﹶˈ +ﹶˉ +ﹶˊ +ﹶˋ +ﹶˎ +ﹶˏ +ﹶˑ +ﹶי +ﹶـ +ﹶٴ +ﹶᐧ +ﹶᴵ +ﹶᵎ +ﹶᵔ +ﹶᵢ +ﹶⁱ +ﹶﹳ +ﹶ゙ +゙ʻ +゙ʼ +゙ʽ +゙ʾ +゙ʿ +゙ˆ +゙ˈ +゙ˉ +゙ˊ +゙ˋ +゙ˎ +゙ˏ +゙ˑ +゙י +゙ـ +゙ٴ +゙ᐧ +゙ᴵ +゙ᵎ +゙ᵔ +゙ᵢ +゙ⁱ +゙ﹳ +゙ﹶ \ No newline at end of file diff --git a/pom.xml b/pom.xml index e6de913..e87ec34 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 pw.yumc MiaoBoard - 2.3.2 + 2.3.3 喵式记分板 ${project.artifactId} @@ -14,25 +14,16 @@ - - maven-compiler-plugin - 3.1 - - 1.7 - 1.7 - - org.apache.maven.plugins maven-shade-plugin - 2.3 + 2.4.3 false true pw.yumc:YumCore - cn.citycraft:PluginHelper @@ -81,6 +72,8 @@ DEV UTF-8 + 1.8 + 1.8 @@ -100,7 +93,7 @@ pw.yumc YumCore jar - 1.5 + 1.7 \ No newline at end of file diff --git a/proguard.conf b/proguard.conf index 7e0fab5..c75310d 100644 --- a/proguard.conf +++ b/proguard.conf @@ -27,6 +27,9 @@ @net.md_5.bungee.event.EventHandler ; } +# -----保护继承事件不被清理----- +-keep class ** extends org.bukkit.event.Event {*;} + # -----保护枚举方法的完整性----- -keepclassmembers enum * { public static **[] values(); @@ -36,6 +39,7 @@ # -----保护配置注入不被清理----- -keepclassmembers class * extends **.config.inject.Inject** { ; + public (org.bukkit.configuration.ConfigurationSection); } # -----保护注解命令方法不被清理----- diff --git a/src/main/java/pw/yumc/MiaoBoard/MiaoBoard.java b/src/main/java/pw/yumc/MiaoBoard/MiaoBoard.java index 9645088..b80c444 100644 --- a/src/main/java/pw/yumc/MiaoBoard/MiaoBoard.java +++ b/src/main/java/pw/yumc/MiaoBoard/MiaoBoard.java @@ -5,6 +5,7 @@ import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; import pw.yumc.MiaoBoard.listener.PlayerListener; +import pw.yumc.MiaoBoard.listener.SelfListener; import pw.yumc.MiaoBoard.misc.Checker; import pw.yumc.MiaoBoard.scoreboard.ScoreBoardManager; import pw.yumc.YumCore.bukkit.Log; @@ -30,7 +31,7 @@ public class MiaoBoard extends JavaPlugin implements Executor { @Cmd(permission = "mb.toggle", executor = Cmd.Executor.PLAYER) @Help("关闭记分板") @Sort(2) - public void off(final Player player) { + public void off(Player player) { Checker.offList.add(player.getName()); Log.sender(player, "§c记分板已关闭!"); } @@ -38,7 +39,7 @@ public class MiaoBoard extends JavaPlugin implements Executor { @Cmd(permission = "mb.toggle", executor = Cmd.Executor.PLAYER) @Help("打开记分板") @Sort(1) - public void on(final Player player) { + public void on(Player player) { Checker.offList.remove(player.getName()); Log.sender(player, "§a记分板已打开!"); } @@ -53,6 +54,7 @@ public class MiaoBoard extends JavaPlugin implements Executor { scoreBoardManager.start(); new CommandSub("mb", this); new PlayerListener(); + new SelfListener(); } @Override @@ -62,7 +64,7 @@ public class MiaoBoard extends JavaPlugin implements Executor { @Cmd(permission = "mb.reload") @Help("重新载入配置文件") - public void reload(final CommandSender sender) { + public void reload(CommandSender sender) { scoreBoardManager.reload(); Log.sender(sender, "§a配置重载完毕!"); } diff --git a/src/main/java/pw/yumc/MiaoBoard/event/BodyUpdateEvent.java b/src/main/java/pw/yumc/MiaoBoard/event/BodyUpdateEvent.java new file mode 100644 index 0000000..10faf8e --- /dev/null +++ b/src/main/java/pw/yumc/MiaoBoard/event/BodyUpdateEvent.java @@ -0,0 +1,45 @@ +package pw.yumc.MiaoBoard.event; + +import java.util.Collections; +import java.util.List; + +import org.bukkit.entity.Player; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +/** + * 记分板更新事件 + * Created by 蒋天蓓 on 2017/3/7 0007. + */ +public class BodyUpdateEvent extends Event { + private Player player; + private List body = Collections.emptyList(); + + public BodyUpdateEvent(Player player) { + this.player = player; + } + + public void setBody(List body) { + this.body = body; + } + + public Player getPlayer() { + + return player; + } + + public List getBody() { + return body; + } + + private static HandlerList handlerList = new HandlerList(); + + public static HandlerList getHandlerList() { + return handlerList; + } + + @Override + public HandlerList getHandlers() { + return handlerList; + } +} diff --git a/src/main/java/pw/yumc/MiaoBoard/event/TitleUpdateEvent.java b/src/main/java/pw/yumc/MiaoBoard/event/TitleUpdateEvent.java new file mode 100644 index 0000000..4b8eef5 --- /dev/null +++ b/src/main/java/pw/yumc/MiaoBoard/event/TitleUpdateEvent.java @@ -0,0 +1,41 @@ +package pw.yumc.MiaoBoard.event; + +import org.bukkit.entity.Player; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +/** + * 记分板标题更新 + * Created by 蒋天蓓 on 2017/3/7 0007. + */ +public class TitleUpdateEvent extends Event { + private Player player; + private String title; + + public TitleUpdateEvent(Player player) { + this.player = player; + } + + public void setTitle(String title) { + this.title = title; + } + + public Player getPlayer() { + return player; + } + + public String getTitle() { + return title; + } + + private static HandlerList handlerList = new HandlerList(); + + public static HandlerList getHandlerList() { + return handlerList; + } + + @Override + public HandlerList getHandlers() { + return handlerList; + } +} diff --git a/src/main/java/pw/yumc/MiaoBoard/listener/PlayerListener.java b/src/main/java/pw/yumc/MiaoBoard/listener/PlayerListener.java index 905c3ec..558f13c 100644 --- a/src/main/java/pw/yumc/MiaoBoard/listener/PlayerListener.java +++ b/src/main/java/pw/yumc/MiaoBoard/listener/PlayerListener.java @@ -31,7 +31,7 @@ public class PlayerListener implements Listener { } @EventHandler - public void onPlayerChangeWorld(final PlayerChangedWorldEvent e) { + public void onPlayerChangeWorld(PlayerChangedWorldEvent e) { if (MiaoBoardConfig.i().DisableWorld.contains(e.getPlayer().getWorld().getName())) { manager.removeTarget(e.getPlayer()); } else { @@ -40,12 +40,12 @@ public class PlayerListener implements Listener { } @EventHandler - public void onPlayerJoin(final PlayerJoinEvent e) { + public void onPlayerJoin(PlayerJoinEvent e) { manager.addTarget(e.getPlayer()); } @EventHandler - public void onPlayerQuit(final PlayerQuitEvent e) { + public void onPlayerQuit(PlayerQuitEvent e) { manager.removeTarget(e.getPlayer()); } } diff --git a/src/main/java/pw/yumc/MiaoBoard/listener/SelfListener.java b/src/main/java/pw/yumc/MiaoBoard/listener/SelfListener.java new file mode 100644 index 0000000..3115c02 --- /dev/null +++ b/src/main/java/pw/yumc/MiaoBoard/listener/SelfListener.java @@ -0,0 +1,46 @@ +package pw.yumc.MiaoBoard.listener; + +import org.bukkit.Bukkit; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; + +import pw.yumc.MiaoBoard.MiaoBoard; +import pw.yumc.MiaoBoard.event.BodyUpdateEvent; +import pw.yumc.MiaoBoard.event.TitleUpdateEvent; +import pw.yumc.MiaoBoard.misc.Checker; +import pw.yumc.MiaoBoard.misc.Replace; +import pw.yumc.MiaoBoard.model.BoardModel; +import pw.yumc.YumCore.bukkit.P; + +/** + * 自身记分板监听类 + * Created by 蒋天蓓 on 2017/3/7 0007. + */ +public class SelfListener implements Listener { + private MiaoBoard plugin = P.getPlugin(); + + public SelfListener() { + Bukkit.getPluginManager().registerEvents(this, plugin); + } + + @EventHandler(priority = EventPriority.LOWEST) + public void onBodyUpdate(BodyUpdateEvent event) { + for (BoardModel bmodel : plugin.getScoreBoardManager().getModels()) { + if (Checker.$(event.getPlayer(), bmodel)) { + event.setBody(Replace.$(event.getPlayer(), bmodel.lines)); + break; + } + } + } + + @EventHandler(priority = EventPriority.LOWEST) + public void onTitleUpdate(TitleUpdateEvent event) { + for (BoardModel bmodel : plugin.getScoreBoardManager().getModels()) { + if (Checker.$(event.getPlayer(), bmodel)) { + event.setTitle(Replace.$(event.getPlayer(), bmodel.title)); + break; + } + } + } +} diff --git a/src/main/java/pw/yumc/MiaoBoard/model/BoardModel.java b/src/main/java/pw/yumc/MiaoBoard/model/BoardModel.java index d3393fa..2ecea8b 100644 --- a/src/main/java/pw/yumc/MiaoBoard/model/BoardModel.java +++ b/src/main/java/pw/yumc/MiaoBoard/model/BoardModel.java @@ -31,21 +31,11 @@ public class BoardModel extends InjectConfigurationSection { /** * 自动载入配置 * + * @param name * @param config */ - public BoardModel(final ConfigurationSection config) { + public BoardModel(String name, final ConfigurationSection config) { super(config); - } - - /** - * 设置模型名称 - * - * @param name - * 名称 - * @return {@link BoardModel} - */ - public BoardModel setName(final String name) { this.name = name; - return this; } } diff --git a/src/main/java/pw/yumc/MiaoBoard/scoreboard/ScoreBoardManager.java b/src/main/java/pw/yumc/MiaoBoard/scoreboard/ScoreBoardManager.java index 00a2264..6d8ba52 100644 --- a/src/main/java/pw/yumc/MiaoBoard/scoreboard/ScoreBoardManager.java +++ b/src/main/java/pw/yumc/MiaoBoard/scoreboard/ScoreBoardManager.java @@ -1,6 +1,5 @@ package pw.yumc.MiaoBoard.scoreboard; -import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; import java.util.List; @@ -50,10 +49,8 @@ public class ScoreBoardManager { public void load() { bms.clear(); - for (final String bmn : config.getConfigurationSection("Boards").getKeys(false)) { - bms.add(new BoardModel(config.getConfigurationSection("Boards." + bmn)).setName(bmn)); - } - Collections.sort(bms, new BoardComparator()); + config.getConfigurationSection("Boards").getKeys(false).forEach(bmn -> bms.add(new BoardModel(bmn, config.getConfigurationSection("Boards." + bmn)))); + bms.sort(Comparator.comparing(o -> o.index)); } public void reload() { @@ -69,16 +66,7 @@ public class ScoreBoardManager { public void start() { sbd.update(cot.set(true), MiaoBoardConfig.i().UpdateTime); - for (final Player player : C.Player.getOnlinePlayers()) { - addTarget(player); - } - } - - private class BoardComparator implements Comparator { - @Override - public int compare(final BoardModel o1, final BoardModel o2) { - return o1.index.compareTo(o2.index); - } + C.Player.getOnlinePlayers().forEach(this::addTarget); } private class Status implements Condition { diff --git a/src/main/java/pw/yumc/MiaoBoard/scoreboard/updater/BodyUpdater.java b/src/main/java/pw/yumc/MiaoBoard/scoreboard/updater/BodyUpdater.java index 272c74d..ac25503 100644 --- a/src/main/java/pw/yumc/MiaoBoard/scoreboard/updater/BodyUpdater.java +++ b/src/main/java/pw/yumc/MiaoBoard/scoreboard/updater/BodyUpdater.java @@ -1,14 +1,12 @@ package pw.yumc.MiaoBoard.scoreboard.updater; -import java.util.Collections; import java.util.List; +import org.bukkit.Bukkit; import org.bukkit.entity.Player; import pw.yumc.MiaoBoard.MiaoBoard; -import pw.yumc.MiaoBoard.misc.Checker; -import pw.yumc.MiaoBoard.misc.Replace; -import pw.yumc.MiaoBoard.model.BoardModel; +import pw.yumc.MiaoBoard.event.BodyUpdateEvent; import pw.yumc.YumCore.bukkit.P; import pw.yumc.YumCore.callback.CallBackReturn; @@ -23,10 +21,9 @@ public class BodyUpdater extends CallBackReturn.One> { @Override public List run(final Player param) { - for (BoardModel bmodel : plugin.getScoreBoardManager().getModels()) { - if (Checker.$(param, bmodel)) { return Replace.$(param, bmodel.lines); } - } - return Collections.emptyList(); + BodyUpdateEvent event = new BodyUpdateEvent(param); + Bukkit.getPluginManager().callEvent(event); + return event.getBody(); } } diff --git a/src/main/java/pw/yumc/MiaoBoard/scoreboard/updater/TitleUpdater.java b/src/main/java/pw/yumc/MiaoBoard/scoreboard/updater/TitleUpdater.java index be2be1f..aab09b9 100644 --- a/src/main/java/pw/yumc/MiaoBoard/scoreboard/updater/TitleUpdater.java +++ b/src/main/java/pw/yumc/MiaoBoard/scoreboard/updater/TitleUpdater.java @@ -1,11 +1,10 @@ package pw.yumc.MiaoBoard.scoreboard.updater; +import org.bukkit.Bukkit; import org.bukkit.entity.Player; import pw.yumc.MiaoBoard.MiaoBoard; -import pw.yumc.MiaoBoard.misc.Checker; -import pw.yumc.MiaoBoard.misc.Replace; -import pw.yumc.MiaoBoard.model.BoardModel; +import pw.yumc.MiaoBoard.event.TitleUpdateEvent; import pw.yumc.YumCore.bukkit.P; import pw.yumc.YumCore.callback.CallBackReturn; @@ -20,10 +19,9 @@ public class TitleUpdater extends CallBackReturn.One { @Override public String run(final Player param) { - for (BoardModel bmodel : plugin.getScoreBoardManager().getModels()) { - if (Checker.$(param, bmodel)) { return Replace.$(param, bmodel.title); } - } - return null; + TitleUpdateEvent event = new TitleUpdateEvent(param); + Bukkit.getPluginManager().callEvent(event); + return event.getTitle(); } }