MiniGameWorld icon

MiniGameWorld -----

Mini-game framework




Summary

Changes

API
  • Make API simple
  • Add game instance system (There are registered template games and playing instance games)
  • Add world instance system (auto world creation and deletion)
  • Every game has a unique ID to distinguish

Build


API changes for developers
  • Renamed lots of methods
  • Remove "worldbiomusic" in the package name
  • Rename "MiniGameWorldUtils" to "MwUtil"
  • Event handling way has totally changed to new design using annotation (onEvent(Event) will NOT work)
  • Add minigame id
  • Add creationTime, startTime and finishTime to MiniGameSetting
Code (YAML):
- MiniGameManager : getMiniGameList ( ) -> getTemplateGames ( )
- MiniGameManager
: getMiniGameWithTitle ( ) -> getTemplateGame (String )
- MiniGameManager
: getMiniGameWithClassName ( ) -> getTemplateGame (Class )
- MiniGameManager
: hasSameMiniGame ( ) -> existTemplateGame ( )
- MiniGameManager
: registerMiniGame ( ) -> registerTemplateGame ( )
- MiniGameManager
: unregisterMiniGame ( ) -> unregisterTemplateGame ( )
- MiniGameManager
: getMiniGameMenuManager ( ) -> getMenuManager ( )
- MiniGameManager
: getMiniGameEventDetector ( ) -> getEventDetector ( )
- MiniGameManager
: getPlayingMiniGame ( ) -> getPlayingGame ( )
- MiniGameManager
: isPlayingMiniGame ( ) -> isPlayingGame ( )
- MiniGameManager
: getViewingMiniGame ( ) -> getViewingGame ( )
- MiniGameManager
: isViewingMiniGame ( ) -> isViewingGame ( )
- MiniGameManager
: getInMiniGame ( ) -> getInGame ( )
- MiniGameManager
: isInMiniGame ( ) -> isInGame ( )
- MiniGameManager
: removeNotExistMiniGameData ( ) -> removeNotExistGameData ( )
- MiniGameManager
: getMiniGameWithTitle ( ) -> getTemplateGame (String )
- MiniGameManager
: getMiniGameWithClassName ( ) -> getTemplateGame (Class )
- MiniGameManager
: getMiniGamesDirectory ( ) -> getMiniGamesDir ( )
- MiniGameManager
: checkPlayerIsPlayingMiniGame ( ) -> isPlayingGame ( )
- MiniGameManager
: checkPlayerIsViewingMiniGame ( ) -> isViewingGame ( )
- MiniGameManager
: checkPlayerIsInMiniGame ( ) -> isInGame ( )
- MiniGameManager
: getPlayingMiniGame ( ) -> getPlayingGame ( )
- MiniGameManager
: getViewingMiniGame ( ) -> getViewingGame ( )
- MiniGameManager
: getInMiniGame ( ) -> getInGame ( )
- MiniGameManager
: getPlayingMiniGamePlayers ( ) -> getPlayingGamePlayers (List players, boolean reverse (default= false ) )
- MiniGameManager
: getNotPlayingMiniGamePlayers ( ) -> getPlayingGamePlayers (List players, boolean reverse (true ) )
- MiniGameManager
: getViewingMiniGamePlayers ( ) -> getViewingGamePlayers (List players, boolean reverse (default= false ) )
- MiniGameManager
: getNotViewingMiniGamePlayers ( ) -> getViewingGamePlayers (List players, boolean reverse (true ) )
- MiniGameManager
: getInMiniGamePlayers ( ) -> getInGamePlayers (List players, boolean reverse (default= false ) )
- MiniGameManager
: getNotInMiniGamePlayers ( ) -> getInGamePlayers (List players, boolean reverse (true ) )

- MiniGameWorld
: getMiniGameList ( ) -> templateGames ( )
- MiniGameWorld
: registerMiniGame ( ) -> registerGame ( )
- MiniGameWorld
: unregisterMiniGame ( ) -> unregisterGame ( )
- MiniGameWorld
: getMiniGameEventDetector ( ) -> getEventDetector ( )
- MiniGameWorld
: registerMiniGameEventExternalDetector ( ) -> registerExternalEventDetector ( )
- MiniGameWorld
: unregisterMiniGameEventExternalDetector ( ) -> unregisterExternalEventDetector ( )
- MiniGameWorld
: registerMiniGameObserver ( ) -> registerObserver ( )
- MiniGameWorld
: unregisterMiniGameObserver ( ) -> unregisterObserver ( )
- MiniGameWorld
: getEventDetector ( ) -> eventDetector ( )
- MiniGameWorld
: getPartyManager ( ) -> partyManager ( )
- MiniGameWorld
: getManager ( ) -> manager ( )
- MiniGameWorld
: getSettings ( ) -> settings ( )


- PartyManager
: sendMessageToPlayerPartyMembers ( ) -> ( )

- Party
: sendMessageToAllMembers ( ) -> sendMessages (String )
- Party
: sendMessageToAllMembers ( ) -> sendMessages (Component )
- Party
: canJoinMiniGame ( ) -> canJoinGame ( )

- MiniGame
: getPlayerData ( ) -> getGamePlayer ( )
- MiniGame
: getPlayerDataList ( ) -> getGamePlayers ( )
- MiniGame
: getSetting ( ) -> setting ( )
- MiniGame
: getMinPlayers ( ) -> minPlayers ( )
- MiniGame
: getPlayerCount ( ) -> playerCount ( )
- MiniGame
: getColoredTitle ( ) -> coloredTitle ( )
- MiniGame
: getMaxPlayers ( ) -> maxPlayers ( )
- MiniGame
: getPlayTime ( ) -> playTime ( )
- MiniGame
: getTutorial ( ) -> tutorial ( )
- MiniGame
: getPlayers ( ) -> players ( )
- MiniGame
: getRank ( ) -> rank ( )
- MiniGame
: getTitleWithClassName ( ) -> titleWithClassName ( )
- MiniGame
: getViewManager ( ) -> viewManager ( )
- MiniGame
: getGamePlayer ( ) -> gamePlayer ( )
- MiniGame
: getGamePlayers ( ) -> gamePlayers ( )
- MiniGame
: getScore ( ) -> score ( )
- MiniGame
: getLivePlayers ( ) -> livePlayers ( )
- MiniGame
: getLivePlayersCount ( ) -> livePlayersCount ( )
- MiniGame
: getGameFinishConditionPlayerCount ( ) -> ( )
- MiniGame
: getTitle ( ) -> title ( )
- MiniGame
: getCustomOption ( ) -> customOption ( )
- MiniGame
: getLocation ( ) -> location ( )
- MiniGame
: getWaitingTime ( ) -> waitingTime ( )
- MiniGame
: getTutorial ( ) -> tutorials ( )
- MiniGame
: getCustomData ( ) -> customData ( )
- MiniGame
: getClassName ( ) -> className ( )
- MiniGame
: getLeftWaitingTime ( ) -> leftWaitingTime ( )
- MiniGame
: getLeftPlayTime ( ) -> leftPlayTime ( )
- MiniGame
: getTaskManager ( ) -> taskManager ( )
- MiniGame
: getDataManager ( ) -> dataManager ( )
- MiniGame
: getLocationManager ( ) -> locationManager ( )
- MiniGame
: getScoreboardManager ( ) -> scoreboardManager ( )
- MiniGame
: getInventoryManager ( ) -> inventoryManager ( )
- MiniGame
: getFrameType ( ) -> frameType ( )

- MiniGameAccessor
: getPlayers ( ) -> players ( )
- MiniGameAccessor
: getPlayerScore ( ) -> score ( )
- MiniGameAccessor
: getGamePlayers ( ) -> gamePlayers ( )
- MiniGameAccessor
: getSettings ( ) -> settings ( )
- MiniGameAccessor
: getSettingsData ( ) -> settingsData ( )
- MiniGameAccessor
: getCustomOption ( ) -> customOption ( )
- MiniGameAccessor
: getClassName ( ) -> className ( )
- MiniGameAccessor
: getLeftWaitTime ( ) -> leftWaitTime ( )
- MiniGameAccessor
: getLeftPlayTime ( ) -> leftPlayTime ( )
- MiniGameAccessor
: getRank ( ) -> rank ( )
- MiniGameAccessor
: getClassType ( ) -> classType ( )
- MiniGameAccessor
: getFrameType ( ) -> frameType ( )
- MiniGameAccessor
: getViewers ( ) -> viewers ( )
- MiniGameAccessor
: getScoreboard ( ) -> scoreboard ( )



- package
: com.worldbiomusic.minigameworld -> com.minigameworld

- class
: MiniGameWorldUtils -> MwUtil
- class
: MiniGamePlayerData -> MiniGamePlayer
----------, Aug 22, 2022

Summary
Changes
Build
  • Add onJoin(Player), onLeave(Player), onView(Player), onUnview(Player) hook methods to MiniGame
  • Add new minigame frame class: FakeMiniGame
  • Change MiniGame.initGame() to be optional, not required
  • Fix game icon command
  • Update for 1.19 (#30)
----------, Jun 22, 2022

Summary
  • Add and fix small but important things
Changes
Build
  • Fix player state bug
  • Init settings (contains initBaseSettings() and initGame()) when a minigame is registered
  • Change getLeftFinishTime() to getLeftPlayTime() of MiniGame
  • Add playSound(s)() to MiniGame
----------, Jun 4, 2022

Summary
  • More simple API
  • Update wbmMC
Changes
API
List for developers
  • Remove MiniGame.runTaskAfterFinish()
  • Add MiniGame.topPlayer()
  • MiniGame.processEvent() -> MiniGame.onEvent()
  • MiniGame.runTask(AfterStart/BeforeFinish)() -> MiniGame.(onStart/onFinish)()
  • MiniGameRankResult -> MiniGameRank
  • MiniGame.send(Message/Title)ToAllPlayers() -> MiniGame.send(Messages/Titles)()
  • MiniGame.registerTutorial() -> MiniGame.tutorial()
  • MiniGame.handleGameException() -> MiniGame.onException()
  • MiniGame.registerCustomData() -> initCustomData()
  • MiniGame.initGameSettings() -> MiniGame.initGame()
Build
  • Add Vault as a soft dependency
  • Sort scoreboard ranks by score
----------, May 22, 2022

Summary
  • Function item (item to open menu)
Changes
Build
  • Add FunctionItem system (item to open menu)
  • Add Menu opener function item (run /mw to get)
  • Add /mw help command
  • Add minigame join, leave sound
  • Change default start, finish sound
  • Restore more player states (bed spawn, ender chest, item cooldown, portal cooldown, held item slot)
----------, May 14, 2022

Summary
  • Improve the backup feature with command
  • Need wbmMC update
Changes
Build
  • Fix Team Battle MiniGame bug
  • Add backup command (/mw backup [<backup-folder>])
  • Add reload backup folder option (/mw reload [<backup-folder>])
----------, May 7, 2022

Summary
  • With ingame-leave true option, now players can leave the game while playing
Changes
Build
  • Add ingame-leave option to settings.yml
  • Add MenuEvent (custom event)
----------, Apr 30, 2022

Summary
  • Hot fix
Changes
Build
  • Change use AdvancedMultiLanguage plugin to optional (not required)
----------, Mar 27, 2022

Summary
  • Add options (check-update and edit-message)
  • Translate more messages
Changes
Build
  • Add check-update to settings.yml (default: true) (useful for frequent server rebooting)
  • Add edit-messages option to settings.yml
  • Add Trouble Shootings to wiki
  • Translate menu messages
  • Enhance language support system performance
  • Close menu GUI inventory when server restarts
----------, Mar 26, 2022

Summary
  • Add Language support system
  • Update wbmMC (now has a updater checker)
Changes
API
  • Rename time-limit to play-time of MiniGameSetting (requires reinitializing play-time)
  • Fix getSettings() and add getSettingsData() to MiniGameAccessor
  • Add prefix option to Utils.sendMsg()
Build
  • Add language support system
  • Create LangUtils for multi languages
  • Add language files folder (src/resources/messages)
  • Add custom placeholder feature
  • Add Messenger
  • Add common message key to language file
----------, Mar 18, 2022

Summary
Changes
Build
  • Send party message with sender name
  • Add startGame() to MiniGameWorld
  • Add getMiniGameWithTitle() to MiniGameWorldUtils
  • Notify players count in leaveGame() of MiniGame
----------, Mar 5, 2022

Summary
  • Update Checker
  • Util API
  • Update wbmMC
Changes
API
  • Create MiniGameWorldUtils (Utilities API)
Build
  • Fix custom events call timings
  • Make MiniGameScoreboardUpdateEvent and MiniGameEventPassEvent cancellable
  • Add min-leave-time,start-sound and finish-sound option to settings.yml
  • Change build method (fatjar > maven)
  • Depend github-api via maven
  • Upload pom.xml
  • Add Version Update Checker
  • Insert contact link to console
----------, Feb 18, 2022

Summary
  • Hot fix
Changes
Build Changes
  • Fix scoreboard bug (score name limit)
  • Fix logic bug (about restoring player gamemode)
----------, Feb 14, 2022

Summary
  • Scoreboard
  • Update wbmMC
Changes
API Changes
  • Add Scoreboard system
  • Add settings.yml api to MiniGameWorld
  • Add scoreboard and scoreboard-update-delay options to settings.yml
  • Create MiniGamePlayerEvent, MiniGamePlayerJoinEvent, MiniGamePlayerLeaveEvent, MiniGamePlayerViewEvent, MiniGamePlayerUnviewEvent, MiniGameScoreboardUpdateEvent
Build Changes
  • Manage scoreboard in MiniGamePlayerState
  • Add description left waiting time and left finish time to menu icon
  • Add scoreboard option to MiniGameSetting
  • Enhance TeamBattleMiniGame team creation (add team-size default custom data to TeamBattleMiniGame, TeamRegisterMode.PARTY to TeamBattleMiniGame)
  • Adjust bStats
----------, Feb 12, 2022

Summary
  • Add useEventDetector option for better performance
Changes
Build Changes
  • Add event detector priority
  • Add WorldEdit and WorldGuard as softdepend
  • Add useEventDetector option to MiniGameSetting
----------, Feb 5, 2022

Summary
  • Exception handling in stop, reload
Changes
Build Changes
  • Handle exception when server stop, reload
----------, Jan 22, 2022

Summary
  • View system
  • More customizable options
Changes
API Changes
  • Add view() and unview() to MiniGameWorld
  • Add getFrameType() to MiniGameAccessor
Build Changes
  • Send message to party members when join/leave a minigame
  • Add view option to MiniGameSetting
  • Delete minigame-sign option in settings.yml and add minigameworld.signblock permission
  • Add caption of minigame sign block options(join-sign-caption, leave-sign-caption) in settings.yml
  • Add minigameworld.allcommands permission
  • Add Multiverse-Core plugin dependency for multi worlds (just for after loading)
  • Change events of MiniGameEventNotifier.MiniGameEvent to Custom Event except for REGISTRATION and UNREGISTRATION
  • Remove passUndetectableEvent option of MiniGameSetting (Instead, use implements Listener or custom detectable event)
  • Add customDetectableEvents to MiniGameSetting
  • Change MiniGameEventNotifierMiniGameEvent to MiniGameTimingNotifier.Timing
----------, Jan 20, 2022

Summary
  • Small patches
Changes
Build Changes
  • Fix exception throwing when plugin is disabled with no minigames (reported by @rkfsociety )
  • Change PVE meaning
----------, Jan 13, 2022

Summary
  • Small patches
Changes
Build Changes
  • Add more detectable events
  • Fix FAIR_FILL team registration bug in TeamBattleMiniGame
  • Manage player's allowFlight state
----------, Jan 8, 2022

Summary
Changes
Build Changes
  • Prevent player food level(hunger) change while waiting minigame starts
  • Improve GameFinishCondition features in MiniGameSetting
----------, Jan 4, 2022

Summary
  • Small important changes
Changes
Build Changes
  • Add MiniGameEventExternalDetector to detect other events by default
  • Change observer directory
----------, Dec 29, 2021

Summary
  • Many bugs fixed
Changes
Build Changes
  • Now commands can be used in console
  • Update for using correct class loader of various Bukkit types and versions (issue #21 of @rkfsociety)
  • Add FOOD_LEVEL_CHANGE, PLAYER_HURT option to MiniGameCustomOption
  • Notify player count when join a minigame
  • Add ISOLATED_CHAT and ISOLATED_JOIN_QUIT_MESSAGE to settings.yml
----------, Dec 28, 2021

Summary
  • Enhanced API support
  • Fix logic bugs
  • Update wbmMC
Changes
API Changes
  • Add EVENT_PASSED, REGISTRATION, UNREGISTRATION, BEFORE_FINISH to MiniGameEventNotifier
  • Now can get minigame result with MiniGameAccessor.getRank() (Use MiniGameRankResult interface)
  • Rank will be sorted only in descending order (remove RankOrder setting)
Build Changes
  • Add rank color
  • Change backup file name format
  • Fix bugs(minigame logic, observer)
  • Manage more player's state during minigame playing
  • Add debug-mode to settings.yml (for debugging when sending errors)
  • Keys in all config will be managed automatically (auto-add, auto-remove, auto-sort in any situation)
  • Now will be saved backup data every 60 minutes
  • Works fine in 1.18
----------, Dec 12, 2021

Summary
  • From now on, don't need to manage minigame config files for updates
  • Add detailed
Changes
Build
  • Manage visual fire, fire tick, freeze tick, invulnerable, silent, gravity in MiniGamePlayerStateManager
  • Add live GameMode, dead GameMode, color to MiniGameCustomOption
  • Restore missed keys of minigame data(yml) automatically
----------, Nov 14, 2021

Summary
  • Now can enjoy with 1.14, 1.15, 1.16, 1.17 versions
  • Update wbmMC library
Changes
API
Build

  • Test minecraft versions: 1.14, 1.15, 1.16, 1.17 (not compatable with 1.12, 1.13 for resource(Material, Sound))
  • Minimize Detailed MiniGame Event Detecting range (for compatability with other versions)
  • Fix sign block join bug
  • Change all sign blocks can be used when join a minigame
  • Update wbmMC library
----------, Oct 31, 2021

Summary
  • Fix somethings
Changes
API
  • Change method name to createException() from handleException() in MiniGameManager, MiniGameWorld
Build
  • Fix console color bugs
  • Notify total score when score is changed
----------, Oct 26, 2021

Summary
  • Now plugin can be used in Spigot stabley (also paper)
Changes
API
Build

  • Change all things to fit with spigot bukkit
----------, Oct 18, 2021

Summary
  • Can manage permission node
Changes
API
  • Change MiniGameWorld.VERSION > MiniGameWorld.API_VERSION
Build
  • Make API_VERSION managed by version of plugin.yml automatically
  • Make config data save in immediately when plugin is first loaded
  • Add permission nodes
----------, Oct 18, 2021

Resource Information
Author:
----------
Total Downloads: 1,625
First Release: Oct 10, 2021
Last Update: Aug 22, 2022
Category: ---------------
All-Time Rating:
1 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings