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
-
-
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();
}
}