Class MiniGameManager

java.lang.Object
com.minigameworld.managers.MiniGameManager
All Implemented Interfaces:
MiniGameTimingNotifier, com.wbm.plugin.util.data.yaml.YamlMember

public class MiniGameManager extends Object implements com.wbm.plugin.util.data.yaml.YamlMember, MiniGameTimingNotifier
  • Method Details

    • todoOnPlayerJoin

      public void todoOnPlayerJoin(org.bukkit.entity.Player p)
      Todo list when a player joined the server
      Parameters:
      p - Joined player
    • todoOnPlayerQuit

      public void todoOnPlayerQuit(org.bukkit.entity.Player p)
      Todo list when a player try to quitting the server
      Parameters:
      p - Quitting player
    • getInstance

      public static MiniGameManager getInstance()
    • joinGame

      public boolean joinGame(org.bukkit.entity.Player p, String rawTitle)
      Join a minigame with party members who are available to join with
      - Join into already waiting instance game or create new game instance if need
      Parameters:
      p - Player who tries to join
      rawTitle - Minigame title
      Returns:
      False if player failed to join
    • joinGame

      public boolean joinGame(org.bukkit.entity.Player p, String title, String id)
      Join into minigame instance already created
      (NEVER create new game instance)
      Parameters:
      p - Joining player
      title - minigame title
      id - minigame id
      Returns:
      False if player failed to join
    • leaveGame

      public boolean leaveGame(org.bukkit.entity.Player p)
      Leave a minigame with party members in the same minigame
      Parameters:
      p - Player who tries to leave
      Returns:
      False if player failed to leave
    • viewGame

      public boolean viewGame(org.bukkit.entity.Player p, String rawTitle)
      View random minigame (enter without party members)
      Parameters:
      p - Player who tries to view minigame
      rawTitle - Minigame title
      Returns:
      False if player failed to view
    • viewGame

      public boolean viewGame(org.bukkit.entity.Player p, String title, String id)
      View minigame (enter without party members)
      Parameters:
      p - Player who tries to view minigame
      title - Minigame title
      id - Minigame id
      Returns:
      False if player failed to view
    • unviewGame

      public boolean unviewGame(org.bukkit.entity.Player p)
      Unview(leave) from a minigame alone
      Parameters:
      p - Player who tries to unview
      Returns:
      False if player failed to unview
    • startGame

      public boolean startGame(String title, String id)
      Make minigame start if can
      Parameters:
      title - Minigame title
      id - Minigame id
      Returns:
      False if minigame failed to start
    • handleException

      public boolean handleException(MiniGameExceptionEvent exception)
    • getPlayingGame

      public MiniGame getPlayingGame(org.bukkit.entity.Player p)
      Get playing instance minigame
      Parameters:
      p - Player playing game
      Returns:
      Playing minigame
    • isPlayingGame

      public boolean isPlayingGame(org.bukkit.entity.Player p)
    • getViewingGame

      public MiniGame getViewingGame(org.bukkit.entity.Player p)
      Get viewing instance minigame
      Parameters:
      p - Player viewing game
      Returns:
      Viewing minigame
    • isViewingGame

      public boolean isViewingGame(org.bukkit.entity.Player p)
    • getInGame

      public MiniGame getInGame(org.bukkit.entity.Player p)
    • isInGame

      public boolean isInGame(org.bukkit.entity.Player p)
      Whether player is playing or viewing a minigame
      Returns:
      True if player is playing or viewing minigame
    • getTemplateGame

      public MiniGame getTemplateGame(String title)
      Get template minigame with title
      Parameters:
      title - Minigame title
      Returns:
      template minigame
    • getTemplateGame

      public MiniGame getTemplateGame(Class<?> c)
      Get template minigame with class simple name
      [USAGE]
       getTemplateGame(Class.forName("GameA");
       
      Parameters:
      c - Minigame class
      Returns:
      Null if there is no minigame matched
    • getInstanceGame

      public MiniGame getInstanceGame(String title, String id)
      Get instance game with title and minigame id
      Parameters:
      title - Minigame title
      id - Minigame instance id
      Returns:
      Null if there is no minigame matched
    • getInstanceGame

      public MiniGame getInstanceGame(Class<?> c, String id)
      Get instance game with class simple name and minigame id
      Parameters:
      c - Minigame class name
      id - Minigame instance id
      Returns:
      Null if there is no minigame matched
    • registerTemplateGame

      public boolean registerTemplateGame(MiniGame templateGame)
      Register template minigame
      Parameters:
      templateGame - Template minigame
      Returns:
      False if the same minigame was registered already
    • unregisterTemplateGame

      public boolean unregisterTemplateGame(MiniGame templateGame)
      Unregister template minigame
      Parameters:
      templateGame - to unregister
      Returns:
      False if the minigame doesn't exist
    • removeNotExistGameData

      public void removeNotExistGameData()
    • createGameInstance

      public MiniGame createGameInstance(MiniGame templateGame)
      Create a new instance of template(registered) minigame
      Parameters:
      templateGame - template minigame
      Returns:
      Null if exception occurs
    • updateInstanceGameData

      public void updateInstanceGameData(MiniGame instance)
      Update instance game data with the template game data
      Parameters:
      instance - game which will be updated
    • removeGameInstance

      public void removeGameInstance(MiniGame instance)
    • countInstances

      public int countInstances(MiniGame game)
    • getTemplateGames

      public List<MiniGame> getTemplateGames()
    • getInstanceGames

      public List<MiniGame> getInstanceGames()
    • getSettings

      public Map<String,​Object> getSettings()
    • getMenuManager

      public MiniGameMenuManager getMenuManager()
    • getPartyManager

      public PartyManager getPartyManager()
    • getEventDetector

      public MiniGameEventDetector getEventDetector()
    • getGameListenerManager

      public GameListenerManager getGameListenerManager()
    • getYamlManager

      public com.wbm.plugin.util.data.yaml.YamlManager getYamlManager()
    • setData

      public void setData(com.wbm.plugin.util.data.yaml.YamlManager yamlM, org.bukkit.configuration.file.FileConfiguration config)
      Specified by:
      setData in interface com.wbm.plugin.util.data.yaml.YamlMember
    • getFileName

      public String getFileName()
      Specified by:
      getFileName in interface com.wbm.plugin.util.data.yaml.YamlMember
    • registerObserver

      public void registerObserver(MiniGameObserver observer)
      Description copied from interface: MiniGameTimingNotifier
      Reigsters observer
      Specified by:
      registerObserver in interface MiniGameTimingNotifier
      Parameters:
      observer - Observer to register
    • unregisterObserver

      public void unregisterObserver(MiniGameObserver observer)
      Description copied from interface: MiniGameTimingNotifier
      Unregisters observer
      Specified by:
      unregisterObserver in interface MiniGameTimingNotifier
      Parameters:
      observer - Observer to unregister
    • notifyObservers

      public void notifyObservers(MiniGame minigame, MiniGameTimingNotifier.Timing event)
      Description copied from interface: MiniGameTimingNotifier
      Notify timing to observers
      Specified by:
      notifyObservers in interface MiniGameTimingNotifier
      Parameters:
      minigame - Minigame to notify
      event - Minigame timing