Get Started. It's Free
or sign up with your email address
LobbyAPI by Mind Map: LobbyAPI

1. Objects

1.1. Game

1.1.1. Waits, until enough players joined the minigame

1.1.2. Could have seperrate chat channel

1.1.3. Minimum/maximum player

1.1.4. Players organized into teams (maybe)

1.2. Arena

1.2.1. One game per arena

1.2.2. May be used by multiple minigames

1.2.3. gets its size from the schematic file

1.2.4. random positioning

1.3. Player

1.3.1. Participant Can store custom data from minigames May be part of a team May be part of a Party (outside of an game)

1.3.2. Observer Can't interact with the world Gamemode 3

1.4. Team

1.4.1. Game can require specific nubmer of teams

2. Workflow

2.1. Roles

2.1.1. Administrator Restrict player access Kick/ban players from game CRUD arena

2.1.2. Player joins game Inventory cleared, Player enters a lobby for that minigame When required teams/player join, the timer starts When the timer ends or max players join or on command Game starts Invite other players Choose a team if allowed Player choose team or will be assign to a team if the mini game requires is in the lobby Contestants choose an game leaves game Inventory restored is in game game follows rules provided by plugin Game ends Constants are transported back to the lobby

3. PublicAPI

3.1. GameObject

3.1.1. Defines the events for games

3.1.2. Helper functions Player management Teams or no teams

3.1.3. Timers Player join time Team join time Game start Countdown Deadline timer after game has started

3.1.4. Events onGameStart onArenaStart onArenaEnd onGameEnd onPlayerJoin onPlayerLeave onPlayerExecuteCommand

3.1.5. Loops through every arena as they finish

3.2. ArenaObject

3.2.1. Read most Information from schematic file of the arena

3.2.2. Random position in game world

3.2.3. Events onPlayerBreakingBlock onPlayerPlacingBlock onPlayerTakeDamage onPlayerInflictDamage onPlayerShooting onPlayerMoving onPlayerFishing onPlayerRightClick onPlayerRightClickEntity onPlayerCollectingPickup onPlayerPreCrafting onExplosion onArenaTick

3.2.4. Middle aligned on the y axis

3.3. g_pluginTable

3.3.1. key = name of the game (lowercased)

3.3.2. value = actual game class

3.4. Timer

3.4.1. start

3.4.2. constructor(ticks)

3.4.3. Events onStart onTick(current_tick) onEnd