Class OrganizationManager

java.lang.Object
net.chen.legacyLand.organization.OrganizationManager

public class OrganizationManager extends Object
组织管理器 - 处理组织和据点的所有逻辑与持久化
  • Method Details

    • getInstance

      public static OrganizationManager getInstance(LegacyLand plugin)
    • init

      public void init(Connection conn)
    • createOrganization

      public OrganizationManager.OrganizationCreateResult createOrganization(org.bukkit.entity.Player player, String name)
      创建组织
    • disbandOrganization

      public boolean disbandOrganization(org.bukkit.entity.Player player)
      解散组织(Leader 专属)
    • inviteMember

      public boolean inviteMember(Organization org, org.bukkit.entity.Player target, OrganizationRole role)
      邀请玩家加入
    • kickMember

      public boolean kickMember(Organization org, UUID targetId)
      踢出成员
    • setMemberRole

      public boolean setMemberRole(Organization org, UUID targetId, OrganizationRole role)
      设置成员角色
    • setMemberPermission

      public boolean setMemberPermission(Organization org, UUID targetId, OrganizationPermission perm, boolean grant)
      设置成员权限
    • createOutpost

      public OrganizationManager.OutpostCreateResult createOutpost(org.bukkit.entity.Player player, Organization org)
      创建据点
    • deleteOutpost

      public boolean deleteOutpost(Organization org, String outpostId)
      删除据点
    • toggleOutpost

      public boolean toggleOutpost(Organization org, String outpostId, boolean open)
      开/关据点
    • addGoods

      public boolean addGoods(Outpost outpost, org.bukkit.inventory.ItemStack item, double price, int quantity)
      添加货物到据点
    • updateGoodsQuantity

      public void updateGoodsQuantity(OutpostGoods goods)
      更新货物数量(保存到数据库)
    • removeGoods

      public boolean removeGoods(Outpost outpost, String goodsId)
      删除货物
    • getOrganizationByName

      public Organization getOrganizationByName(String name)
    • getOrganizationById

      public Organization getOrganizationById(String id)
    • getPlayerOrganization

      public Organization getPlayerOrganization(UUID playerId)
    • getOrganizationOutposts

      public List<Outpost> getOrganizationOutposts(String orgId)
    • getOutpostById

      public Outpost getOutpostById(String id)
    • getOutpostAt

      public Outpost getOutpostAt(org.bukkit.Location location)
      检查玩家是否在某个组织的据点范围内
    • getAllOrganizations

      public Collection<Organization> getAllOrganizations()