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

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>
<artifactId>Dominion</artifactId>
<version>1.4.4-beta</version>
<version>1.4.5-beta</version>
<packaging>jar</packaging>
<name>Dominion</name>

View File

@ -61,14 +61,30 @@ public class Helper {
* @return 领地列表
*/
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<>();
Player player = playerOnly(sender);
if (player == null) return dominions_name;
List<DominionDTO> dominions_own = DominionController.all(player);
List<PlayerPrivilegeDTO> dominions_admin = PlayerPrivilegeDTO.selectAll(player.getUniqueId());
for (DominionDTO dominion : dominions_own) {
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) {
if (privilege.getAdmin()) {
DominionDTO dom = DominionDTO.select(privilege.getDomID());

View File

@ -11,7 +11,7 @@ import org.bukkit.entity.Player;
import java.util.List;
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;
public class ListDominion {
@ -20,18 +20,20 @@ public class ListDominion {
if (player == null) return;
int page = getPage(args);
ListView view = ListView.create(10, "/dominion list");
List<String> dominions = playerDominions(sender);
if (dominions.isEmpty()) {
Notification.warn(sender, "你没有任何领地");
return;
}
List<String> own_dominions = playerOwnDominions(sender);
List<String> admin_dominions = playerAdminDominions(sender);
view.title("我的领地列表");
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 delete = Button.createRed("删除", "/dominion delete " + dominion);
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);
}
}