Remove docs folder.
This commit nukes the readthedocs documentation from the repository, but it is kept as a local backup. The RTD effort was a valiant one, but it fell by the way side, mostly due to a lack of attention from my part. At this point in time, the wiki and RTD have diverged too much, and I would rather have just one place for documentation than two that are out of sync. If we ever pick up RTD again, it's probably going to be with a complete documentation rework in mind.
This commit is contained in:
@@ -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)
|
||||
-180
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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`
|
||||
@@ -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
|
||||
@@ -1,3 +0,0 @@
|
||||
## Theme for Sphinx documentation
|
||||
Sphinx
|
||||
sphinx_rtd_theme
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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 <arena name>``
|
||||
- **Enter Setup Mode**: ``/ma setup <arena name>`` [#]_
|
||||
- **Leave Setup Mode**: ``done`` (no slash)
|
||||
- **Delete an arena**: ``/ma delarena <arena name>`` [#]_
|
||||
|
||||
.. [#] 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 |
|
||||
| ``<region>`` | given direction. *Example*: | |
|
||||
| ``<amount>`` | ``expand ar 5 up`` | |
|
||||
| ``<direction>`` | | |
|
||||
+-------------------+-------------------------------------+------------+
|
||||
| show | Show a region, warp, spawnpoint(s), | N/A |
|
||||
| ``[<region>|`` | or container as red wool blocks. | |
|
||||
| ``<warp>|`` | *Example*: ``show sp`` | |
|
||||
| ``<spawnpoint>|`` | | |
|
||||
| ``<container>]`` | | |
|
||||
+-------------------+-------------------------------------+------------+
|
||||
|
||||
- **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
|
||||
|
||||
@@ -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 <class>``, 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.
|
||||
@@ -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 (<arena>)`` | Join arena with given name | ``/ma j (<arena>)`` |
|
||||
+---------------------------+----------------------------+---------------------+
|
||||
| ``/ma leave`` | Leave current arena or | ``/ma l`` |
|
||||
| | spectator area | |
|
||||
+---------------------------+----------------------------+---------------------+
|
||||
| ``/ma notready`` | List players who are not | |
|
||||
| | ready in arena lobby | |
|
||||
+---------------------------+----------------------------+---------------------+
|
||||
| ``/ma spec (<arena>)`` | Enter an arena's spectator | ``/ma s (<arena>)`` |
|
||||
| | arena | |
|
||||
+---------------------------+----------------------------+---------------------+
|
||||
| ``/ma arenas`` | List all arenas. Green | |
|
||||
| | names are enabled, gray | |
|
||||
| | names are disabled | |
|
||||
+---------------------------+----------------------------+---------------------+
|
||||
| ``/ma players (<arena>)`` | List all players in an | |
|
||||
| | area | |
|
||||
+---------------------------+----------------------------+---------------------+
|
||||
| ``/ma class <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 (<arena>)`` | Enable MobArena (optionally a specific arena) |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma disable`` | Disable MobArena (optionally a specific arena) |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma force end (<arena>)`` | Forcefully end all arenas or a specific arena |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma force start <arena>`` | Forcefully start an arena (players that aren't |
|
||||
| | ready are removed from arena) |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma notready <arena>`` | List all players in an arena that aren't ready |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma restore <player>`` | 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 <arena>`` | Enter Setup Mode for an arena (see |
|
||||
| | :doc:`arena-setup` for more info) |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma addarena <arena>`` | Create new arena node in current world |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma delarena <arena>`` | Delete arena with given name |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma editarena <arena>`` | Toggle Edit Mode for an arena |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma editarena <arena>`` | Turn Edit Mode on or off for an arena |
|
||||
| ``[true|false]`` | |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma setting <arena>`` | List per-arena settings for an arena |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma setting <arena>`` | Check current value of a setting for an arena |
|
||||
| ``<setting>`` | |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma setting <arena>`` | Change a setting for an arena to given value |
|
||||
| ``<setting> <value>`` | |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma checkspawns`` | Show all spawnpoints in arena you are standing |
|
||||
| | in as red wool blocks (helpful to check |
|
||||
| | spawnpoint coverage) |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma classchest <class>`` | 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 |
|
||||
| ``<arena>`` | (generated directly below player) |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
| ``/ma auto-degenerate`` | Degenerate an auto-generated arena with given |
|
||||
| ``<arena>`` | name |
|
||||
+-----------------------------+------------------------------------------------+
|
||||
|
||||
|
||||
***********
|
||||
Permissions
|
||||
***********
|
||||
|
||||
See :doc:`permissions`.
|
||||
@@ -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).
|
||||
@@ -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**: ``[<id>|<name>]``
|
||||
- **Multiple**: ``[<id>|<name>]:<amount>``
|
||||
- **Sub-types**: ``[<id>|<name>]:<data>:<amount>``
|
||||
|
||||
Single items
|
||||
============
|
||||
|
||||
``[<id>|<name>]``
|
||||
|
||||
*Either* an item ID number [#]_ (``<id>``) or item name (``<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
|
||||
==============
|
||||
|
||||
``[<id>|<name>]:<amount>``
|
||||
|
||||
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
|
||||
==============
|
||||
|
||||
``[<id>|<name>]:<data>:<amount>``
|
||||
|
||||
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
|
||||
************
|
||||
|
||||
``<item> <eid>:<level>;<eid>:<level>;...``
|
||||
|
||||
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
|
||||
*************
|
||||
|
||||
``$<amount>``
|
||||
|
||||
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 <player> dirt
|
||||
cmd(description of reward):/give <player> 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 <player> <permission>``
|
||||
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
|
||||
@@ -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]<name>``, where ``<name>`` 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]<stat>``, where ``<stat>`` 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.
|
||||
@@ -1,38 +0,0 @@
|
||||
#############
|
||||
Monster types
|
||||
#############
|
||||
|
||||
MobArena supports any monster available in the `EntityType
|
||||
enum <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html>`__.
|
||||
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.
|
||||
@@ -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.
|
||||
@@ -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. ``<time>`` means the setting must be an amount of
|
||||
time (in seconds or server ticks), always a whole number, and always
|
||||
``0`` or greater. ``<amount>`` is similar to time.
|
||||
|
||||
global-settings
|
||||
---------------
|
||||
|
||||
The ``global-settings`` are few, but important. Note that if
|
||||
``enabled: false``, no arenas can be joined, regardless of their
|
||||
individual ``enabled`` status.
|
||||
|
||||
- ``enabled: [true|false]`` - This determines if MobArena is enabled or
|
||||
not. If set to ``false``, players will not be able to join any arenas
|
||||
at all, regardless of what the arenas' individual statuses are.
|
||||
- ``update-notification: [true|false]`` - If true, MobArena will send a
|
||||
message to ops when they log on if a new version of MobArena is
|
||||
available.
|
||||
- ``allowed-commands: <com1>, <com2>, ...`` - A comma-separated list of
|
||||
the commands that players are allowed to use while in the lobby
|
||||
and/or arena. This is useful if you don't want players to use
|
||||
teleport-commands, flying carpets, kill commands, etc. If you write
|
||||
the command WITH its forward-slash, the entire command and all
|
||||
"sub-commands" will be allowed. For instance, writing ``/kill`` will
|
||||
allow both ``/kill``, ``/kill Sausageman22`` and ``/kill Notch``.
|
||||
Writing the command WITHOUT its forward-slash will allow only that
|
||||
specific command or "sub-command". Writing ``kill`` will thus ONLY
|
||||
allow ``/kill``, but not ``/kill Sausageman22``.
|
||||
- ``prefix: <prefix>`` - The prefix MobArena uses for all of its
|
||||
messages. The default is the classic green ``[MobArena]``, but you
|
||||
can change it to whatever you want. You can override the prefix for
|
||||
specific arenas by using the arena-specific setting with the same
|
||||
name.
|
||||
|
||||
I recommended leaving the update notifications on, and disabling
|
||||
commands like ``/kill`` and ``/tp``.
|
||||
|
||||
classes
|
||||
-------
|
||||
|
||||
The ``classes``-section is slightly more complicated. It is divided into
|
||||
*class-branches*, where each branch denotes the *name of the class*, and
|
||||
each branch has mandatory nodes ``items`` and ``armor``, as well as
|
||||
optional slot-specific armor nodes and optional nodes ``price``,
|
||||
``permissions``, ``lobby-permissions``, ``unbreakable-weapons``, and
|
||||
``unbreakable-armor``.
|
||||
|
||||
**Note:** YAML is picky about how you type your items. Make sure you
|
||||
read the short [[Item and Reward Syntax]]-page and fully understand it
|
||||
before you attempt to modify the config file!
|
||||
|
||||
::
|
||||
|
||||
classes:
|
||||
Archer:
|
||||
items: wood_sword, bow, arrow:128, grilled_pork
|
||||
armor: 298,299,300,301
|
||||
permissions:
|
||||
- EffectiveArrows.use.*
|
||||
- -mobarena.use.leave
|
||||
Tank:
|
||||
items: iron_sword
|
||||
armor: 310,311,312,313
|
||||
offhand: shield
|
||||
Knight:
|
||||
items: '276'
|
||||
armor: iron_helmet, iron_chestplate, iron_leggings, iron_boots
|
||||
Wolf Master:
|
||||
items: stone_sword, grilled_pork, bone:2
|
||||
armor: 298,299,300,301
|
||||
Crusader:
|
||||
items: iron_sword, hay_block:17
|
||||
armor: 302,303,304,305
|
||||
price: $5
|
||||
|
||||
Bring your own items
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
MobArena allows you to just bring your own items into the arena via the
|
||||
implicit 'My Items' class. What this means is that if you just place a
|
||||
sign in the lobby with the text My Class, you'll get the items that you
|
||||
had before joining the arena. Items are still restored on dying in or
|
||||
leaving the arena.
|
||||
|
||||
For a smooth, own-items-only experience, ditch the signs and set the
|
||||
per-arena setting ``default-class`` to ``myitems``.
|
||||
|
||||
Slot-specific armor nodes
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you want to use off-hand items, or if you just want to be explicit
|
||||
about which items go where in the armor slots, use the optional
|
||||
slot-specific armor nodes: ``offhand``, ``helmet``, ``chestplate``,
|
||||
``leggings``, ``boots``. In the example above, the **Tank** class gets a
|
||||
shield in its off-hand slot.
|
||||
|
||||
Price
|
||||
~~~~~
|
||||
|
||||
The optional ``price`` node can be used to give classes a per-session
|
||||
price. When a player tries to pick a class that has a price, they will
|
||||
only be able to if they can afford it. The money is withdrawn when the
|
||||
arena starts, i.e. picking different priced classes in succession will
|
||||
not (necessarily) result in empty player wallets. In the example above,
|
||||
the **Crusader** class costs ``$5``.
|
||||
|
||||
Unbreakable weapons/armor
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The optional ``unbreakable-weapons`` and ``unbreakable-armor`` nodes can
|
||||
be used to toggle on or off the unbreakability of class items and armor.
|
||||
The nodes *default to true*, so they are really only necessary if you
|
||||
want to toggle OFF the feature, i.e. if you want items to deteriorate
|
||||
and break! If that's what you want, set the nodes to false.
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<pre>
|
||||
classes:
|
||||
FrailTank:
|
||||
items: diamond_sword
|
||||
armor: 310,311,312,313
|
||||
<font color="blue">unbreakable-weapons: false</font>
|
||||
<font color="blue">unbreakable-armor: false</font>
|
||||
</pre>
|
||||
|
||||
Per-class permissions
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Using the optional ``permissions``-node, you can give classes special
|
||||
permissions to customize them even more. Each permission must be listed
|
||||
with a dash (-) in front of it. If you want a class to *not* have a
|
||||
permission, put a dash/minus at the very beginning of the permission
|
||||
node. In the example above, the **Archer** class will be able to use the
|
||||
EffectiveArrows plugin, but won't be able to use ``/ma leave`` (meaning
|
||||
it's impossible to leave the arena without dying).
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<pre>
|
||||
classes:
|
||||
Archer:
|
||||
items: wood_sword, bow, arrow:128, grilled_pork
|
||||
armor: 298,299,300,301
|
||||
<font color="blue">permissions:</font>
|
||||
<font color="blue">- EffectiveArrows.use.*</font>
|
||||
<font color="blue">- -mobarena.use.leave</font>
|
||||
</pre>
|
||||
|
||||
The optional ``lobby-permissions``-node gives players special
|
||||
permissions while they are in the lobby *after they have picked a
|
||||
class*. This feature can be used e.g. in combination with a shop plugin
|
||||
and a base class that perhaps has nothing (maybe except for a few
|
||||
potions).
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<pre>
|
||||
classes:
|
||||
Basic:
|
||||
items: ''
|
||||
armor: ''
|
||||
<font color="blue">lobby-permissions:</font>
|
||||
<font color="blue">- shop.buy</font>
|
||||
</pre>
|
||||
|
||||
Pet classes
|
||||
~~~~~~~~~~~
|
||||
|
||||
For every bone (Material name: ``bone``, data value: ``352``) in a
|
||||
class' items-list (or class chest), one wolf pet will spawn upon arena
|
||||
start. In the example above, every player that picks the **Wolf Master**
|
||||
class will have 2 wolves spawn upon arena start. The wolves are
|
||||
invincible, but deal less damage than normal wolves.
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<pre>
|
||||
classes:
|
||||
Wolf Master:
|
||||
items: stone_sword, grilled_pork, <font color="blue">bone:2</font>
|
||||
armor: 298,299,300,301
|
||||
</pre>
|
||||
|
||||
Mounts
|
||||
~~~~~~
|
||||
|
||||
To give a class a horse mount, give it a hay block in the items-list (or
|
||||
place a hay block in the class chest). The item stack amount (in the
|
||||
first encountered stack) determines the variant and barding of the
|
||||
horse. You can use this table to figure out which hay block amount you
|
||||
need for your desired variant and barding:
|
||||
|
||||
+----------------+------------+------------+------------+---------------+
|
||||
| | **None** | **Iron** | **Gold** | **Diamond** |
|
||||
+================+============+============+============+===============+
|
||||
| **Horse** | 1 | 9 | 17 | 25 |
|
||||
+----------------+------------+------------+------------+---------------+
|
||||
| **Donkey** | 2 | - | - | - |
|
||||
+----------------+------------+------------+------------+---------------+
|
||||
| **Mule** | 3 | - | - | - |
|
||||
+----------------+------------+------------+------------+---------------+
|
||||
| **Skeleton** | 4 | - | - | - |
|
||||
+----------------+------------+------------+------------+---------------+
|
||||
| **Zombie** | 5 | - | - | - |
|
||||
+----------------+------------+------------+------------+---------------+
|
||||
|
||||
Note that only normal horses can have barding.
|
||||
|
||||
In the example above, every player that picks the **Crusader** class
|
||||
will have a white horse with gold barding upon arena start. The mounts
|
||||
are invincible.
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<pre>
|
||||
classes:
|
||||
Crusader:
|
||||
items: iron_sword, <font color="blue">hay_block:17</font>
|
||||
armor: 302,303,304,305
|
||||
</pre>
|
||||
|
||||
arenas
|
||||
------
|
||||
|
||||
This section is by far the largest, and it is divided into several
|
||||
smaller branches. In the above example, ``default`` denotes the *name*
|
||||
of the default arena. This name can be altered, but it must contain no
|
||||
spaces (use underscores instead). The arena name is significant when a
|
||||
server has multiple arenas and no Master Lobby (will be featured later).
|
||||
Let's go over the different branches:
|
||||
|
||||
settings
|
||||
~~~~~~~~
|
||||
|
||||
The settings-branch is quite extensive, and besides the ``world``-node,
|
||||
it is basically just a bunch of toggles (on/off, true/false), though a
|
||||
few are number-based.
|
||||
|
||||
- ``prefix: <prefix>`` - An arena-specific prefix to use for
|
||||
messages/announcements in this arena only. The default is the empty
|
||||
string (``''``), which means the ``global-settings`` prefix will be
|
||||
used.
|
||||
- ``world: <name>`` - The name of the world the arena resides in.
|
||||
- ``enabled: [true|false]`` - If false, players cannot join the arena.
|
||||
- ``protect: [true|false]`` - If false, the arena will not be protected
|
||||
from explosions and players breaking the blocks.
|
||||
- ``entry-fee: [$<amount>|<item>:<amount>]`` - Follows the exact same
|
||||
notation as the class items and rewards (read the [[Item and Reward
|
||||
Syntax]]-page). ``$20`` will subtract 20 of whatever currency you use
|
||||
from the players upon joining. ``$5, stick:2`` will require the
|
||||
player to have 5 currency units and 2 sticks to join the arena. The
|
||||
entry-fee will be refunded if the player leaves before the arena
|
||||
starts.
|
||||
- ``default-class: <class>`` - If non-empty, this class is
|
||||
automatically assigned to players when they join the arena. The class
|
||||
name must be all lowercase and with no spaces.
|
||||
- ``clear-wave-before-next: [true|false]`` - If true, no monsters will
|
||||
spawn before all monsters of the previous wave have been killed.
|
||||
- ``clear-boss-before-next: [true|false]`` - If true, no new waves will
|
||||
spawn before the current boss (if any) is dead.
|
||||
- ``clear-wave-before-boss: [true|false]`` - If true, a boss wave will
|
||||
not spawn until all previous monsters have been killed.
|
||||
- ``auto-equip-armor: [true|false]`` - If true, armor pieces will
|
||||
automatically be equipped upon class selection. Note that this does
|
||||
not work if a class has more than 1 of an armor piece type.
|
||||
- ``soft-restore: [true|false]`` - If true, all destroyed blocks will
|
||||
be saved in a "repair list", which will be used to restore blocks at
|
||||
arena end. No data is saved to the harddrive. Note that this setting,
|
||||
if true, ignores the ``protect`` flag.
|
||||
- ``soft-restore-drops: [true|false]`` - If true, blocks destroyed by
|
||||
players will drop as items like they normally do (using pickaxes,
|
||||
spades, etc.). Note that this makes it very easy for classes with
|
||||
pickaxes to "mine the arena" and build forts.
|
||||
- ``require-empty-inv-join: [true|false]`` - If false, players'
|
||||
inventories will be saved upon joining, and restored upon
|
||||
death/leaving.
|
||||
- ``require-empty-inv-spec: [true|false]`` - If false, players can
|
||||
spectate the arena without having to empty their inventories.
|
||||
- ``hellhounds: [true|false]`` - If true, all pet wolves in the arena
|
||||
will be in flames! This has no actual function, and is purely for the
|
||||
cool-factor. Also useful for distinguishing enemy wolves and pet
|
||||
wolves.
|
||||
- ``pvp-enabled: [true|false]`` - If true, players can damage each
|
||||
other in the arena.
|
||||
- ``monster-infight: [true|false]`` - If false, monsters will no longer
|
||||
damage each other.
|
||||
- ``allow-teleporting: [true|false]`` - If false, all warping to and
|
||||
from the arena region is blocked. Useful for preventing players from
|
||||
summoning other players into the arena for help.
|
||||
- ``spectate-on-death: [true|false]`` - If false, players will not get
|
||||
warped to the spectator area, but instead be "kicked" from the arena
|
||||
(essentially a forced /ma leave).
|
||||
- ``auto-respawn: [true|false]`` - If false, players will be greeted
|
||||
with the typical death screen upon dying in the arena, and will have
|
||||
to click the respawn button to respawn. With this setting at false,
|
||||
players will actually die in the arena, meaning plugins like Heroes
|
||||
and mcMMO will properly trigger their resetting of internal data upon
|
||||
respawn.
|
||||
- ``share-items-in-arena: [true|false]`` - If false, players will not
|
||||
be able to drop items in the arena.
|
||||
- ``min-players: <amount>`` - Gives a lower limit on how many players
|
||||
are required to start the arena. The default of ``0`` is the same as
|
||||
``1``, which means 1 or more players may start the arena. Note that
|
||||
this feature is incompatible with ``auto-start-timer`` and
|
||||
``start-delay-timer``!
|
||||
- ``max-players: <amount>`` - Gives an upper limit on how many players
|
||||
may join the arena. The default of ``0`` means no limit.
|
||||
- ``max-join-distance: <distance>`` - The maximum distance (in blocks)
|
||||
from which players can join or spectate the arena. If 0 (default),
|
||||
there is no limit, and players can join from any world. Note that the
|
||||
distance is calculated from every corner of the arena region, and
|
||||
that players not in the arena world won't be able to join or
|
||||
spectate.
|
||||
- ``first-wave-delay: <time>`` - The time (in seconds) before the first
|
||||
wave of monsters upon arena start.
|
||||
- ``wave-interval: <time>`` - The time (in seconds) between each new
|
||||
wave of monsters. If clear-wave-before-next: true, this setting will
|
||||
be ignored.
|
||||
- ``final-wave: <number>`` - The number of the final wave before the
|
||||
arena is force ended. This is useful if you want to set a cap on how
|
||||
many waves an arena will have.
|
||||
- ``monster-limit: <amount>`` - The maximum amount of monsters MobArena
|
||||
is allowed to spawn for this arena. The next wave, if any, will not
|
||||
spawn until there is room for more monsters.
|
||||
- ``monster-exp: [true|false]`` - If true, monsters will drop
|
||||
experience orbs. This is useful if you wish to give players the
|
||||
ability to spend the gathered experience on enchants or something
|
||||
else (using different plugins) during the session.
|
||||
- ``keep-exp: [true|false]`` - If true, players will keep the
|
||||
experience they gather in the arenas after death. This is useful if
|
||||
you want to allow players to level up or gather experience in the
|
||||
arenas. NOTE: If using ``display-waves-as-level`` or
|
||||
``display-timer-as-level``, set ``keep-exp`` to false.
|
||||
- ``food-regen: [true|false]`` - If true, a full food bar will cause
|
||||
players to regenerate health while in the arena. Note that this
|
||||
potentially makes tank-like classes extremely overpowered, since
|
||||
diamond armor (by default) coupled with a full food bar will make a
|
||||
player very hard to kill.
|
||||
- ``lock-food-level: [true|false]`` - If true, the food bar will be
|
||||
locked for all players in the arena, meaning they will not end up
|
||||
starving, and they will be able to sprint around as they please.
|
||||
- ``player-time-in-arena: <time of day>`` - When set to anything but
|
||||
world, this setting will freeze the apparent world time for players
|
||||
in the arena to whatever value you set. This is useful for making
|
||||
time-of-day themed arenas (e.g. constant night time for a cemetery,
|
||||
broad daylight for a pirate ship). Valid values are: dawn, sunrise,
|
||||
morning, midday, noon, day, afternoon, evening, sunset, dusk, night,
|
||||
midnight.
|
||||
- ``auto-ignite-tnt: [true|false]`` - If true, TNT will be
|
||||
automatically ignited when placed. This is useful for preventing
|
||||
Oddjob-like classes from forting.
|
||||
- ``auto-start-timer: <time>`` - The time (in seconds) before the arena
|
||||
will be force started after the first player has joined the lobby
|
||||
(the default of 0 means deactivated or infinite time). Non-ready
|
||||
players will be removed from the lobby. This setting is useful to
|
||||
prevent ill-minded players from delaying or preventing other players
|
||||
from starting the arena. Note that this feature is incompatible with
|
||||
``min-players``!
|
||||
- ``start-delay-timer: <time>`` - The time (in seconds) before the
|
||||
arena can be started after the first player has joined the lobby.
|
||||
This setting is useful if you want to give your players a fixed
|
||||
window of time to join the arena after the first player has joined,
|
||||
so they can't just start it off right away. Note that this feature is
|
||||
incompatible with ``min-players``!
|
||||
- ``display-waves-as-level: [true|false]`` - When set to true, the
|
||||
players' level counter (above the experience bar) will be used to
|
||||
display the current wave number. If the wave announcements in the
|
||||
announcements-file are silenced, this can be used to make a much less
|
||||
"spammy" MobArena experience. NOTE: Do not use this if ``keep-exp``
|
||||
is set to true!
|
||||
- ``display-timer-as-level: [true|false]`` - When set to true, the
|
||||
players' level counter (above the experience bar) will be used to
|
||||
display the auto-start timer in the lobby. NOTE: Do not use this if
|
||||
``keep-exp`` is set to true!
|
||||
- ``auto-ready: [true|false]`` - When set to true, players are
|
||||
automatically flagged as ready when they pick a class. Useful for
|
||||
arenas with many players where hitting an iron block becomes
|
||||
difficult.
|
||||
- ``use-scoreboards: [true|false]`` - Whether to use scoreboards in
|
||||
MobArena or not.
|
||||
- ``isolated-chat: [true|false]`` - When set to true, all chat messages
|
||||
sent by arena players will be seen only by other arena players in the
|
||||
same arena. The arena players will still be able to see chat messages
|
||||
from other players on the server who aren't in an arena.
|
||||
- ``global-end-announce: [true|false]`` - When set to true, MobArena
|
||||
will announce the ``arena-end-global`` message (see
|
||||
[[Announcements]]) to all players on the server when an arena ends.
|
||||
- ``global-join-announce: [true|false]`` - When set to true, MobArena
|
||||
will announce the ``arena-join-global`` message (see
|
||||
[[Announcements]]) to all players on the server when the first player
|
||||
joins an arena.
|
||||
|
||||
waves
|
||||
~~~~~
|
||||
|
||||
Please go to [[setting up the waves]] for more information.
|
||||
|
||||
rewards
|
||||
~~~~~~~
|
||||
|
||||
The rewards-section denotes which rewards the arena players can win in
|
||||
the arena. It uses the exact same item system as the classes-section
|
||||
does, so nothing new there. You can also specify monetary rewards if you
|
||||
use a major economy plugin (iConomy, BOSEconomy, Essentials Eco) in the
|
||||
notation ``$<amount>``.
|
||||
|
||||
**Note:** YAML is picky about how you type your items. Make sure you
|
||||
read the short [[Item and Reward Syntax]]-page and fully understand it
|
||||
before you attempt to modify the config file!
|
||||
|
||||
The waves-branch is broken into ``every``- and ``after``-branches. The
|
||||
``every``-branch denotes rewards that the players can receive *every* x
|
||||
waves (repeated). The ``after``-branch denotes rewards that the player
|
||||
can receive *after* wave x (only once) has started. Note that **only one
|
||||
reward** is picked at random from the list.
|
||||
|
||||
In the following example, players will receive either four arrows or a
|
||||
gold bar every 3 waves (3, 6, 9, 12, etc.), and a diamond every 10 waves
|
||||
(10, 20, 30, etc.), as well as an iron tool on wave 7 (only on wave 7),
|
||||
a diamond sword on wave 19 (only on wave 19), and 200 currency units on
|
||||
wave 20:
|
||||
|
||||
::
|
||||
|
||||
rewards:
|
||||
waves:
|
||||
every:
|
||||
'3': arrow:4, gold_ingot
|
||||
'10': diamond
|
||||
after:
|
||||
'7': iron_spade, iron_hoe, iron_axe, iron_pickaxe
|
||||
'19': diamond_sword
|
||||
'20': $200
|
||||
|
||||
**Note:** The wave numbers **must be enclosed by apostrophes** (e.g.
|
||||
``'7':``, not ``7:``), or YAML will throw errors. If you aren't sure how
|
||||
to do it, just copy one of the other lines and change the wave number
|
||||
and the items.
|
||||
|
||||
coords
|
||||
~~~~~~
|
||||
|
||||
The coords-section does not exist when MobArena first generates the
|
||||
config-file. This is because the coordinates need to be set by the user
|
||||
*in-game*. See the in-game section for more details on how to set
|
||||
everything up. The coords-section consists of five key points, and an
|
||||
arbitrary amount of spawnpoints:
|
||||
|
||||
- ``p1`` and ``p2`` - These two points should span the entire arena
|
||||
region (including spectator areas and the lobby associated with the
|
||||
arena, if possible).
|
||||
- ``l1`` and ``l2`` - [OPTIONAL] If the lobby can't properly reside
|
||||
within the arena region for some reason, these two points should span
|
||||
the lobby region.
|
||||
- ``arena`` - This warp is where the players will be teleported upon
|
||||
arena start.
|
||||
- ``lobby`` - Where the players will be teleported upon joining the
|
||||
arena.
|
||||
- ``spectator`` - Where the players will be teleported upon death or
|
||||
spectating.
|
||||
- ``spawnpoints`` - A list of points where monsters can spawn from.
|
||||
|
||||
Note that editing these points manually can have some very unhappy
|
||||
consequences. Always edit these points from within Minecraft to ensure
|
||||
that they are generated properly.
|
||||
@@ -1,493 +0,0 @@
|
||||
################
|
||||
Setting up waves
|
||||
################
|
||||
|
||||
**On this page:** \* `About
|
||||
Modules <./Setting-up-the-waves#wiki-about-modules>`__ \* `Wave
|
||||
Branches <./Setting-up-the-waves#wiki-wave-branches>`__ \* `Common
|
||||
Nodes <./Setting-up-the-waves#wiki-common-nodes>`__ \*
|
||||
```recurrent`` <./Setting-up-the-waves#wiki-recurrent-waves>`__ \*
|
||||
```single`` <./Setting-up-the-waves#wiki-single-waves>`__ \* `Wave
|
||||
Types <./Setting-up-the-waves#wiki-wave-types>`__ \*
|
||||
```default`` <./Setting-up-the-waves#wiki-default-waves>`__ \*
|
||||
```special`` <./Setting-up-the-waves#wiki-special-waves>`__ \*
|
||||
```swarm`` <./Setting-up-the-waves#wiki-swarm-waves>`__ \*
|
||||
```supply`` <./Setting-up-the-waves#wiki-supply-waves>`__ \*
|
||||
```upgrade`` <./Setting-up-the-waves#wiki-upgrade-waves>`__ \*
|
||||
```boss`` <./Setting-up-the-waves#wiki-boss-waves>`__ \* `A Sample
|
||||
Setup <./Setting-up-the-waves#wiki-sample-config-file-setup>`__
|
||||
|
||||
**Note: If you are impatient, go to the bottom of this page for an
|
||||
example config-file setup to see what the waves could look like. Modify
|
||||
them as you please, but make sure to read this page before asking any
|
||||
questions!**
|
||||
|
||||
Make sure to check out `Agnate's MobArena Bosses and Waves
|
||||
Thread <http://forums.bukkit.org/threads/mobarena-boss-and-wave-thread.31797/>`__
|
||||
if you need inspiration for adding some cool bosses to your arenas!
|
||||
|
||||
About Modules
|
||||
-------------
|
||||
|
||||
The new MobArena waves-system is extremely modular, meaning every time
|
||||
you plug in a new wave, you only have to provide the nodes required by
|
||||
the specific modules you are using. The modules can be broken into *wave
|
||||
branches* and *wave types*. The structure of the waves-section in
|
||||
config-file is the following:
|
||||
|
||||
::
|
||||
|
||||
waves:
|
||||
recurrent: <-- Wave branch
|
||||
<wave name>:
|
||||
type: <wave type> <-- Wave type
|
||||
frequency: #
|
||||
priority: #
|
||||
single: <-- Wave branch
|
||||
<wave name>:
|
||||
type: <wave type> <-- Wave type
|
||||
wave: #
|
||||
|
||||
Wave Branches
|
||||
-------------
|
||||
|
||||
The waves are split into two branches, ``recurrent`` and ``single``.
|
||||
*Recurrent waves* (may) occur more than once (as in, they repeat), given
|
||||
a frequency (how often they occur) and a priority (how "important" they
|
||||
are, i.e. which wave should spawn if two recurrent waves clash). *Single
|
||||
waves* occur just once, on the given wave (and always occur over
|
||||
recurrent waves, should they clash).
|
||||
|
||||
Common Nodes
|
||||
~~~~~~~~~~~~
|
||||
|
||||
As you can see, the two branches have one thing in common, the
|
||||
``type``-node. Other than that, their other nodes differ. However, there
|
||||
are two additional nodes that can be used regardless of branch and type
|
||||
(doesn't work for boss waves, though):
|
||||
|
||||
``amount-multiplier: <decimal value>`` (optional) minimum value of 0.1,
|
||||
this multiplier helps determine how many monsters spawn per wave
|
||||
(minimum 1). If 8 mobs are supposed to spawn, and the value is ``0.5``,
|
||||
only 4 mobs will spawn. If the value is ``3``, 24 will spawn.
|
||||
|
||||
``health-multiplier: <decimal value>`` (optional) minimum value of 0.1,
|
||||
this multiplier helps determine the health for each monster in a wave.
|
||||
If a zombie spawns with the default of 20 health points and the value is
|
||||
``0.5``, the zombie will have 10 health points. If the value is ``4``,
|
||||
it will be 80 health points.
|
||||
|
||||
These two common nodes can be used to greatly customize the difficulty
|
||||
of the monsters in each wave. If you want more monsters, just set the
|
||||
amount-multiplier higher than 1, and maybe adjust the health with the
|
||||
health-multiplier accordingly. If you want the monsters to be tougher to
|
||||
kill, just up the health-multiplier.
|
||||
|
||||
An additional node can be used to help determine where enemies will
|
||||
spawn:
|
||||
|
||||
``spawnpoints: <semi-colon separated list of spawnpoints>``
|
||||
|
||||
For example, we can make a swarm wave spawn monsters only on spawns
|
||||
``5,53,198``, ``-16,54,185``, and ``-7,53,179`` if players are in range:
|
||||
|
||||
::
|
||||
|
||||
swarm3:
|
||||
type: swarm
|
||||
wave: 11
|
||||
monster: zombie_pigman
|
||||
spawnpoints: 5,53,198; -16,54,185; -7,53,179
|
||||
|
||||
Note that these spawnpoints must exist in the ``spawnpoints``-list of
|
||||
the ``coords``-section to work.
|
||||
|
||||
Recurrent Waves
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
``type: [default|special|swarm|supply|upgrade|boss]`` (required)
|
||||
determines the wave type. Read the **Wave types** section further down
|
||||
for more details.
|
||||
|
||||
``frequency: #`` (required) determines how often the wave will/can
|
||||
spawn. With a frequency of 1, the wave can potentially spawn on every
|
||||
single wave number. The implicit default waves in MobArena have a
|
||||
frequency of 1, and the implicit special waves have a frequency of 4,
|
||||
which means the default waves (can) spawn every wave, and the special
|
||||
waves (can) spawn every 4th wave.
|
||||
|
||||
``priority: #`` (required) determines how "important" the wave is. If
|
||||
two recurrent waves clash, the wave with the highest priority will
|
||||
spawn. The implicit default waves in MobArena have a priority of 1, and
|
||||
the implicit special waves have a priority of 2, which means if the
|
||||
default and special waves clash, the special waves will spawn because
|
||||
their priority is higher.
|
||||
|
||||
``wave: #`` (optional) determines the first wave number on which this
|
||||
wave can/will spawn. This is useful for offsetting waves with similar
|
||||
frequencies. Note that if no wave is specified, it will default to the
|
||||
value of the (required) frequency-node. The implicit default waves in
|
||||
MobArena have wave value of 1, and the implicit special waves have a
|
||||
wave value of 4 (same as the frequency), which means the default waves
|
||||
may begin spawning from wave 1, and the special waves may begin spawning
|
||||
from wave 4.
|
||||
|
||||
Single Waves
|
||||
~~~~~~~~~~~~
|
||||
|
||||
``type: [default|special|swarm|supply|upgrade|boss]`` (required)
|
||||
determines the wave type. Read the **Wave types** section further down
|
||||
for more details.
|
||||
|
||||
``wave: #`` (required) determines the wave on which this wave *will*
|
||||
spawn. No matter what priority a recurrent wave have, if it clashes with
|
||||
a single wave, the single wave will always spawn instead of the
|
||||
recurrent waves. Single waves are good for extraordinary waves like
|
||||
"swarm" waves, "boss" waves or even normal waves with specific monster
|
||||
types, for instance.
|
||||
|
||||
Wave Types
|
||||
----------
|
||||
|
||||
All MobArena waves must specify a *wave type*, which must be either
|
||||
``default``, ``special``, ``swarm``, ``supply``, ``upgrade`` or
|
||||
``boss``. These different wave type modules introduce some new required
|
||||
and optional nodes. Note that no matter what the wave type is, any wave
|
||||
*must* adhere to the requirements of the wave branch (read above).
|
||||
|
||||
Default Waves
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Default waves are waves that spawn an amount of monsters picked
|
||||
semi-randomly from an optional list of monsters. The amount of monsters
|
||||
grow at a configurable (but optional) rate. If no growth or monster-list
|
||||
is specified, default waves will consist of 5 different monster types
|
||||
(zombie, skeleton, spider, creeper, wolf), all equally likely to spawn,
|
||||
spawned at the "old" growth rate (player count + wave number). Nodes:
|
||||
|
||||
``growth: [old|slow|medium|fast|psycho]`` (optional) determines how fast
|
||||
the monster count grows with every wave. ``old`` means (player count +
|
||||
wave number), but the other four use a mathematical function to
|
||||
determine the monster count, also based on player count and wave number.
|
||||
See [[Formulas]] for more info.
|
||||
|
||||
``monsters: <list of <monster>: <probability>>`` (optional) determines
|
||||
[[monster types]], and their individual probabilities of spawning on
|
||||
each wave. Note that the probabilities are just that, probabilities.
|
||||
They do not specify exact amounts, but only chance of spawning. The
|
||||
following sample will statistically spawn twice as many zombies as
|
||||
skeletons:
|
||||
|
||||
::
|
||||
|
||||
monsters:
|
||||
zombies: 10
|
||||
skeletons: 5
|
||||
|
||||
``fixed: [true|false]`` (optional) the probability values in the
|
||||
monsters list becomes amount values instead, such that the above wave
|
||||
will spawn exactly 10 zombies and 5 skeletons, regardless of player
|
||||
count and wave number.
|
||||
|
||||
Special Waves
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Special waves are waves that spawn *one type* of monster, and always a
|
||||
fixed amount. Unlike with *default waves*, the (optional) monster list
|
||||
with probabilities determines which monster out of the entire list
|
||||
should spawn. The monsters-node's notation is identical to that of
|
||||
*default waves*.
|
||||
|
||||
``monsters: <list of <monster>: <probability>>`` (optional) determines
|
||||
[[monster types]], and their probabilities of spawning on each wave. The
|
||||
following sample will statistically spawn powered-creepers twice as
|
||||
often as slimes:
|
||||
|
||||
::
|
||||
|
||||
monsters:
|
||||
powered-creepers: 4
|
||||
slimes: 2
|
||||
|
||||
Swarm Waves
|
||||
~~~~~~~~~~~
|
||||
|
||||
Like *special waves*, swarm waves spawn just *one type* of monster, but
|
||||
in a configurable (but optional) amount. The swarm wave monsters only
|
||||
have *1 health point*, meaning they will die with just one blow from
|
||||
anything. Their numbers are vast compared to default and special waves,
|
||||
however, so they may be a bit hard on some servers. Use with caution!
|
||||
|
||||
``monster: <monster>`` (required) which [[monster types]] the swarm
|
||||
consists of. Note that this is different from special waves, in that
|
||||
only one type is specified, and no probability value.
|
||||
|
||||
``amount: [low|medium|high|psycho]`` (optional) how many monsters should
|
||||
spawn. Defaults to low (which is still a lot). See [[Formulas]] for more
|
||||
info.
|
||||
|
||||
Supply Waves
|
||||
~~~~~~~~~~~~
|
||||
|
||||
These waves spawn one monster per player, and will drop a random item
|
||||
from a customized drop list (same notation as the class items). The
|
||||
monster list notation is identical to that of default and special waves.
|
||||
|
||||
::
|
||||
|
||||
drops: grilled_pork, cooked_chicken, cooked_beef, cooked_fish:2
|
||||
|
||||
Upgrade Waves
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
These waves don't spawn any monsters, but will give or upgrade items.
|
||||
The class names are optional (you don't have to give items to all
|
||||
classes), and it is possible to use the ``all`` identifier to specify
|
||||
items that will be given to all players regardless of class. The
|
||||
``give-all-items`` flag determines if all items in the list should be
|
||||
given, or just a random item off the list (like with rewards and supply
|
||||
waves).
|
||||
|
||||
**Legacy setup**: In the following example, all players get a healing
|
||||
potion, and on top of that, all Archers get 64 arrows, and all Oddjobs
|
||||
get either 2 TNT or a Netherrack:
|
||||
|
||||
::
|
||||
|
||||
upgrades:
|
||||
all: potion:8197:1
|
||||
Archer: arrow:64
|
||||
Oddjob: tnt:2, netherrack
|
||||
give-all-items: false
|
||||
|
||||
**Advanced setup**: Since MobArena v0.95, the Upgrade Waves can be set
|
||||
up to upgrade/replace certain weapons and armor, as well as add/remove
|
||||
permissions. The setup follows the setup of the classes-section. In the
|
||||
following example, the Knight class gets its diamond sword enchanted and
|
||||
its iron chestplate replaced with a diamond chestplate. The Archer just
|
||||
gets some more arrows (legacy setup) while the Wizard class gets the
|
||||
permission to cast the Forcepush spell from MagicSpells:
|
||||
|
||||
::
|
||||
|
||||
classes:
|
||||
Knight:
|
||||
armor: iron_helmet, iron_chestplate, iron_leggings, iron_boots
|
||||
items: diamond_sword
|
||||
|
||||
...
|
||||
|
||||
arenas:
|
||||
...
|
||||
waves:
|
||||
...
|
||||
upgrades:
|
||||
Archer: arrow:64
|
||||
Knight:
|
||||
armor: diamond_chestplate
|
||||
items: diamond_sword 16:2
|
||||
Wizard:
|
||||
permissions:
|
||||
- magicspells.cast.forcepush
|
||||
give-all-items: true
|
||||
|
||||
Explanation: Items listed in the ``armor`` node will be considered
|
||||
armor, and (if valid) will replace any item currently in the armor slots
|
||||
of the players. Items in the ``items`` node will be checked if they are
|
||||
weapons or not; if they are weapons, then MobArena will search through
|
||||
the players' inventories for weapons with the same ID, and then replace
|
||||
the first weapon that matches it (automatic upgrades). If no weapon is
|
||||
found, it will default to a generic item, which will just be added to
|
||||
the inventory.
|
||||
|
||||
Boss Waves
|
||||
~~~~~~~~~~
|
||||
|
||||
Boss waves consist of *one monster* with a configurable (but optional)
|
||||
amount of health, and a configurable (but optional) list of special
|
||||
abilities. The health of a boss monster is significantly higher than
|
||||
that of normal monsters, and thus take much longer to kill. The special
|
||||
abilities help increase the difficulty (and fun!) of a boss wave.
|
||||
|
||||
``monster: <monster>`` (required) the boss [[monster types]]. Note that
|
||||
only one monster will spawn.
|
||||
|
||||
``name: <name>`` (optional) the name of the boss. Shows the given name
|
||||
in a name tag above the boss' head.
|
||||
|
||||
``health: <amount>|[verylow|low|medium|high|veryhigh|psycho]``
|
||||
(optional) how much health the boss has. Can be either a flat value,
|
||||
e.g. 40 or 800, or one of the scaling values. Defaults to the scaling
|
||||
value medium. See [[Formulas]] for more info about the scaling values.
|
||||
|
||||
``reward: <item>`` (optional) a reward for getting the killing blow on
|
||||
the boss. This reward will only be given to one player (the killer, if
|
||||
any).
|
||||
|
||||
``drops: <item list>`` (optional) a comma-separated list of items
|
||||
dropped by the boss when killed. The boss will drop exactly the items
|
||||
listed. This could be used to have the boss drop a "key" to advance in
|
||||
the arena, or to gain access to a shed full of weapon chests or
|
||||
something wonderful like that. The item syntax is the same as the one
|
||||
for Supply Waves.
|
||||
|
||||
``potions: <potion list>`` (optional) a comma-separated list of potion
|
||||
effects that will be applied to the boss when it spawns. Use this to
|
||||
slow down or speed up bosses that don't move at quite the speed you
|
||||
want, or perhaps to give a boss the wither effect to limit the amount of
|
||||
time it will stay alive. The potion syntax is
|
||||
``<effect>:<amplifier>:<seconds>``. The amplifier and duration are
|
||||
optional, and will default to 0 (level 1) and pseudo-infinity,
|
||||
respectively. Note that ``slow``, ``slow:0``, and ``slow:0:600`` are
|
||||
identical, except the last one will only last 10 minutes (600 seconds).
|
||||
Check the sample config-file at the bottom for more examples.
|
||||
|
||||
``abilities: <comma-separated list of boss abilities>`` (optional)
|
||||
determines which (if any) boss abilities this boss has. The boss can
|
||||
have several abilities; just separate each ability with a comma (e.g.
|
||||
``arrows, fire-aura, throw-target``). Note that the abilities happen in
|
||||
a cycle every few seconds, so the more abilities, the longer it takes
|
||||
before each ability is used again. Here is an overview of the different
|
||||
abilities bosses can have:
|
||||
|
||||
::
|
||||
|
||||
NAME DESCRIPTION
|
||||
arrows Shoots arrows
|
||||
fireballs Hurls fireballs
|
||||
fire-aura Burns all nearby (5 blocks radius) players
|
||||
lightning-aura Strikes lightning 4 places around itself (3-block radius)
|
||||
living-bomb A random player is set on fire, and explodes after 3 seconds
|
||||
obsidian-bomb Spawns an Obsidian block which explodes after 4 seconds
|
||||
chain-lightning Lightning strikes the target and jumps to a nearby player
|
||||
disorient-target Spins the target around 45-315 degrees
|
||||
disorient-nearby Spins all nearby (5 blocks radius) players
|
||||
disorient-distant Spins all distant (8+ blocks) players
|
||||
root-target Locks the target in place for a couple of seconds
|
||||
warp-to-player Picks a random player in the arena to warp to
|
||||
shuffle-positions Swaps everyone's (including the boss) positions around
|
||||
flood Places a water block on a random player's location
|
||||
throw-target Throws the target backwards (if in distance)
|
||||
throw-nearby Throws all nearby (5 blocks radius) players
|
||||
throw-distant Throws all distant (8+ blocks) players
|
||||
pull-target Pulls the target towards the boss' location
|
||||
pull-nearby Pulls all nearby (5 blocks radius) players towards the boss' location
|
||||
pull-distant Pulls all distant (8+ blocks) players towards the boss' location
|
||||
fetch-target Warps the target to the boss' location
|
||||
fetch-nearby Warps all nearby (5 blocks radius) players to the boss' location
|
||||
fetch-distant Warps all distant (8+ blocks) players to the boss' location
|
||||
|
||||
``ability-announce: [true|false]`` (optional) should boss abilities be
|
||||
announced to arena players? Defaults to true.
|
||||
|
||||
``ability-interval: <seconds>`` (optional) time between each ability.
|
||||
Defaults to 3.
|
||||
|
||||
Sample config-file setup
|
||||
------------------------
|
||||
|
||||
If you want to try a sample setup, here's one that you can use. Simply
|
||||
copy this block of text, and paste it into your own config-file,
|
||||
replacing the waves-section.
|
||||
|
||||
::
|
||||
|
||||
waves:
|
||||
recurrent:
|
||||
def1:
|
||||
type: default
|
||||
priority: 1
|
||||
frequency: 1
|
||||
monsters:
|
||||
zombies: 10
|
||||
skeletons: 4
|
||||
exploding_sheep: 5
|
||||
def2:
|
||||
type: default
|
||||
priority: 2
|
||||
frequency: 1
|
||||
wave: 5
|
||||
monsters:
|
||||
zombies: 10
|
||||
skeletons: 6
|
||||
creepers: 4
|
||||
spec1:
|
||||
type: special
|
||||
priority: 5
|
||||
frequency: 4
|
||||
wave: 4
|
||||
monsters:
|
||||
powered_creepers: 10
|
||||
angry_wolves: 10
|
||||
zombie_pigmen: 10
|
||||
upgrade1:
|
||||
type: upgrade
|
||||
priority: 7
|
||||
frequency: 10
|
||||
wave: 10
|
||||
upgrades:
|
||||
all: potion:8197:2
|
||||
Archer: arrow:64
|
||||
Oddjob: tnt:2, netherrack
|
||||
give-all-items: true
|
||||
single:
|
||||
swarm1:
|
||||
type: swarm
|
||||
wave: 7
|
||||
monster: slimes
|
||||
amount: medium
|
||||
boss1:
|
||||
type: boss
|
||||
wave: 9
|
||||
monster: spider
|
||||
health: medium
|
||||
abilities: fire-aura, disorient-target, fireballs, throw-nearby
|
||||
potions: speed:3:20, wither, increase_damage:1
|
||||
ability-interval: 5
|
||||
boss2:
|
||||
type: boss
|
||||
wave: 13
|
||||
monster: zombie_pigman
|
||||
health: high
|
||||
abilities: root-target, arrows, fetch-distant, fire-aura
|
||||
drops: lever, stone_button
|
||||
upgrade2:
|
||||
type: upgrade
|
||||
wave: 14
|
||||
upgrades:
|
||||
all: potion:8197:2
|
||||
Knight:
|
||||
armor: diamond_helmet
|
||||
items: diamond_sword 16:2;19:1
|
||||
Tank:
|
||||
items: iron_sword 19:3
|
||||
Oddjob:
|
||||
armor: iron_chestplate, iron_leggings
|
||||
Wizard:
|
||||
permissions:
|
||||
- magicspells.cast.ChainLightning
|
||||
give-all-items: true
|
||||
boss3:
|
||||
type: boss
|
||||
wave: 16
|
||||
monster: wolf
|
||||
health: psycho
|
||||
abilities: warp-to-player, fire-aura, throw-nearby, fireballs, fetch-target, arrows
|
||||
potions: slow:1
|
||||
ability-interval: 1
|
||||
reward: diamond_chestplate
|
||||
supply1:
|
||||
type: supply
|
||||
wave: 19
|
||||
monsters:
|
||||
cows: 10
|
||||
pigs: 5
|
||||
drops: grilled_pork, cooked_chicken, cooked_beef, cooked_fish:2
|
||||
boss4:
|
||||
type: boss
|
||||
wave: 20
|
||||
monster: blaze
|
||||
health: low
|
||||
abilities: fire-aura, throw-nearby
|
||||
potions: speed
|
||||
reward: diamond_helmet
|
||||
@@ -1,137 +0,0 @@
|
||||
##############
|
||||
Using MobArena
|
||||
##############
|
||||
|
||||
**On this page:** \* `Overview <#overview>`__ \* `Joining <#joining>`__
|
||||
\* `Getting a list of arenas <#getting-a-list-of-arenas>`__ \* `Picking
|
||||
a class <#the-class-command>`__ \* `Finding out who isn't
|
||||
ready <#finding-out-who-isnt-ready>`__ \* `Leaving <#leaving>`__ \*
|
||||
`Spectating <#spectating>`__ \* `A note on
|
||||
inventories <#a-note-on-inventories>`__
|
||||
|
||||
Overview
|
||||
~~~~~~~~
|
||||
|
||||
This page briefly describes the usage-commands of MobArena. Make sure to
|
||||
check out the [[MobArena Commands]] page for a list of all the commands.
|
||||
Remember that typing ``/ma help`` will get you a list of all available
|
||||
commands in-game, along with a (very) brief description of what the
|
||||
command does.
|
||||
|
||||
The commands covered on this page pertain to the usage-commands only,
|
||||
i.e. the commands that the players will use to interact with MobArena.
|
||||
The most basic commands are:
|
||||
|
||||
- ``/ma join`` - for `joining <#joining>`__ arenas to start playing
|
||||
- ``/ma leave`` - for `leaving <#leaving>`__ lobbies or arenas
|
||||
- ``/ma spec`` - for `spectating <#spectating>`__ arenas in progress
|
||||
- ``/ma arenas`` - for getting a `list of
|
||||
arenas <#getting-a-list-of-arenas>`__
|
||||
|
||||
Additionally, there are a few commands that might prove useful:
|
||||
|
||||
- ``/ma class`` - for `picking classes <#the-class-command>`__ in the
|
||||
lobby instead of punching signs
|
||||
- ``/ma notready`` - for finding out `who isn't ready
|
||||
yet <#finding-out-who-isnt-ready>`__
|
||||
|
||||
Joining
|
||||
~~~~~~~
|
||||
|
||||
To join an arena, use the ``/ma join`` command. If you have more than
|
||||
one arena, you will also need to specify an arena name. Let's say we
|
||||
have arenas ``cave`` and ``ship``. To join the Ship arena, simply type
|
||||
``/ma join ship``.
|
||||
|
||||
Upon joining, you will be taken to the lobby of the given arena. In the
|
||||
lobby, you will have to pick a class, which is traditionally done by
|
||||
punching a sign with a class name on it. You can also `use a
|
||||
command <#the-class-command>`__ directly to manually pick a class if you
|
||||
know its name, or indirectly via buttons powering command blocks, or
|
||||
perhaps something more complex (like NPCs).
|
||||
|
||||
Once you've picked a class, you will need to ready up, which is
|
||||
traditionally done by punching an iron block. However, there is also a
|
||||
per-arena config-file setting that automatically flags you as ready once
|
||||
you've picked a class (check the [[Setting up the config-file]] page).
|
||||
|
||||
Getting a list of arenas
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To get a list of available arenas, you simply type ``/ma arenas``.
|
||||
Arenas that have been set up and are ready for use will be green, and
|
||||
unavailable arenas (disabled or not yet set up) will be gray. Note that
|
||||
you won't see arenas for which you don't have permission, just like you
|
||||
won't be able to actually join an arena for which you don't have
|
||||
permission. Check the [[Permissions]] page for more information.
|
||||
|
||||
The class command
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Normally, you would punch class signs to pick classes, but MobArena also
|
||||
supports picking a class with the ``/ma class`` command. If you want to
|
||||
pick the Knight class, for example, simply type ``/ma class knight``.
|
||||
Forcing manual class selection like this is not recommended, because
|
||||
it's unintuitive and there is no way of listing available classes.
|
||||
Instead, this command is useful if you want to set up command blocks or
|
||||
something more advanced like NPCs wearing the class items and armor, and
|
||||
allowing players to pick the class by interacting with the NPCs.
|
||||
|
||||
Finding out who isn't ready
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Sometimes it's hard to keep track of who hit the iron block and who
|
||||
didn't. To figure out which of the players in the lobby have not yet
|
||||
readied up, you can use the ``/ma notready`` command. This is useful if
|
||||
everyone thinks they've readied up and are waiting for everyone else,
|
||||
but in fact one or more people haven't readied up yet.
|
||||
|
||||
Leaving
|
||||
~~~~~~~
|
||||
|
||||
When you're done playing in the arena, you have to leave it with the
|
||||
``/ma leave`` command (unless the ``spectate-after-death`` setting in
|
||||
the config-file is set to ``false``, in which case the command will be
|
||||
executed for you). You may also leave the lobby of an arena you didn't
|
||||
actually want to join, or if you just don't want to play anymore, and
|
||||
you don't want to wait for death.
|
||||
|
||||
Leaving an arena in progress has no consequences other than missing out
|
||||
on the fun! You'll still be given the rewards you earned up to this
|
||||
point. If you don't want your players to be able to leave arenas in
|
||||
progress, you can revoke the permission on a per-class basis. See the
|
||||
[[Setting up the config-file]] page for more information.
|
||||
|
||||
Spectating
|
||||
~~~~~~~~~~
|
||||
|
||||
If you want to spectate an arena already in progress, use the
|
||||
``/ma spec`` command, just like you would use the ``/ma join`` command.
|
||||
Spectating an arena means you will be taken to the spectator area of the
|
||||
arena so you have a great overlook of the arena.
|
||||
|
||||
Spectators cannot interact with the arena players or the monsters in the
|
||||
arena, nor with each other, so there should be no hooligan fights
|
||||
whatsoever.
|
||||
|
||||
Note that when you die in an arena, you will automatically become a
|
||||
spectator, unless ``spectate-after-death`` is set to ``false``.
|
||||
|
||||
A note on inventories
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Once you have joined an arena, either for playing or for spectating, you
|
||||
are considered as *in the arena*. What this means is that MobArena will
|
||||
hold on to your inventory until you leave. You leave by typing
|
||||
``/ma leave``, either from the lobby or the arena, or after you've died.
|
||||
If the ``spectate-after-death`` option in the config-file is ``false``,
|
||||
you are automatically kicked out of the arena when you die, so in that
|
||||
case, you won't have to do anything.
|
||||
|
||||
Inventories are stored on a per-player basis until they leave. Joining a
|
||||
new arena (or the same arena again) after finishing a session will not
|
||||
cause your inventory to be overwritten, even though it seems like you
|
||||
have no items. When you leave with the ``/ma leave`` command, all of
|
||||
your earned rewards from all sessions since you first joined will be
|
||||
granted. Of course, with ``spectate-after-death`` set to ``false``, you
|
||||
will automatically leave after every session.
|
||||
@@ -1,92 +0,0 @@
|
||||
#############
|
||||
Wave formulas
|
||||
#############
|
||||
|
||||
This page holds an overview of all the formulas used in the MobArena
|
||||
waves system. Customizing the different properties of the waves should
|
||||
be somewhat easier if they can be calculated, so here they all are!
|
||||
|
||||
About notation: Each variable used in the formulas will have its own
|
||||
name. A variable that starts with a ``#`` denotes "number (of)", so
|
||||
``#players`` means "number of players", and ``#wave`` means "wave
|
||||
number". The function ``min(a,b)`` returns the lowest of the values
|
||||
``a`` and ``b``, and ``max(a,b)`` returns the highest.
|
||||
|
||||
Wave growth
|
||||
~~~~~~~~~~~
|
||||
|
||||
The wave growth node ``growth``, used in default waves, denotes how fast
|
||||
monster amounts grow over time. The base is calculated by half of the
|
||||
number of players, but at most 13 (i.e. there is no difference between
|
||||
25 and 50 players). The amounts can be altered further using the
|
||||
``amount-multiplier`` (see the [[wave setup page\|Setting up the
|
||||
waves]]).
|
||||
|
||||
::
|
||||
|
||||
#monsters = base * #wave^exp
|
||||
base = min(#players/2 + 1 , 13)
|
||||
|
||||
The ``exp`` variable is defined by the growth node, and has the
|
||||
following values:
|
||||
|
||||
::
|
||||
|
||||
slow = 0.5
|
||||
medium = 0.65
|
||||
fast = 0.8
|
||||
psycho = 1.2
|
||||
|
||||
Note that with the node value ``old`` (which is the default), the
|
||||
monster count is ``#wave + #players``.
|
||||
|
||||
Swarm Amount
|
||||
~~~~~~~~~~~~
|
||||
|
||||
The swarm amount node ``amount``, used in swarm waves, denotes how many
|
||||
monsters should spawn in the swarm waves. There will always be at least
|
||||
10 monsters due to the max function and the lowest multiplier value
|
||||
being 10, however this can be further customized with the
|
||||
``amount-multiplier`` (see the [[wave setup page\|Setting up the
|
||||
waves]]).
|
||||
|
||||
::
|
||||
|
||||
#monsters = max(1, #players/2) * multiplier
|
||||
|
||||
The ``multiplier`` variable is defined by the amount node, and has the
|
||||
following values:
|
||||
|
||||
::
|
||||
|
||||
low = 10
|
||||
medium = 20
|
||||
high = 30
|
||||
psycho = 60
|
||||
|
||||
Boss Health
|
||||
~~~~~~~~~~~
|
||||
|
||||
The boss health node ``health``, used in boss waves, denotes how much
|
||||
health the boss has. Note that the ``health-multiplier`` node (see the
|
||||
[[wave setup page\|Setting up the waves]]) **does NOT** affect boss
|
||||
waves at all, so these are the only values that can be used. The minimum
|
||||
health a boss can have is 320 health points (~160 hearts), which is with
|
||||
``low`` health and only 1 player fighting. With 10 players and ``high``
|
||||
health, the boss will have 5500 health points (~2750 hearts).
|
||||
|
||||
::
|
||||
|
||||
health = (#players + 1) * 20 * multiplier
|
||||
|
||||
The ``multiplier`` variable is defined by the health node, and has the
|
||||
following values:
|
||||
|
||||
::
|
||||
|
||||
verylow = 4
|
||||
low = 8
|
||||
medium = 15
|
||||
high = 25
|
||||
veryhigh = 40
|
||||
psycho = 60
|
||||
Reference in New Issue
Block a user