diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 41f8712..0000000 --- a/docs/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -SPHINXPROJ = MobArena -SOURCEDIR = . -BUILDDIR = _build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py deleted file mode 100644 index 505fab4..0000000 --- a/docs/conf.py +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# MobArena documentation build configuration file, created by -# sphinx-quickstart on Wed Nov 29 13:24:13 2017. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -import os -import sys -sys.path.insert(0, os.path.abspath('.')) - - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -# -# needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = ['sphinx.ext.todo'] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -# -# source_suffix = ['.rst', '.md'] -source_suffix = '.rst' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = 'MobArena' -copyright = '2017, garbagemule, Justin W. Flory (jflory7), MobArena contributors' -author = 'garbagemule, Justin W. Flory (jflory7), MobArena contributors' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '0.99' -# The full version, including alpha/beta/rc tags. -release = '0.99.1' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = None - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This patterns also effect to html_static_path and html_extra_path -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = True - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -# -# html_theme = 'alabaster' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -# -# html_theme_options = {} - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Custom sidebar templates, must be a dictionary that maps document names -# to template names. -# -# This is required for the alabaster theme -# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars -# html_sidebars = { -# '**': [ -# 'relations.html', # needs 'show_related': True theme option to display -# 'searchbox.html', -# ] -# } - - -# -- Options for HTMLHelp output ------------------------------------------ - -# Output file base name for HTML help builder. -htmlhelp_basename = 'MobArenadoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # - # 'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - # - # 'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - # - # 'preamble': '', - - # Latex figure (float) alignment - # - # 'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'MobArena.tex', 'MobArena Documentation', - 'garbagemule, Justin W. Flory (jflory7), MobArena contributors', 'manual'), -] - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'mobarena', 'MobArena Documentation', - [author], 1) -] - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - (master_doc, 'MobArena', 'MobArena Documentation', - author, 'MobArena', 'One line description of project.', - 'Miscellaneous'), -] - - -# -- Use the RTD Sphinx Theme ------------------------------------------- - -import sphinx_rtd_theme -html_theme = "sphinx_rtd_theme" -html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] - -# RTD theme options (see theme.conf for more information) -html_theme_options = { - 'canonical_url': "https://mobarena.readthedocs.io/en/latest/", - 'collapse_navigation': False, - 'navigation_depth': 2, -} - diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 88b3bad..0000000 --- a/docs/index.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. MobArena documentation master file, created by - sphinx-quickstart on Wed Nov 29 13:24:13 2017. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -Welcome to MobArena's documentation! -==================================== - -.. toctree:: - :maxdepth: 1 - :name: dev - :caption: Developer resources - :glob: - - dev/* - -.. toctree:: - :maxdepth: 1 - :name: user - :caption: User documentation - :glob: - - user/* - - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/make.bat b/docs/make.bat deleted file mode 100644 index 19274c6..0000000 --- a/docs/make.bat +++ /dev/null @@ -1,36 +0,0 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=. -set BUILDDIR=_build -set SPHINXPROJ=MobArena - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% - -:end -popd diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index d415c73..0000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -## Theme for Sphinx documentation -Sphinx -sphinx_rtd_theme diff --git a/docs/test-docs.sh b/docs/test-docs.sh deleted file mode 100755 index 26f1ac1..0000000 --- a/docs/test-docs.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env sh -# -# Script to automatically build and test the Sphinx documentation currently in -# the repo. This script should always be run before submitting a new pull -# request. -# -# If you're on Windows, please use the `make.bat` script in `docs/` directory. -# - -make clean html - diff --git a/docs/user/announcements.rst b/docs/user/announcements.rst deleted file mode 100644 index ded4ede..0000000 --- a/docs/user/announcements.rst +++ /dev/null @@ -1,64 +0,0 @@ -#################### -Announcement strings -#################### - -MobArena supports custom strings for announcement and messages. This lets you -create custom messages unique to your server based on certain actions, like a -game ending. The ``announcements.yml`` file stores MobArena announcement and -message strings. [#]_ - -.. [#] Default strings are found in the `Msg.java`_ class - - -************* -Color support -************* - -Color codes are supported. **To add color to a message**, use an ampersand -(``&``) followed by a valid color code. `Color codes`_ are available in the -Gamepedia Minecraft wiki. Examples are in the default file. - - -********* -Variables -********* - -Some announcements use a variable. In the string, variables are represented by a -percent sign (``%``). Remove it if you do not want a variable in the message. - -There are some limitations to variables: - -- Not possible to add variables to announcements that don't take them by default -- Announcements that take one variable cannot take more than that variable - - -*********************** -Disable an announcement -*********************** - -If you want to **disable a specific announcement**, set its value to two single -quotes (``''``). MobArena ignores announcements set to an empty value. To -disable one, you must override it. Deleting the option does not disable an -announcement since MobArena adds them in by default. - - -******** -Examples -******** - -Three examples below show all of the features explained above. - -.. code-block:: yaml - :emphasize-lines: 2, 5, 8 - - # Use a red message for the start of a new game - arena-start: 'Let the games begin! &cMay the odds be ever in your favor!' - - # Use a variable for the number of seconds until the game begins - arena-auto-start: 'Arena will auto-start in &c%&r seconds.' - - # Turn off the golem-died message - golem-died: '' - -.. _`Msg.java`: https://github.com/garbagemule/MobArena/blob/master/src/main/java/com/garbagemule/MobArena/Msg.java -.. _`color codes`: https://minecraft.gamepedia.com/Formatting_codes#Color_codes diff --git a/docs/user/arena-setup.rst b/docs/user/arena-setup.rst deleted file mode 100644 index e0ae5fa..0000000 --- a/docs/user/arena-setup.rst +++ /dev/null @@ -1,277 +0,0 @@ -########### -Arena setup -########### - -This page explains how to set up an arena, from defining it to configuring it. - - -***************** -Building an arena -***************** - -There are four key parts to an arena: - -#. `Lobby`_ -#. `Arena floor`_ -#. `Spectator area`_ -#. `Exit point`_ - -Lobby -===== - -A lobby is where players choose a class before joining an arena. It's also the -"waiting area" before a new match begins. - -Lobbies have two requirements: - -- **Class selection signs**: Clicked to select a class -- **Iron block**: Clicked to mark self as "ready" - -Class selection signs must have the name of the class on the first line -(case-sensitive). The last three lines are not checked and they can have any -text. - -You will not receive a confirmation message after making a new sign since -MobArena does not register the creation of class selection signs. If you get a -confirmation message, another plugin is interferring. - -Arena floor -=========== - -An arena floor is where the action happens. Players fight through mob waves on -the arena floor. How the arena floor looks is up to you, but we recommend these -minimum requirements: - -- Closed in by walls on all sides -- Have a ceiling / roof - -This prevents players and mobs from escaping and also blocks players from -wandering out of the arena with class items. - -Spectator area -============== - -A spectator area lets non-players watch an on-going match. The ``/ma spec`` -command teleports a player into the spectator area. If configured, [#]_ players -warp into the spectator arena when they die. - -Design the area so spectators cannot escape the spectator area, since they are -invincible. Spectators should *not* enter the arena floor or exit the spectator -area on foot. - -.. [#] Set ``spectate-after-death`` to ``true`` in the config file to force - players to the spectator area after dying - -Exit point -========== - -When players leave the arena or when the last player standing dies, arena -players and spectators teleport to the location they joined from. Optionally, an -arena can have an exit warp. This controls where players go after leaving a -match. - - -************** -Defining areas -************** - -By now, you have a full arena map and you are ready to configure it in MobArena. -When an area is built, it must be **defined** by MobArena. This tells MobArena -where the arena boundaries are, such as whether an area is a lobby or the arena -floor. - -MobArena has four types of areas: - -#. `Regions`_ -#. `Warps`_ -#. `Spawnpoints`_ -#. `Containers`_ - -Regions -======= - -Arenas **must** have an arena region and optionally a lobby region. Regions are -set using the Regions tools. MobArena uses the arena region to… - -- Stop cheating by kicking players if they leave the arena region -- Only spawn MobArena mobs inside arena region - -Warps -===== - -Players teleport to different warps for different events. There are four warps -used in MobArena: - -- **Lobby warp**: Warp location for players joining a new match; leave when all - players "ready up" or match countdown timer ends -- **Arena warp**: Warp location for players to spawn in the arena floor -- **Spectator warp**: Warp location for spectators to watch an on-going match -- **Exit warp**: Optional warp location for players to teleport to after a match - finishs or they leave the arena - -Spawnpoints -=========== - -Mobs spawn at the spawnpoint(s) of an area. MobArena only uses spawnpoints in a -*15-block radius* from any player. An arena can have multiple spawnpoints. -Spawnpoints are added using the Spawnpoints tool. - -The number of mobs spawned is not determined by the number of spawnpoints, but -actual formulas. See :doc:`wave-formulas` for more information. - -Containers -========== - -Containers are locations of chests, dispensers, or other containers with -renewable contents. Any containers added to an arena must be registered using -the Chests tool. - - -********** -Setup Mode -********** - -Configure a new arena with *Setup Mode*. Setup Mode is a special mode that -temporarily stores inventory and gives an administrator a set of golden tools. -The golden tools are called the `Toolbox`_. - -Flying is enabled to simplify arena setup. Talking in server chat is also -disabled because Setup Mode starts an isolated conversation with the -administrator (explained below). - -- **Create a new arena**: ``/ma addarena `` -- **Enter Setup Mode**: ``/ma setup `` [#]_ -- **Leave Setup Mode**: ``done`` (no slash) -- **Delete an arena**: ``/ma delarena `` [#]_ - -.. [#] If you only have one arena, you don't have to specify the arena name -.. [#] An arena named ``default`` is created on first use. You can remove this - arena if you want to use an arena with a different name. - -Setup Mode commands -=================== - -Setup Mode is an *isolated conversation*, which means Setup Mode intercepts -everything an administrator types. This makes commands in Setup Mode shorter and -prevents accidental use of other plugins. - -Below is a list of all commands in Setup Mode: - -+-------------------+-------------------------------------+------------+ -| Command | Description | Aliases | -+===================+=====================================+============+ -| done | Leave Setup Mode | end, stop, | -| | | done, quit | -+-------------------+-------------------------------------+------------+ -| help | Display help screen | ?, h | -+-------------------+-------------------------------------+------------+ -| missing | Display list of missing (mandatory) | miss | -| | regions, warps, spawnpoints. Useful | | -| | to check what is left to set up. | | -+-------------------+-------------------------------------+------------+ -| expand | Expand region by some amount in a | exp | -| ```` | given direction. *Example*: | | -| ```` | ``expand ar 5 up`` | | -| ```` | | | -+-------------------+-------------------------------------+------------+ -| show | Show a region, warp, spawnpoint(s), | N/A | -| ``[|`` | or container as red wool blocks. | | -| ``|`` | *Example*: ``show sp`` | | -| ``|`` | | | -| ``]`` | | | -+-------------------+-------------------------------------+------------+ - -- **Valid regions**: ``ar`` (arena region), ``lr`` (lobby region) -- **Valid amounts**: Any positive integer (i.e. whole number) -- **Valid directions**: ``up``, ``down``, ``out`` -- **Valid warps**: ``arena``, ``lobby``, ``spec``, ``exit`` -- **Valid spawnpoints**: ``spawns`` (or ``sp``) -- **Valid containers**: ``chests`` (or ``c``) - -Toolbox -======= - -The Toolbox is a set of golden tools. Each tool has a specific function. We use -them to set up regions, warps, spawnpoints, and containers. Toolbox tools are -used with either a left- or right-click. - -Tool functions are also described in the *item tooltip* in your inventory. - -Region tools ------------- - -|r-icon| - -Arena and lobby regions are defined with Region tools (golden axes). There are -two golden axes in the Toolbox. One is for *arena setup* and the other is for -*lobby setup*. The tools are named accordingly. - -Region tools behave similarly to the WorldEdit wand (wooden axe). If you are -familiar with regions in WorldEdit, Region tools should feel familiar. - -- **Left-click**: Sets first point on clicked block -- **Right-click**: Sets second point on clicked block - -When both points are set, the region is defined. ``show ar`` (or ``show lr``) -lets you check the region spans the desired area. If the region is too small, -use the ``expand`` command (see above) to make it bigger. - -The region must be three-dimensional (like a box) and not two-dimensional (flat -rectangle). Make sure your arena floor is contained in the region selection -(expanding a block or two below the floor is recommended). - -Warp tool ---------- - -|w-icon| - -All warps are defined using the Warp tool (golden hoe). The tool defines any of -the four types of warps depending which one is selected. - -- **Left-click:** Set selected warp type on top of clicked block -- **Right-click:** Cycle between warp types - -A selected warp is placed on top of the clicked block. The direction you are -looking is also taken into account. - -Arena, lobby, and spectator warps are required. An exit warp is optional. - -Spawnpoint tool ---------------- - -|s-icon| - -Spawnpoints are set up with the Spawnpoint tool (golden sword). The tool allows -an administrator to set or remove spawnpoints for mobs. - -- **Left-click:** Add spawnpoint on top of clicked block -- **Right-click:** Remove spawnpoint on top of clicked block (if one exists) - -A **high number of spawnpoints** is recommended. Mobs only spawn at spawnpoints -within 15 blocks of a player. Every area in the arena should have one or more -spawnpoints in a 15 block radius from each other. - -If a player is not within 15 blocks of a spawnpoint, MobArena prints a warning -to the console with coordinates. If no players are within 15 blocks of a -spawnpoint, MobArena uses a random spawnpoint. This means mobs may spawn far -away from players. - -Container tool --------------- - -|c-icon| - -Containers are set up with the Container tool (golden shovel). It works like the -Spawnpoint tool, but checks that the clicked block is a valid container. - -- **Left-click:** Register clicked container (if not registered) -- **Right-click:** Unregister clicked container (if registered) - -At the end of a match, a container is restored to its contents from the -beginning of the match. - -.. |r-icon| image:: http://puu.sh/4wwCH.png -.. |w-icon| image:: http://puu.sh/4wwIB.png -.. |s-icon| image:: http://puu.sh/4wwCJ.png -.. |c-icon| image:: http://puu.sh/4wwIF.png - diff --git a/docs/user/class-chests.rst b/docs/user/class-chests.rst deleted file mode 100644 index d9fda69..0000000 --- a/docs/user/class-chests.rst +++ /dev/null @@ -1,106 +0,0 @@ -############ -Class chests -############ - -**On this page:** \* `About Class Chests <#about-class-chests>`__ \* -`Linked Class Chests <#linked-class-chests>`__ - -About Class Chests ------------------- - -If some of your favorite items aren't supported by MobArena's internal -[[item parser\|Item and Reward Syntax]], or if you just want to be able -to configure your class items from in-game, the **class chests** may be -what you're looking for! - --------------- - -**Note: The Class Chests will only work for arenas with -``use-class-chests: true``, and the classes *MUST* exist in the -config-file for MobArena to recognize them, however the items and armor -lists can be empty.** \* \* \* - -The idea behind the class chests is to simply place some **chests below -the corresponding class signs** in the lobby, and fill them with -whatever items you want the given class to have. When the players -activate the class signs, the **contents of the chests are copied to the -player inventory**. This suggests a type of "control room" setup, where -an admin-only access room below the lobby contains the chests, allowing -admins to warp down there and change the contents of the chests. - -.. figure:: img/1.png - :alt: Lobby and Control Room - - Lobby and Control Room - -For easier access and modification of the class chests, omitting the -control room from the arena or lobby region may prove useful. Otherwise, -arenas may have to be temporarily disabled or put into edit mode to -allow warping to and changing the contents of the chests. - -The class chests can be located **up to 6 blocks below the sign** itself -or below the block right behind the sign (for wall signs, this would be -the block the sign is attached to). The chest may also be in the block -directly behind the sign itself - this is safe, because MobArena -prevents players in the lobby from opening inventories, so if your lobby -is in a tight spot, this might be the better option. - -**Multiple sign rows:** It is possible to have two rows of class signs -in the lobby and still use this feature. Simply place the class chest -for the sign of the bottom row exactly at the 6-block limit, and the -class chest for the sign of the top row one block up and behind the -other chest (in a stair-like fashion). The blocks are searched in a -vertical/pillar-like fashion, which is the reason this works. - -.. figure:: img/2.png - :alt: Chests Below - - Chests Below - -To get **auto-equipped armor** from the class chests, place the armor -pieces in the **last four slots of the third row** in the chest. -MobArena will check these four slots, and if any of them are armor -pieces, they will be equipped. Note that the item placed in the very -last slot (bottom right), will always be equipped as a helmet (this -allows wool blocks, pumpkins, etc. to be used as helmets). The order of -the other three slots doesn't matter. - -The **fifth last slot**, right next to the armor slots, will be equipped -as an **off-hand** item. - -.. figure:: img/3.png - :alt: Armor Slots - - Armor Slots - -The class chests are the best way to add items that are not currently -supported by the MobArena [[item parser\|Item Syntax]]. This is because -the class chests **simply copy the contents of the chests** to the -player inventories, thus making any items supported by Bukkit supported -by MobArena. - -.. figure:: img/4.png - :alt: Dyed Armor - - Dyed Armor - -Linked Class Chests -------------------- - -If per-arena class chest setups is too troublesome (e.g. if you have -many arenas), if you don't need per-arena setups, or if you simply want -a single, global class chest for each class, *linked class chests* are -what you're looking for. - -When you link a chest to a class, MobArena will always copy the contents -of that chest to the player's inventory, when they pick the given class, -regardless of any local class chests (note that the arena must still -have ``use-class-chests: true``). - -To link a chest to a class, simply look at the chest and type -``/ma classchest ``, and you're done! The linked class chests may -exist in any world, but remember that there can only be one class chest -per class, and that local class chests will be ignored! - -To unlink a class chest, you will have to open the config-file and -remove the ``classchest`` node from the given class. diff --git a/docs/user/commands.rst b/docs/user/commands.rst deleted file mode 100644 index fcf0ea1..0000000 --- a/docs/user/commands.rst +++ /dev/null @@ -1,119 +0,0 @@ -######## -Commands -######## - -This page documents the commands available in MobArena, both for players and -administrators. - -*Note*: Parentheses (``()``) around an parameter means it's optional (i.e. not -required to work). - - -*************** -Player commands -*************** - -Any player on the server can use these commands by default. - -+---------------------------+----------------------------+---------------------+ -| Command | Description | Alias | -+===========================+============================+=====================+ -| ``/ma join ()`` | Join arena with given name | ``/ma j ()`` | -+---------------------------+----------------------------+---------------------+ -| ``/ma leave`` | Leave current arena or | ``/ma l`` | -| | spectator area | | -+---------------------------+----------------------------+---------------------+ -| ``/ma notready`` | List players who are not | | -| | ready in arena lobby | | -+---------------------------+----------------------------+---------------------+ -| ``/ma spec ()`` | Enter an arena's spectator | ``/ma s ()`` | -| | arena | | -+---------------------------+----------------------------+---------------------+ -| ``/ma arenas`` | List all arenas. Green | | -| | names are enabled, gray | | -| | names are disabled | | -+---------------------------+----------------------------+---------------------+ -| ``/ma players ()`` | List all players in an | | -| | area | | -+---------------------------+----------------------------+---------------------+ -| ``/ma class `` | Manually choose a class in | | -| | an arena lobby (instead of | | -| | punching sign) | | -+---------------------------+----------------------------+---------------------+ - - -************** -Admin commands -************** - -Players with OP privileges or assigned permissions can use these commands. - -+-----------------------------+------------------------------------------------+ -| Command | Description | -+=============================+================================================+ -| ``/ma enable ()`` | Enable MobArena (optionally a specific arena) | -+-----------------------------+------------------------------------------------+ -| ``/ma disable`` | Disable MobArena (optionally a specific arena) | -+-----------------------------+------------------------------------------------+ -| ``/ma force end ()`` | Forcefully end all arenas or a specific arena | -+-----------------------------+------------------------------------------------+ -| ``/ma force start `` | Forcefully start an arena (players that aren't | -| | ready are removed from arena) | -+-----------------------------+------------------------------------------------+ -| ``/ma notready `` | List all players in an arena that aren't ready | -+-----------------------------+------------------------------------------------+ -| ``/ma restore `` | Restore a player's inventory (if possible) | -+-----------------------------+------------------------------------------------+ -| ``/ma config reload`` | Reload config file into memory | -+-----------------------------+------------------------------------------------+ - - -************** -Setup commands -************** - -Players with OP privileges or assigned permissions can use these commands. - -+-----------------------------+------------------------------------------------+ -| Command | Description | -+=============================+================================================+ -| ``/ma setup `` | Enter Setup Mode for an arena (see | -| | :doc:`arena-setup` for more info) | -+-----------------------------+------------------------------------------------+ -| ``/ma addarena `` | Create new arena node in current world | -+-----------------------------+------------------------------------------------+ -| ``/ma delarena `` | Delete arena with given name | -+-----------------------------+------------------------------------------------+ -| ``/ma editarena `` | Toggle Edit Mode for an arena | -+-----------------------------+------------------------------------------------+ -| ``/ma editarena `` | Turn Edit Mode on or off for an arena | -| ``[true|false]`` | | -+-----------------------------+------------------------------------------------+ -| ``/ma setting `` | List per-arena settings for an arena | -+-----------------------------+------------------------------------------------+ -| ``/ma setting `` | Check current value of a setting for an arena | -| ```` | | -+-----------------------------+------------------------------------------------+ -| ``/ma setting `` | Change a setting for an arena to given value | -| `` `` | | -+-----------------------------+------------------------------------------------+ -| ``/ma checkspawns`` | Show all spawnpoints in arena you are standing | -| | in as red wool blocks (helpful to check | -| | spawnpoint coverage) | -+-----------------------------+------------------------------------------------+ -| ``/ma classchest `` | Create a linked class chest for a class (see | -| | :doc:`class-chests` for more info) | -+-----------------------------+------------------------------------------------+ -| ``/ma auto-generate`` | Auto-generate new arena with given name | -| ```` | (generated directly below player) | -+-----------------------------+------------------------------------------------+ -| ``/ma auto-degenerate`` | Degenerate an auto-generated arena with given | -| ```` | name | -+-----------------------------+------------------------------------------------+ - - -*********** -Permissions -*********** - -See :doc:`permissions`. diff --git a/docs/user/getting-started.rst b/docs/user/getting-started.rst deleted file mode 100644 index 1a3a844..0000000 --- a/docs/user/getting-started.rst +++ /dev/null @@ -1,60 +0,0 @@ -############### -Getting started -############### - -To get MobArena up and running on your server, you'll first have to -download it and stick it in your server's plugins-folder. - -When the plugin has been loaded up, you'll have to build an arena if you -haven't already. Then it's time to set it up. Follow the instructions on -the [[Arena Setup]] page, which has all the information you'll need to -get your arena up and running in no time at all. After setup, you're -ready to play! Check out the [[Using MobArena]] page for a brief -description of the usage commands. - -The default arena setup is only meant as a starting point, so you may -want to configure the waves, the rewards, the classes, or perhaps some -of the arena-specific settings. The various pages on this wiki will help -you configure MobArena to your liking. Here are a couple of links to get -you started: - -- [[Setting up the config-file]] -- [[Setting up the waves]] -- [[MobArena Commands]] - -Also make sure to have a look at the [[Item and Reward Syntax]] page, if -you're planning to change the classes or the rewards. MobArena uses its -own semi-compact item syntax in the config-file, so you'll need to get -familiar with it to get things like enchantments and sub-types to work. - -**************** -More information -**************** - -Always make sure to check the pages on the wiki when you're in doubt - -99% of the information you'll ever need is right here. Check out the -[[list of wiki -pages\|https://github.com/garbagemule/MobArena/wiki/\_pages]] to see if -maybe you'd be able to find your answer there. You can also check the -project pages on -[[Spigot\|https://www.spigotmc.org/resources/mobarena.34110/]] and -[[Bukkit\|http://dev.bukkit.org/bukkit-plugins/mobarena/]]. - -*********************** -Suggestions, bugs, etc. -*********************** - -If you think you have found a bug, or if you have a suggestion for the -plugin, you can create a ticket here on Github. Make sure to be as -descriptive as possible, because the more information you can provide, -the easier it is to do something about your bug report or feature -request. - -If you'd rather have a little chat about the plugin, you can visit the -[[IRC channel\|http://webchat.esper.net/?channels=#mobarena]] (#mobarena -@ EsperNet) - please note that IRC is *idle chat*, which means people -will appear to be in the channel, but they might not be at their -computers when you join. Hop on, ask your question, and then hang around -until you get an answer; it may be seconds, minutes or hours, but there -is no harm in hanging around the channel indefinitely (as many people -do). diff --git a/docs/user/item-reward-syntax.rst b/docs/user/item-reward-syntax.rst deleted file mode 100644 index fb48dc8..0000000 --- a/docs/user/item-reward-syntax.rst +++ /dev/null @@ -1,151 +0,0 @@ -###################### -Item and reward syntax -###################### - -This page explains the syntax for items and rewards for completing MobArena -waves. - - -********** -Item types -********** - -MobArena items must use a specific syntax to work as expected. The plugin allows -three different ways of defining items: - -- **Single**: ``[|]`` -- **Multiple**: ``[|]:`` -- **Sub-types**: ``[|]::`` - -Single items -============ - -``[|]`` - -*Either* an item ID number [#]_ (````) or item name (````) can be used. -Item names are defined in the `Material enum`_ of the Bukkit API. Item names are -case-insensitive. - -The Material enum changes when items are added, changed, or reworked. The -Minecraft server version determines what items are available. Check the -documentation for what item names are available. - -This example gives the ``barbarian`` class a bow and leather leggings. - -.. code-block:: yaml - - classes: - barbarian: - items: bow - armor: leather_leggings - -.. [#] Each item ID number must be wrapped in apostrophes (``''``) to work - correctly. - -Multiple items -============== - -``[|]:`` - -This method lets you add an amount to an item. This is useful for items like -arrows or potions. - -Now, our example also gives 64 arrows and four pieces of cooked porkchops. - -.. code-block:: yaml - - classes: - barbarian: - items: bow, arrow:64, grilled_pork:4 - armor: leather_leggings - -Item sub-types -============== - -``[|]::`` - -To add an item sub-type, both the sub-type name and an amount must be specified. -This is helpful for items like potions, wool, and/or dyes. - -- `Potion effect types`_ -- `Color names`_ - -Now, our example gives one Potion of Strength I and one piece of purple wool. - -.. code-block:: yaml - - classes: - barbarian: - items: bow, arrow:64, grilled_pork:4, potion:increase_damage:1, - wool:purple:1 - armor: leather_leggings - - -************ -Enchantments -************ - -`` :;:;...`` - -Add enchantments to an item by adding a space with a semi-colon separated list -with the enchantment name and the strength. Find valid enchantment names in the -`Enchantment class`_ in the Spigot API. - -Now, our example adds Power II and Flame I to the bow and a diamond sword with -Sharpness I and Knockback II. - -.. code-block:: yaml - - classes: - barbarian: - items: bow arrow_damage:2;arrow_fire:1, arrow:64, grilled_pork:4, - potion:increase_damage:1, wool:purple:1, - diamond_sword damage_all:1;knockback:2 - armor: leather_leggings - - -************* -Economy Money -************* - -``$`` - -MobArena supports entry fees and rewards with economy plugins. You must use -`Vault`_ for this to work. - -Since v0.96, floating point numbers are also supported. - -Examples: - -- ``$1`` -- ``$5`` -- ``$3.14`` -- ``$0.99`` - - -*************** -Command Rewards -*************** - -.. code-block:: yaml - - cmd:/give dirt - cmd(description of reward):/give dirt - -You can run a command to give a special reward to a player. Command rewards are -supported since v0.99. Useful examples might be to give a permission (maybe -unlocking a new arena) or integrating with other plugins. - -It is possible to customize the message a player receives when they receive a -command reward. By default, the plugin prints the command. You can specify a -more user-friendly message in the second format listed above. - -For example, ``cmd(New arena to play!)/perm add `` -appears to the player as ``You just earned a reward: New arena to play!``. - - -.. _`Material enum`: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html -.. _`Potion effect types`: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffectType.html -.. _`Color names`: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/DyeColor.html -.. _`Enchantment class`: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html -.. _`Vault`: https://dev.bukkit.org/projects/vault diff --git a/docs/user/leaderboards.rst b/docs/user/leaderboards.rst deleted file mode 100644 index 69f7b0f..0000000 --- a/docs/user/leaderboards.rst +++ /dev/null @@ -1,68 +0,0 @@ -############ -Leaderboards -############ - -MobArena supports so-called *leaderboards* (although technically they -are more like scoreboards or session signs). By arranging signs in a -two-dimensional grid on a wall, spectators can see which classes each -player has chosen, which wave they died on, how many kills and how much -damage they have done, etc. - -.. figure:: img/leaderboards/1.png - :alt: Sign Grid - - Sign Grid - -The requirements for leaderboards are at the very least two rows of -signs on a wall as seen in the screenshot above. The top row should not -be empty, however, as it should contain the leaderboard *headers*, which -denote what kind of information the signs below them display. How many -headers (and which) you want is entirely up to you. - -.. figure:: img/leaderboards/2.png - :alt: Top Left Sign - - Top Left Sign - -To get started, replace the top left empty sign (or place it if you -haven't already), and write ``[MA]``, where ```` is the name -of your arena, on the first line. In the screenshot above, I have set up -the top left sign for the arena named Jail by writing ``[MA]jail`` on -it. MobArena automatically fills in the rest of the text and the colors -for you. - -.. figure:: img/leaderboards/3.png - :alt: Sign Text Screen - - Sign Text Screen - -MobArena will then tell you that the sign has been created, and that you -should set up the rest of the signs. The rest of the headers follow the -same kind of format as the top left sign, so you simply write -``[MA]``, where ```` is one of the following: - -- ``class`` - The class name of the player -- ``lastWave`` - The last wave the player was part of (current wave if - still alive) -- ``kills`` - The number of monsters the player has killed -- ``dmgDone`` - The amount of damage the player has dealt -- ``dmgTaken`` - The amount of damage the player has taken -- ``swings`` - The number of times the player has swung their weapon -- ``hits`` - The number of times the player has swung their weapon and - successfully hit a monster - -In the screenshot above, I have already set up a couple of signs, and -I'm about to set up the sign for damage done. As with the top left sign, -your only job is to tell MobArena which stat you want - it'll take care -of colors and formatting automatically. Note that MobArena's sign -handling is case sensitive, so make sure you get it right. - -.. figure:: img/leaderboards/4.png - :alt: Final Setup - - Final Setup - -When you're done setting up the leaderboards, they should look something -like the screenshot above, and you should be good to go! Leaderboards -can be set up anywhere (even outside of the world the arena is in), but -you can only have a single leaderboard per arena. diff --git a/docs/user/monster-types.rst b/docs/user/monster-types.rst deleted file mode 100644 index f113595..0000000 --- a/docs/user/monster-types.rst +++ /dev/null @@ -1,38 +0,0 @@ -############# -Monster types -############# - -MobArena supports any monster available in the `EntityType -enum `__. -You don't have to write the names in all caps, and you can omit or -include underscores (``_``), hyphens (``-``), and periods (``.``) as you -please. - -Some monsters are a little special. Creepers, for instance, can be -charged or powered, meaning their explosions become much more powerful, -and their appearance changes. Another example is slimes and magma cubes, -which have different sizes. - -MobArena supports some of the variations of these different monster -types, and they are listed here: - -- ``explodingsheep`` is a MobArena-specific type of sheep that bounces - around and explodes when in the proximity of a player -- ``poweredcreeper`` is a charged/powered creeper -- ``angrywolf`` is an aggressive wolf with red eyes -- ``babyzombie`` is a baby-version of a zombie -- ``babypigman`` is a baby-version of a pigman -- ``babyzombievillager`` is a baby-version of a zombie villager -- ``killerbunny`` is a killer bunny version of a rabbit - -As for slimes and magma cubes, both monster types are assigned a random -size when they spawn. However, they also both support size suffixes that -force them to be a specific size. They are: - -- ``tiny`` size 1 -- ``small`` size 2 -- ``big`` size 3 -- ``huge`` size 4 - -As an example, ``slimehuge`` will spawn a size 4 slime, while -``magmacubetiny`` will spawn a size 1 magma cube. diff --git a/docs/user/permissions.rst b/docs/user/permissions.rst deleted file mode 100644 index 47ef6f9..0000000 --- a/docs/user/permissions.rst +++ /dev/null @@ -1,179 +0,0 @@ -########### -Permissions -########### - -A permissions plugin **is NOT required** for MobArena to work, but if -you want that extra bit of control, here's a rundown of the different -types of permission nodes you can use with MobArena. - -**NOTE: MobArena uses sane defaults. This means that by default, all -players can use all arenas and all classes, and ops can use all admin -and setup commands. Unless you want to prevent some groups from -accessing certain arenas or classes, or you want to give non-ops admin -and setup permissions, there is no need to mess with any permissions at -all, so go away from this page and remove all occurrences of -``mobarena`` in your permissions-file!** - -Arenas -~~~~~~ - -Did you read the note at the top? If not, read it before you continue. - -So, you want to remove permissions for certain arenas from certain -users? Alright, that means you will have to *negate* or *revoke* the -permissions in your permissions plugin. In bPermissions, the negation -modifier is a caret, ``^``, in GroupManager and PermissionsEx it is a -minus, ``-``, and in zPermissions it is by setting the permission to -``false``. The examples below revoke the permission for the default -arena. - -| bPermissions: ``^mobarena.arenas.default`` -| GroupManager: ``-mobarena.arenas.default`` -| zPermissions: ``mobarena.arenas.default: false`` - -I recommend letting everyone enjoy all your arenas, but this could be -used in combination with "leveling" plugins to allow players to use -"harder" arenas at higher levels. It could also be used for -sponsors-only arenas. - -Still confused? Check the `sample setup <#sample-setup>`__ at the bottom -of the page! - -Classes -~~~~~~~ - -Did you read the note at the top? If not, read it before you continue. - -Alright, if you're reading this, you want to remove permissions for -certain classes from certain users. As with the arena permissions, you -need to *negate* or *revoke* the permissions in your permissions plugin. -In bPermissions, the negation modifier is a caret, ``^``, in -GroupManager and PermissionsEx it is a minus, ``-``, and in zPermissions -it is by setting the permission to ``false``. The examples below revoke -the permission for the Knight class. - -| bPermissions: ``^mobarena.classes.knight`` -| GroupManager: ``-mobarena.classes.knight`` -| zPermissions: ``mobarena.classes.knight: false`` - -**Note how the class name is lowercase.** This is important. Even if the -Knight class is called ``KnIGhT`` in your config-file, it MUST be all -lowercase in your permissions-file. - -As with arenas, I recommend letting everyone enjoy all the classes, -unless you have a special reason not to. - -Still confused? Check the `sample setup <#sample-setup>`__ at the bottom -of the page! - -Commands -~~~~~~~~ - -Did you read the note at the top? If not, read it before you continue. - -If you're reading this, you want to either give certain users access to -some of the admin and/or setup commands, or you want to remove some of -the user commands from some groups. If this is not the case, stop -reading and leave this page! - -The first group of commands are the user commands. They are accessible -by all players by default, so don't put ``mobarena.use.*`` or something -stupid like that in your permissions-file! If you want a group to not -have access to the user commands, *negate* the permission -``mobarena.use``, which is the *parent permission node* for all the user -commands. See the classes and arenas sections for information on how to -negate permissions. If that doesn't work, negate the -``mobarena.use.join`` and ``mobarena.use.spec`` permissions. That should -be enough. - -:: - - mobarena.use.join - mobarena.use.leave - mobarena.use.spec - mobarena.use.arenalist - mobarena.use.playerlist - mobarena.use.notready - mobarena.use.class - -The admin commands are simple. They allow disabling/enabling MobArena -and individual arenas, kicking players from the arenas, restoring player -inventories if they got lost somehow, forcing arenas to start or end, -and teleporting in and out of arenas regardless of what the arena state -is. If you want to grant all of these permissions, use the *parent -permission node* ``mobarena.admin``. Don't mess around with ``*`` or -something stupid like that. - -:: - - mobarena.admin.enable - mobarena.admin.kick - mobarena.admin.restore - mobarena.admin.force - mobarena.admin.teleport - -Setup commands are only for ops, just like admin commands. **Do not** -give these permissions to random people, because they can remove your -arenas and destroy your config-files, if they do something stupid. The -setup commands allow you to manage arenas, regions, spawnpoints, chests, -leaderboards, etc. They also allow you to set up new classes in-game. If -you want to grant all of these permissions, use the *parent permission -node* ``mobarena.setup``. Don't mess around with ``*`` or something -stupid like that. - -:: - - mobarena.setup.config - mobarena.setup.setup - mobarena.setup.setting - mobarena.setup.addarena - mobarena.setup.removearena - mobarena.setup.editarena - mobarena.setup.spawnpoints - mobarena.setup.containers - mobarena.setup.checkdata - mobarena.setup.checkspawns - mobarena.setup.classchest - mobarena.setup.classes - mobarena.setup.leaderboards - mobarena.setup.autogenerate - mobarena.setup.autodegenerate - -Sample setup -~~~~~~~~~~~~ - -Assume you have a class called DiamondKnight that you only want your -donors to be able to use (very common use case). How do you set up your -permissions plugin when you have to revoke the class permission from the -default group, but the donor group inherits from the default group? It's -very simple: You're doing it wrong... - -What you have to do instead is make an *auxiliary default*-group that -contains all your default permissions, and have your default group -inherit from that group, and furthermore revoke the DiamondKnight class -permission in MobArena. Your donor group then also inherits from the -auxiliary group, and everything is wonderful. Confusing? Here's a -pseudo-code example: - -:: - - default-aux: <-- This is the auxiliary group that is to - permissions: be inherited by the default group and - - essentials.balance the donor group. It is not used for - - essentials.pay anything else. - - essentials.sell - - default: <-- This is the default group. It inherits - inherits: default-aux from default-aux, but also revokes the - permissions: permission for the special class. - - -mobarena.classes.diamondknight - - donor: <-- This is the donor group, which also - inherits: default-aux inherits from default-aux, but it - permissions: does not revoke any class permissions, - - essentials.balance.others which means it has access to all of - - essentials.kit them by default. - -This sample setup is **pseudo code** and cannot be simply copy/pasted -into your own permissions file. It's your job to figure out how your -permissions plugin works, and what its syntax is. diff --git a/docs/user/setting-up-config-file.rst b/docs/user/setting-up-config-file.rst deleted file mode 100644 index 4422ed9..0000000 --- a/docs/user/setting-up-config-file.rst +++ /dev/null @@ -1,530 +0,0 @@ -########################## -Setting up the config file -########################## - -**On this page:** \* -`Overview <./Setting-up-the-config-file#wiki-an-overview>`__ \* -```global-settings`` <./Setting-up-the-config-file#wiki-global-settings>`__ -\* ```classes`` <./Setting-up-the-config-file#wiki-classes>`__ \* `Bring -your own items <./Setting-up-the-config-file#bring-your-own-items>`__ \* -`Slot-specific armor -nodes <./Setting-up-the-config-file#slot-specific-armor-nodes>`__ \* -`Price <./Setting-up-the-config-file#price>`__ \* `Unbreakable -items <./Setting-up-the-config-file#wiki-unbreakable-weaponsarmor>`__ \* -`Per-class -permissions <./Setting-up-the-config-file#wiki-per-class-permissions>`__ -\* `Pet classes <./Setting-up-the-config-file#wiki-pet-classes>`__ \* -`Mounts <./Setting-up-the-config-file#wiki-mounts>`__ \* -```arenas`` <./Setting-up-the-config-file#wiki-arenas>`__ \* -```settings`` <./Setting-up-the-config-file#wiki-settings>`__ \* -```waves`` <./Setting-up-the-config-file#wiki-waves>`__ \* -```rewards`` <./Setting-up-the-config-file#wiki-rewards>`__ \* -```coords`` <./Setting-up-the-config-file#wiki-coords>`__ - -An Overview -~~~~~~~~~~~ - -*Note: When editing the config-file, you **MUST use spaces for -indentation**! Using tabs instead of spaces will give you errors!* - -The config-file, ``plugins/MobArena/config.yml``, consists of 3 -sections: ``global-settings``, ``classes``, and ``arenas``. The default -config-file that is generated when MobArena is first loaded looks -something like this: - -:: - - [...] - global-settings: - update-notification: true - enabled: true - allowed-commands: /list - prefix: '&a[MobArena] ' - classes: - Knight: - items: diamond_sword, grilled_pork:2 - armor: 306,307,308,309 - Archer: - items: wood_sword, bow, arrow:128, grilled_pork - armor: 298,299,300,301 - [...] - arenas: - default: - settings: - prefix: '' - world: Tundra - enabled: true - protect: true - clear-wave-before-next: false - [...] - waves: - [...] - rewards: - [...] - -Note about notation: ``[true|false]`` means the setting must be "true or -false", either or. ``