2016-06-24 10:35:27 +00:00
|
|
|
package pw.yumc.MiaoBoard.scoreboard;
|
|
|
|
|
2016-07-06 18:03:29 +00:00
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
|
2016-07-04 13:30:12 +00:00
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
|
2016-07-06 18:03:29 +00:00
|
|
|
import cn.citycraft.PluginHelper.config.FileConfig;
|
2016-07-28 12:01:13 +00:00
|
|
|
import cn.citycraft.PluginHelper.kit.P;
|
2016-07-04 13:30:12 +00:00
|
|
|
import cn.citycraft.PluginHelper.scoreboard.BoardUpdateFunction;
|
2016-07-04 16:56:47 +00:00
|
|
|
import cn.citycraft.PluginHelper.scoreboard.Condition;
|
2016-07-04 13:30:12 +00:00
|
|
|
import cn.citycraft.PluginHelper.scoreboard.SidebarBoard;
|
2016-07-07 12:53:56 +00:00
|
|
|
import cn.citycraft.PluginHelper.utils.CompatibleUtil;
|
2016-07-04 16:56:47 +00:00
|
|
|
import pw.yumc.MiaoBoard.config.MiaoBoardConfig;
|
|
|
|
import pw.yumc.MiaoBoard.model.BoardModel;
|
2016-07-04 13:30:12 +00:00
|
|
|
import pw.yumc.MiaoBoard.scoreboard.updater.BodyUpdater;
|
|
|
|
import pw.yumc.MiaoBoard.scoreboard.updater.TitleUpdater;
|
|
|
|
|
2016-06-24 10:35:27 +00:00
|
|
|
/**
|
2016-07-21 12:57:41 +00:00
|
|
|
* 记分板管理类
|
2016-07-23 06:37:39 +00:00
|
|
|
*
|
2016-06-24 10:35:27 +00:00
|
|
|
* @since 2016年6月24日 下午3:31:31
|
|
|
|
* @author 喵♂呜
|
|
|
|
*/
|
2016-07-07 12:53:56 +00:00
|
|
|
public class ScoreBoardManager {
|
|
|
|
public static Status cot = new Status();
|
2016-07-23 06:37:39 +00:00
|
|
|
public static SidebarBoard sbd = new SidebarBoard(P.instance, new BoardUpdateFunction(new TitleUpdater(), new BodyUpdater()));
|
2016-07-07 12:53:56 +00:00
|
|
|
public static FileConfig config = MiaoBoardConfig.i().getConfig();;
|
2016-07-06 18:03:29 +00:00
|
|
|
public static List<BoardModel> bms = new ArrayList<>();
|
2016-07-04 13:30:12 +00:00
|
|
|
|
2016-07-06 18:03:29 +00:00
|
|
|
public static List<BoardModel> getModels() {
|
|
|
|
return bms;
|
|
|
|
}
|
|
|
|
|
2016-07-07 12:53:56 +00:00
|
|
|
public static SidebarBoard getSidebarBoard() {
|
|
|
|
return sbd;
|
|
|
|
}
|
|
|
|
|
2016-07-06 18:03:29 +00:00
|
|
|
public static void load() {
|
|
|
|
bms.clear();
|
|
|
|
for (final String bmn : config.getConfigurationSection("Boards").getKeys(false)) {
|
|
|
|
bms.add(new BoardModel(config.getConfigurationSection("Boards." + bmn)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void reload() {
|
2016-07-07 12:53:56 +00:00
|
|
|
sbd.cancel();
|
2016-07-06 18:03:29 +00:00
|
|
|
MiaoBoardConfig.reInject();
|
|
|
|
load();
|
2016-07-07 12:53:56 +00:00
|
|
|
start();
|
2016-07-04 16:56:47 +00:00
|
|
|
}
|
|
|
|
|
2016-07-07 12:53:56 +00:00
|
|
|
public static void start() {
|
|
|
|
sbd.update(cot, MiaoBoardConfig.UpdateTime);
|
|
|
|
for (final Player player : CompatibleUtil.getOnlinePlayers()) {
|
|
|
|
sbd.addTarget(player);
|
|
|
|
}
|
2016-07-04 13:30:12 +00:00
|
|
|
}
|
2016-07-04 16:56:47 +00:00
|
|
|
|
2016-07-07 12:53:56 +00:00
|
|
|
public static class Status implements Condition {
|
|
|
|
private boolean status = true;
|
2016-07-04 16:56:47 +00:00
|
|
|
|
2016-07-07 12:53:56 +00:00
|
|
|
@Override
|
|
|
|
public boolean get() {
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Status set(final boolean status) {
|
|
|
|
this.status = status;
|
|
|
|
return this;
|
|
|
|
}
|
2016-07-04 16:56:47 +00:00
|
|
|
}
|
2016-06-24 10:35:27 +00:00
|
|
|
}
|