Class NationManager

java.lang.Object
net.chen.legacyLand.nation.NationManager

public class NationManager extends Object
国家扩展数据管理器 - 存储 Towny 国家的扩展信息
  • Method Details

    • getInstance

      public static NationManager getInstance()
    • setTreasury

      public boolean setTreasury(@NotNull @NotNull String nationName, @NotNull @NotNull org.bukkit.Location location)
      设置国家国库箱子位置
      Parameters:
      nationName - 国家名
      location - 箱子位置
      Returns:
      是否设置成功
    • getTreasuryChest

      public org.bukkit.block.Chest getTreasuryChest(String nationName)
      获取国家国库箱子
      Parameters:
      nationName - 国家名
      Returns:
      国库箱子,不存在或方块已变更则返回 null
    • donateToTreasury

      public void donateToTreasury(org.bukkit.entity.Player player, org.bukkit.inventory.ItemStack item)
      捐赠物品到国库
      Parameters:
      player - 捐赠者
      item - 要捐赠的物品
    • donateToTreasury

      public boolean donateToTreasury(@NotNull @NotNull com.palmergames.bukkit.towny.object.Nation nation, org.bukkit.inventory.ItemStack item)
      向指定国家的国库存入物品(用于交易等系统调用)
      Parameters:
      nation - 目标国家
      item - 要存入的物品
      Returns:
      是否存入成功
    • requestWithdraw

      public void requestWithdraw(org.bukkit.entity.Player player, org.bukkit.inventory.ItemStack item)
      申请从国库取物
      Parameters:
      player - 申请人
      item - 要取的物品
    • forceWithdraw

      public void forceWithdraw(org.bukkit.entity.Player player, org.bukkit.inventory.ItemStack item)
    • withdrawFromNationTreasury

      public boolean withdrawFromNationTreasury(String nationName, org.bukkit.inventory.ItemStack item)
      从指定国家的国库取出物品(用于交易等系统调用)
      Parameters:
      nationName - 国家名
      item - 要取出的物品
      Returns:
      是否取出成功
    • approveRequest

      public void approveRequest(org.bukkit.entity.Player approver, TreasuryRequest request)
      审批通过取物申请
      Parameters:
      approver - 审批人
      request - 申请
    • denyRequest

      public void denyRequest(org.bukkit.entity.Player approver, TreasuryRequest request)
      拒绝取物申请
      Parameters:
      approver - 审批人
      request - 申请
    • getRequests

      public List<TreasuryRequest> getRequests(String nationName)
      获取国家待审批的国库申请列表
      Parameters:
      nationName - 国家名
      Returns:
      待审批申请列表
    • setGovernmentType

      public void setGovernmentType(String nationName, GovernmentType governmentType)
      设置国家政体
    • getGovernmentType

      public GovernmentType getGovernmentType(String nationName)
      获取国家政体
    • setPlayerRole

      public void setPlayerRole(String nationName, UUID playerId, NationRole role)
      设置玩家角色
    • getPlayerRole

      public NationRole getPlayerRole(String nationName, UUID playerId)
      获取玩家角色
    • hasPermission

      public boolean hasPermission(org.bukkit.entity.Player player, NationPermission permission)
      检查玩家是否有权限
    • getPlayerNation

      public com.palmergames.bukkit.towny.object.Nation getPlayerNation(org.bukkit.entity.Player player)
      获取玩家所在国家
    • loadNationData

      public void loadNationData(String nationName)
      加载国家扩展数据
    • removeNationData

      public void removeNationData(String nationName)
      移除国家扩展数据
    • setPoliticalSystem

      public void setPoliticalSystem(String nationName, String systemId)
      设置国家政治体制
      Parameters:
      nationName - 国家名
      systemId - 政体ID(对应 politics.yml 中的 key)
    • getPoliticalSystemId

      public String getPoliticalSystemId(String nationName)
      获取国家政治体制ID
    • getPoliticalSystem

      public PoliticalSystem getPoliticalSystem(String nationName)
      获取国家政治体制对象