新增手动刷新缓存选项

This commit is contained in:
zhangyuheng 2024-03-07 14:17:09 +08:00
parent 88e569b3aa
commit 97f6fbbab4
5 changed files with 45 additions and 4 deletions

View File

@ -6,7 +6,7 @@
<groupId>cn.lunadeer</groupId>
<artifactId>Dominion</artifactId>
<version>1.11.6-beta</version>
<version>1.11.7-beta</version>
<packaging>jar</packaging>
<name>Dominion</name>

View File

@ -2,6 +2,7 @@ package cn.lunadeer.dominion;
import cn.lunadeer.dominion.commands.DominionFlag;
import cn.lunadeer.dominion.commands.DominionOperate;
import cn.lunadeer.dominion.commands.Operator;
import cn.lunadeer.dominion.commands.PlayerPrivilege;
import cn.lunadeer.dominion.controllers.PlayerController;
import cn.lunadeer.dominion.dtos.PlayerDTO;
@ -127,6 +128,8 @@ public class Commands implements TabExecutor {
case "give":
DominionOperate.giveDominion(sender, args);
break;
case "reload_cache":
Operator.reloadCache(sender, args);
default:
return false;
}
@ -155,7 +158,8 @@ public class Commands implements TabExecutor {
"set_enter_msg",
"set_leave_msg",
"rename",
"give"
"give",
"reload_cache"
);
}
if (args.length == 2) {

View File

@ -46,4 +46,15 @@ public class Apis {
Dominion.pointsSelect.put(player.getUniqueId(), points);
}
public static boolean notOpOrConsole(CommandSender sender) {
if (sender instanceof Player) {
Player player = (Player) sender;
if (!player.isOp()) {
Notification.warn(player, "你没有权限使用此命令");
return true;
}
}
return false;
}
}

View File

@ -0,0 +1,20 @@
package cn.lunadeer.dominion.commands;
import cn.lunadeer.dominion.Cache;
import cn.lunadeer.dominion.utils.Notification;
import org.bukkit.command.CommandSender;
import static cn.lunadeer.dominion.commands.Apis.notOpOrConsole;
public class Operator {
public static void reloadCache(CommandSender sender, String[] args){
if (notOpOrConsole(sender)) return;
Notification.info(sender, "正在从数据库重新加载领地缓存...");
Cache.instance.loadDominions();
Notification.info(sender, "正在从数据库重新加载玩家权限缓存...");
Cache.instance.loadPlayerPrivileges();
Notification.info(sender, "缓存刷新完成");
}
}

View File

@ -25,12 +25,18 @@ public class Menu {
.append(Component.text("[使用文档]", ViewStyles.action_color)
.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, "https://ssl.lunadeer.cn:14448/doc/23/")))
.append("在浏览器中打开使用文档");
Line reload = Line.create()
.append(Button.create("重载缓存", "/dominion reload_cache"))
.append("手动刷新缓存可解决一些玩家操作无效问题,不建议频繁操作");
View view = View.create();
view.title("Dominion 领地系统")
.navigator(Line.create().append("主菜单"))
.addLine(list)
.addLine(help)
.addLine(link)
.showOn(player);
.addLine(link);
if (player.isOp()) {
view.addLine(reload);
}
view.showOn(player);
}
}