测试cui代码

This commit is contained in:
zhangyuheng 2024-05-25 20:43:18 +08:00
parent 53d010bdab
commit 6a3188e696
5 changed files with 50 additions and 1 deletions

View File

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

View File

@ -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;
}

View File

@ -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

View File

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

View File

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