Skip to content

Implementation Specification

caseif edited this page Aug 14, 2015 · 2 revisions

Flint Implementation Guidelines

Flint is primarily self-documenting, though its specification includes certain features which are not present in the API but should still be included by implementations. Such features are specified in this document.

Table of Contents

Lobbies

Lobby signs are a way for players to easily see information about an arena as well as join it themselves. Implementations should include a fully automated lobby system as described below.

Lobby signs should be creatable via a wizard, text-based, inventory-based, or otherwise. Such a wizard should be well- and fully-documented. It should allow players to easily customize their lobby signs with minimum knowledge. This wizard should be initiated when a player places a sign containing the name of a plugin utilizing Flint in square brackets in its first line.

Minigame Configuration

Implementations should provide functionality for each configuration node contained by the ConfigNode class. Each node contains its own documentation, which should be noted and followed.

Inventory Manipulation

When a player joins a round, their inventory should be automatically cleared by the implementation and stored in a persistent format. When the player exits the round, their inventory should be again automatically cleared and then restored to its original state. In the event that it is impossible to restore the inventory to its previous state (e.g. when a player exits a round by disconnecting from the server), it should remain in persistent storage until it is possible to.

Footnote

This is an incomplete document, and will undergo changes as development of the framework progresses.

Clone this wiki locally