领地列表中新增了区分拥有领地与有权限管理领地

This commit is contained in:
zhangyuheng 2024-02-17 15:37:44 +08:00
parent d48dd4876e
commit a4c7797af8
3 changed files with 27 additions and 9 deletions

View File

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

View File

@ -61,14 +61,30 @@ public class Helper {
* @return 领地列表 * @return 领地列表
*/ */
public static List<String> playerDominions(CommandSender sender) { public static List<String> playerDominions(CommandSender sender) {
List<String> dominions_name = new ArrayList<>();
Player player = playerOnly(sender);
if (player == null) return dominions_name;
dominions_name.addAll(playerOwnDominions(sender));
dominions_name.addAll(playerAdminDominions(sender));
return dominions_name;
}
public static List<String> playerOwnDominions(CommandSender sender){
List<String> dominions_name = new ArrayList<>(); List<String> dominions_name = new ArrayList<>();
Player player = playerOnly(sender); Player player = playerOnly(sender);
if (player == null) return dominions_name; if (player == null) return dominions_name;
List<DominionDTO> dominions_own = DominionController.all(player); List<DominionDTO> dominions_own = DominionController.all(player);
List<PlayerPrivilegeDTO> dominions_admin = PlayerPrivilegeDTO.selectAll(player.getUniqueId());
for (DominionDTO dominion : dominions_own) { for (DominionDTO dominion : dominions_own) {
dominions_name.add(dominion.getName()); dominions_name.add(dominion.getName());
} }
return dominions_name;
}
public static List<String> playerAdminDominions(CommandSender sender){
List<String> dominions_name = new ArrayList<>();
Player player = playerOnly(sender);
if (player == null) return dominions_name;
List<PlayerPrivilegeDTO> dominions_admin = PlayerPrivilegeDTO.selectAll(player.getUniqueId());
for (PlayerPrivilegeDTO privilege : dominions_admin) { for (PlayerPrivilegeDTO privilege : dominions_admin) {
if (privilege.getAdmin()) { if (privilege.getAdmin()) {
DominionDTO dom = DominionDTO.select(privilege.getDomID()); DominionDTO dom = DominionDTO.select(privilege.getDomID());

View File

@ -11,7 +11,7 @@ import org.bukkit.entity.Player;
import java.util.List; import java.util.List;
import static cn.lunadeer.dominion.commands.Apis.playerOnly; import static cn.lunadeer.dominion.commands.Apis.playerOnly;
import static cn.lunadeer.dominion.commands.Helper.playerDominions; import static cn.lunadeer.dominion.commands.Helper.*;
import static cn.lunadeer.dominion.tuis.Apis.getPage; import static cn.lunadeer.dominion.tuis.Apis.getPage;
public class ListDominion { public class ListDominion {
@ -20,18 +20,20 @@ public class ListDominion {
if (player == null) return; if (player == null) return;
int page = getPage(args); int page = getPage(args);
ListView view = ListView.create(10, "/dominion list"); ListView view = ListView.create(10, "/dominion list");
List<String> dominions = playerDominions(sender); List<String> own_dominions = playerOwnDominions(sender);
if (dominions.isEmpty()) { List<String> admin_dominions = playerAdminDominions(sender);
Notification.warn(sender, "你没有任何领地");
return;
}
view.title("我的领地列表"); view.title("我的领地列表");
view.navigator(Line.create().append(Button.create("主菜单", "/dominion menu")).append("我的领地")); view.navigator(Line.create().append(Button.create("主菜单", "/dominion menu")).append("我的领地"));
for (String dominion : dominions) { for (String dominion : own_dominions) {
TextComponent manage = Button.createGreen("管理", "/dominion manage " + dominion); TextComponent manage = Button.createGreen("管理", "/dominion manage " + dominion);
TextComponent delete = Button.createRed("删除", "/dominion delete " + dominion); TextComponent delete = Button.createRed("删除", "/dominion delete " + dominion);
view.add(Line.create().append(dominion).append(manage).append(delete)); view.add(Line.create().append(dominion).append(manage).append(delete));
} }
for (String dominion : admin_dominions) {
TextComponent manage = Button.createGreen("管理", "/dominion manage " + dominion);
view.add(Line.create().append(dominion).append(manage));
}
view.showOn(player, page); view.showOn(player, page);
} }
} }