This repository has been archived on 2024-08-26. You can view files and clone it, but cannot push or open issues or pull requests.
Dominion/src/main/java/cn/lunadeer/dominion/commands/Helper.java

102 lines
3.6 KiB
Java
Raw Normal View History

2024-02-07 16:38:37 +08:00
package cn.lunadeer.dominion.commands;
import cn.lunadeer.dominion.controllers.DominionController;
import cn.lunadeer.dominion.dtos.DominionDTO;
import cn.lunadeer.dominion.dtos.PlayerPrivilegeDTO;
2024-02-07 16:38:37 +08:00
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static cn.lunadeer.dominion.commands.Apis.playerOnly;
public class Helper {
public static List<String> dominionFlags() {
return Arrays.asList(
2024-02-15 02:49:28 +08:00
"anchor", "animal_killing", "anvil",
"beacon", "bed", "brew", "break", "button",
"cake", "container", "craft", "creeper_explode", "comparer",
"door", "dye",
2024-03-24 19:03:11 +08:00
"egg", "enchant", "ender_man", "ender_pearl",
2024-02-15 02:49:28 +08:00
"feed", "fire_spread", "flow_in_protection",
"glow",
"harvest", "honey", "hook", "hopper",
2024-02-15 02:49:28 +08:00
"ignite",
"lever",
"mob_drop_item", "monster_killing", "move",
2024-02-15 02:49:28 +08:00
"place", "pressure",
"riding", "repeater",
"shear", "shoot",
2024-02-23 16:57:01 +08:00
"tnt_explode", "trade", "trample",
2024-02-15 02:49:28 +08:00
"vehicle_destroy",
"vehicle_spawn",
2024-02-15 02:49:28 +08:00
"wither_spawn");
2024-02-07 16:38:37 +08:00
}
2024-02-10 15:35:03 +08:00
public static List<String> playerPrivileges() {
2024-02-07 16:38:37 +08:00
return Arrays.asList(
2024-02-15 02:49:28 +08:00
"admin", "anchor", "animal_killing", "anvil",
"beacon", "bed", "brew", "break", "button",
"cake", "container", "craft", "comparer",
"door", "dye",
"egg", "enchant", "ender_pearl",
"feed",
"glow",
"harvest", "honey", "hook", "hopper",
2024-02-15 02:49:28 +08:00
"ignite",
"lever",
"monster_killing", "move",
"place", "pressure", "riding", "repeater",
"shear", "shoot",
"trade",
"vehicle_destroy",
"vehicle_spawn");
2024-02-07 16:38:37 +08:00
}
/**
* 获取玩家可管理的领地列表
*
* @param sender 命令发送者
* @return 领地列表
*/
2024-02-07 16:38:37 +08:00
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) {
2024-02-07 16:38:37 +08:00
List<String> dominions_name = new ArrayList<>();
Player player = playerOnly(sender);
if (player == null) return dominions_name;
List<DominionDTO> dominions_own = DominionController.all(player);
for (DominionDTO dominion : dominions_own) {
2024-02-07 16:38:37 +08:00
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());
if (dom == null) continue;
dominions_name.add(dom.getName());
}
}
2024-02-07 16:38:37 +08:00
return dominions_name;
}
}