Class LawManager

java.lang.Object
net.chen.legacyLand.nation.law.LawManager

public class LawManager extends Object
法令管理器 - 处理法令颁布、投票、过期等逻辑
  • Method Details

    • getInstance

      public static LawManager getInstance(LegacyLand plugin)
    • init

      public void init(Connection conn)
    • enactLaw

      public LawManager.EnactResult enactLaw(org.bukkit.entity.Player player, String nationName, LawType type, String paramsJson, long durationHours)
      直接颁布法令(封建/军事独裁政体,需要 ENACT_LAW 权限)
    • proposeLaw

      public LawManager.ProposeResult proposeLaw(org.bukkit.entity.Player player, String nationName, LawType type, String paramsJson, long voteHours)
      提交法令提案(需要投票的政体,需要 PROPOSE_LAW 权限)
    • castVote

      public LawManager.VoteResult castVote(org.bukkit.entity.Player player, String proposalId, boolean approve)
      投票(需要 VOTE_LAW 权限)
    • repealLaw

      public boolean repealLaw(org.bukkit.entity.Player player, String nationName, String lawId)
      废除法令(需要 ENACT_LAW 权限)
    • hasActiveLaw

      public boolean hasActiveLaw(String nationName, LawType type)
    • getLawParamDouble

      public double getLawParamDouble(String nationName, LawType type, String key, double defaultValue)
    • getLawParamString

      public String getLawParamString(String nationName, LawType type, String key, String defaultValue)
    • getActiveLaws

      public List<ActiveLaw> getActiveLaws(String nationName)
    • getOpenProposals

      public List<LawProposal> getOpenProposals(String nationName)
    • getProposalById

      public LawProposal getProposalById(String id)
    • checkExpiredLaws

      public void checkExpiredLaws()
    • checkVoteDeadlines

      public void checkVoteDeadlines()