diff --git a/pom.xml b/pom.xml
index c392461..c86bc46 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
cn.lunadeer
Dominion
- 1.26.3-beta
+ 1.27.0-beta
jar
Dominion
diff --git a/src/main/java/cn/lunadeer/dominion/Commands.java b/src/main/java/cn/lunadeer/dominion/Commands.java
index 108033d..b01cbad 100644
--- a/src/main/java/cn/lunadeer/dominion/Commands.java
+++ b/src/main/java/cn/lunadeer/dominion/Commands.java
@@ -149,6 +149,10 @@ public class Commands implements TabExecutor {
case "set_config":
SetConfig.handler(sender, args);
break;
+ // ---=== CUI ===---
+ case "cui_rename":
+ OpenCUI.RenameDominion(sender, args);
+ break;
default:
return false;
}
diff --git a/src/main/java/cn/lunadeer/dominion/Dominion.java b/src/main/java/cn/lunadeer/dominion/Dominion.java
index b56bd57..93bfde1 100644
--- a/src/main/java/cn/lunadeer/dominion/Dominion.java
+++ b/src/main/java/cn/lunadeer/dominion/Dominion.java
@@ -6,6 +6,7 @@ import cn.lunadeer.dominion.events.SelectPointEvents;
import cn.lunadeer.dominion.managers.ConfigManager;
import cn.lunadeer.dominion.managers.DatabaseTables;
import cn.lunadeer.minecraftpluginutils.*;
+import cn.lunadeer.minecraftpluginutils.scui.CuiManager;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.plugin.java.JavaPlugin;
@@ -58,6 +59,10 @@ public final class Dominion extends JavaPlugin {
"Dominion");
}
+ // SCUI 初始化
+ Bukkit.getPluginManager().registerEvents(new CuiManager(this), this);
+ CuiManager.instance.setDebug(config.isDebug());
+
logger.info("领地插件已启动");
logger.info("版本:" + this.getPluginMeta().getVersion());
// http://patorjk.com/software/taag/#p=display&f=Big&t=Dominion
diff --git a/src/main/java/cn/lunadeer/dominion/commands/OpenCUI.java b/src/main/java/cn/lunadeer/dominion/commands/OpenCUI.java
new file mode 100644
index 0000000..acd080b
--- /dev/null
+++ b/src/main/java/cn/lunadeer/dominion/commands/OpenCUI.java
@@ -0,0 +1,36 @@
+package cn.lunadeer.dominion.commands;
+
+import cn.lunadeer.dominion.Dominion;
+import cn.lunadeer.dominion.controllers.DominionController;
+import cn.lunadeer.minecraftpluginutils.scui.CuiTextInput;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+import static cn.lunadeer.dominion.commands.Apis.playerOnly;
+
+public class OpenCUI {
+ private static class renameDominionCB implements CuiTextInput.InputCallback {
+
+ private final Player sender;
+ private final String oldName;
+
+ public renameDominionCB(Player sender, String oldName) {
+ this.sender = sender;
+ this.oldName = oldName;
+ }
+
+ @Override
+ public void run(String input) {
+ Dominion.logger.debug("renameDominionCB.run: %s", input);
+ DominionController.rename(sender, oldName, input);
+ }
+ }
+
+ public static void RenameDominion(CommandSender sender, String[] args) {
+ Player player = playerOnly(sender);
+ if (player == null) return;
+ CuiTextInput.InputCallback renameDominionCB = new renameDominionCB(player, args[1]);
+ CuiTextInput view = CuiTextInput.create(renameDominionCB).setText(args[1]).title("领地重命名");
+ view.open(player);
+ }
+}
diff --git a/src/main/java/cn/lunadeer/dominion/tuis/DominionManage.java b/src/main/java/cn/lunadeer/dominion/tuis/DominionManage.java
index 90d1c3d..c250fa8 100644
--- a/src/main/java/cn/lunadeer/dominion/tuis/DominionManage.java
+++ b/src/main/java/cn/lunadeer/dominion/tuis/DominionManage.java
@@ -34,6 +34,9 @@ public class DominionManage {
Line set_tp = Line.create()
.append(Button.create("设置传送点").setExecuteCommand("/dominion set_tp_location " + dominion.getName()).build())
.append("设置当前位置为此领地传送点");
+ Line rename = Line.create()
+ .append(Button.create("重命名").setExecuteCommand("/dominion cui_rename " + dominion.getName()).build())
+ .append("重命名领地");
ListView view = ListView.create(10, "/dominion manage " + dominion.getName());
view.title("领地 " + dominion.getName() + " 管理界面")
.navigator(Line.create()
@@ -44,6 +47,7 @@ public class DominionManage {
.add(flag_info)
.add(privilege_list)
.add(set_tp)
+ .add(rename)
.showOn(player, 1);
}
}