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

1.3.1.1. Can store custom data from minigames

1.3.1.2. May be part of a team

1.3.1.3. May be part of a Party (outside of an game)

1.3.2. Observer

1.3.2.1. Can't interact with the world

1.3.2.2. Gamemode 3

1.4. Team

1.4.1. Game can require specific nubmer of teams

2. Workflow

2.1. Roles

2.1.1. Administrator

2.1.1.1. Restrict player access

2.1.1.1.1. Kick/ban players from game

2.1.1.2. CRUD arena

2.1.2. Player

2.1.2.1. joins game

2.1.2.1.1. Inventory cleared, Player enters a lobby for that minigame

2.1.2.1.2. When required teams/player join, the timer starts

2.1.2.1.3. When the timer ends or max players join or on command

2.1.2.1.4. Game starts

2.1.2.2. Invite other players

2.1.2.3. Choose a team if allowed

2.1.2.3.1. Player choose team or will be assign to a team if the mini game requires

2.1.2.4. is in the lobby

2.1.2.4.1. Contestants choose an game

2.1.2.5. leaves game

2.1.2.5.1. Inventory restored

2.1.2.6. is in game

2.1.2.6.1. game follows rules provided by plugin

2.1.2.6.2. Game ends

2.1.2.6.3. 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

3.1.2.1. Player management

3.1.2.1.1. Teams or no teams

3.1.3. Timers

3.1.3.1. Player join time

3.1.3.2. Team join time

3.1.3.3. Game start Countdown

3.1.3.4. Deadline timer after game has started

3.1.4. Events

3.1.4.1. onGameStart

3.1.4.2. onArenaStart

3.1.4.3. onArenaEnd

3.1.4.4. onGameEnd

3.1.4.5. onPlayerJoin

3.1.4.6. onPlayerLeave

3.1.4.7. onPlayerExecuteCommand

3.1.5. Loops through every arena as they finish

3.2. ArenaObject

3.2.1. Read most Information from schematic file

3.2.1.1. of the arena

3.2.2. Random position in game world

3.2.3. Events

3.2.3.1. onPlayerBreakingBlock

3.2.3.2. onPlayerPlacingBlock

3.2.3.3. onPlayerTakeDamage

3.2.3.4. onPlayerInflictDamage

3.2.3.5. onPlayerShooting

3.2.3.6. onPlayerMoving

3.2.3.7. onPlayerFishing

3.2.3.8. onPlayerRightClick

3.2.3.9. onPlayerRightClickEntity

3.2.3.10. onPlayerCollectingPickup

3.2.3.11. onPlayerPreCrafting

3.2.3.12. onExplosion

3.2.3.13. 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

3.4.3.1. onStart

3.4.3.2. onTick(current_tick)

3.4.3.3. onEnd