This doucment describes how to make a Minigame, Third-Party plugin.
- MiniGameWorld plugin's structure: MiniGameWorld
- Simple and foolish API
- Custom data with
Map<String, Object>which user can edit - Each minigames is isolated from the each other (doesn't affect to each other)
- Minigame util tools (score, soreboard, live, task ...etc)
- API for 3rd-party
- Custom Events
- Update checker
- Language support
classDiagram
MiniGame <|-- GameA
MiniGameWorld -- GameA
MiniGameWorld -- 3rdParty
MiniGameAccessor *-- 3rdParty
MwUtil *-- 3rdParty
class MiniGameWorld{
create(version)
joinGame(Player, title)
leaveGame(Player)
viewGame(Player, title)
unviewGame(Player)
registerGame(MiniGame)
getTemplateGames()
partyManager()
settings()
}
class MwUtil{
isPlayingGame(Player)
isViewingGame(Player)
checkPermission(Sender, perm)
}
class MiniGameAccessor{
isStarted()
players()
settings()
customOption()
}
class MiniGame{
startGame()
finishGame()
}
class GameA{
gameVar
gameMethod()
}
class 3rdParty{
saveRank()
giveReward()
}