Deprecate the wiki

MD 2022-10-06 16:16:03 +01:00
parent 3bbd705b03
commit 31216b2aa3
19 changed files with 4 additions and 761 deletions

@ -1,18 +0,0 @@
# BannerMeta
BannerMeta lets you create custom flag designs for banners and shields. Each banner can have unlimited patterns and patterns listed first will show underneath patterns listed later.
![BannerMeta example](https://user-images.githubusercontent.com/1917406/63939958-5f891000-ca60-11e9-8025-32808f018757.png)
## Base Color
Base color should be the first thing listed for a banner. It will be displayed as RGB. Base color will show below all patterns.
Note that on 1.13 and above, you don't need to specify a base color for banners, as banners already have a base color.
## Patterns
Patterns will be listed after the base color and will include the type with the color listed after a comma.
[PatternTypes can be found here.](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/banner/PatternType.html)
### Example Syntax
An example banner:
`- BANNER:13 1 basecolor:11685080 SQUARE_TOP_RIGHT:14188339`

@ -1,52 +0,0 @@
# Color Permissions
<!-- alternative title: Colo_u_r Permissions -->
EssentialsX includes permissions that let you control the individual formatting codes players can use in some commands.
This works for the following:
* Sending a PM with `/msg`: `essentials.msg.<suffix>`
* Sending mails with `/mail`: `essentials.mail.<suffix>`
* Setting your own nickname with `/nick`: `essentials.nick.<suffix>`
* Sending chat messages **(requires EssentialsX Chat)**: `essentials.chat.<suffix>`
* Colors on signs **(requires color signs to be enabled)**: `essentials.signs.<suffix>`
Below is a list of valid permissions suffixes. Note that some codes are only available on EssentialsX 2.16.1.169 and
above:
| Suffix | Color codes | EssentialsX version |
|------------------|---------------------------------------------------|---------------------|
| `color` (group) | `&0 &1 &2 &3 &4 &5 &6 &7 &8 &9 &a &b &c &d &e &f` | All versions |
| `format` (group) | `&l &m &n &o &r` | All versions |
| `magic` (group) | `&k` | All versions |
| `black` | `&0` | 2.16.1.169+ |
| `dark_blue` | `&1` | 2.16.1.169+ |
| `dark_green` | `&2` | 2.16.1.169+ |
| `dark_aqua` | `&3` | 2.16.1.169+ |
| `dark_red` | `&4` | 2.16.1.169+ |
| `dark_purple` | `&5` | 2.16.1.169+ |
| `gold` | `&6` | 2.16.1.169+ |
| `gray` | `&7` | 2.16.1.169+ |
| `dark_gray` | `&8` | 2.16.1.169+ |
| `blue` | `&9` | 2.16.1.169+ |
| `green` | `&a` | 2.16.1.169+ |
| `aqua` | `&b` | 2.16.1.169+ |
| `red` | `&c` | 2.16.1.169+ |
| `light_purple` | `&d` | 2.16.1.169+ |
| `yellow` | `&e` | 2.16.1.169+ |
| `white` | `&f` | 2.16.1.169+ |
| `bold` | `&l` | 2.16.1.169+ |
| `strikethrough` | `&m` | 2.16.1.169+ |
| `underline` | `&n` | 2.16.1.169+ |
| `italic` | `&o` | 2.16.1.169+ |
| `reset` | `&r` | 2.16.1.169+ |
The individual permissions take priority over the "group" permissions. For example, if you set `essentials.nick.color`
to `true` then set `essentials.nick.black` to `false`, players will be able to set their nicknames to any color
except black.
## Nicknames
If you want players to be able to change the color of their nickname but not the text itself, set the permission
`essentials.nick.changecolors` to `true`. This will let them use color codes in their nickname, but the text will still
have to match their own username.

@ -1,46 +0,0 @@
**This feature was added in [build 369](https://ci.drtshock.net/job/EssentialsX) ([09acbcd](https://github.com/drtshock/Essentials/commit/09acbcdb05f34e0043116f1866904b0ff0f03ddd)).**
_Requested in [#110](/drtshock/Essentials/issues/110). PR in [#692](/drtshock/Essentials/pull/692)._
This feature introduces the highly demanded ability to apply cooldowns to commands. If you want to limit how often a player can `/feed` or go `/home`, all you have to do is simply add that command to the config:
```yaml
command-cooldowns:
feed: 10 # 10 seconds
home: 70 # 1 minute 10 seconds
```
**Advanced users** are able to apply more control to their command matching by using wildcards. Wildcards are specified using asterisks '*'. For example, to match all commands that include the word `potato`, you would simply wrap the world potato in asterisks:
```yaml
command-cooldowns:
'*potato*': 30
```
**NOTE**: Due to YAML's design, any command starting with * must be wrapped in quotation marks (single or double, ' ")
For **highly technical users** who understand Regex (Regular Expressions), this feature also supports Regex. In order for EssentialsX to begin interpreting regex, the command must start with a caret '^'. Followed by the explicit regex pattern that EssentialsX should match.
```yaml
command-cooldowns:
'^^ban([^ip])?( .*)?': 30 # match any ban command that isn't `banip`.
```
**NOTE**: The leading caret is not part of the regex and is simply removed when parsing the regex. So `'^ban([^ip])?( .*)?'` actually becomes `'ban([^ip])?( .*)?'`.
**NOTE 2**: If a plugin command starts with a caret e.g. `^mycommand`, then the caret must be escaped using a blackslash '\' to prevent EssentialsX from interpreting the command as Regex.
# Persistence
By default, EssentialsX will store all existing cooldowns across server sessions. This means when the server shuts down the player cooldowns will be saved and loaded for the next startup. This is especially useful for cooldowns that last any more than a few minutes.
However, this feature can be disabled, making EssentialsX store cooldowns only until the server shuts down. Resetting all cooldowns when the server starts up.
To disable command cooldown persistence simply apply the following change to your config:
```yaml
command-cooldown-persistence: false
```
**NOTE:** If the `command-cooldown-persistence` is not present in the config then it can be added anywhere in the config, as long as it is not indented.
# Bypass
**This feature was added in build 377**
Users can be set to bypass all command cooldowns by giving them the `essentials.commandcooldowns.bypass` permission.

@ -1,127 +0,0 @@
# Common issues with EssentialsX
## Signs don't work
In your `plugins/Essentials/config.yml` file, you need to uncomment the lines under `enabledSigns` for each type of sign by removing the `#` before it:
```yaml
enabledSigns:
#- color
- balance
#- buy
```
In this example, the `[balance]` sign is enabled but the `[buy]` sign is not.
Note that enabling `color` means that players will be allowed to use color codes in the sign text, but still requires that another sign type is enabled.
## EssentialsX overrides a command from Spigot or another plugin
**Related issues: [#1458](/EssentialsX/Essentials/issues/1458)**
You can create an alias for commands using Bukkit's `commands.yml` file, which should be in your server root.
The example below does the following:
* Overrides `/gc` with [spark](https://github.com/lucko/spark)'s `/profiler` command
* Overrides `/tell` with the [vanilla `/tell`](https://minecraft.gamepedia.com/Commands/tell) command
* Forces `/msg` to run EssentialsX's `/msg` command
```yaml
aliases:
gc:
- "spark:profiler $1-"
tell:
- "minecraft:tell $1-"
msg:
- "essentials:msg $1-"
```
See the [Bukkit wiki page](https://bukkit.gamepedia.com/Commands.yml#aliases) for more information.
## Another plugin is overriding an EssentialsX command
Typically, if EssentialsX finds another plugin providing a command with the same name as one of EssentialsX's own commands, it will try and hand over that command to the other plugin. However, you can force EssentialsX to handle commands that are also provided by another plugin using the [`overridden-commands` section](https://github.com/EssentialsX/Essentials/blob/2.x/Essentials/src/config.yml#L138) of your `config.yml`. This will tell EssentialsX not to "give up" the command to the other plugin.
For example, to force EssentialsX to handle the `/msg` command instead of passing it over to another plugin, your section should look like this:
```yaml
overridden-commands:
- msg
```
Note that in some cases, you may also need to alias the command to the `essentials:` version of the command. [See above](https://github.com/EssentialsX/Essentials/wiki/Common-Issues#essentialsx-overrides-a-command-from-spigot-or-another-plugin) for details. In addition, if you have a plugin running on your proxy ([BungeeCord](https://www.spigotmc.org/wiki/bungeecord/)/[Waterfall](https://github.com/PaperMC/Waterfall) or [Velocity](https://velocitypowered.com)), the command may not even reach the server. EssentialsX can't do anything about this - you need to fix this on the proxy.
## Tab completion doesn't work for commands that override an EssentialsX command
**Related issues: [#1384](/EssentialsX/Essentials/issues/1384)**
You can alias the command to the version from the other plugin, which should fix tab complete behaviour - see above.
## I need help with GroupManager! <br /> Where's the updated GroupManager?
EssentialsX does not support GroupManager as it is an outdated and broken plugin. We recommend you switch to [LuckPerms](https://github.com/lucko/LuckPerms) as it is still an actively maintained and regularly updated plugin.
## How do I build EssentialsX?
Once you've ensured you have an up-to-date JDK and Maven installed, you need to build a few different Spigot versions using [Spigot BuildTools](https://www.spigotmc.org/wiki/buildtools/):
```bash
java -jar BuildTools.jar --rev 1.8
java -jar BuildTools.jar --rev 1.8.3
java -jar BuildTools.jar --rev 1.9
java -jar BuildTools.jar --rev 1.9.4
```
This is required to allow EssentialsX's compatibility providers can build against older versions of the Spigot server, and only needs to be done once.
Next, [download or clone EssentialsX](https://github.com/EssentialsX/Essentials), open a terminal in the root of the EssentialsX source and run:
```bash
mvn clean install
```
If this completes with no errors, you will be able to find each plugin jar in the `target` subdirectory of the respective plugin's directory - `Essentials/target/` will contain the EssentialsX jar, `EssentialsSpawn/target/` will contain the EssentialsXSpawn jar and so on.
## How do I add EssentialsX as a dependency?
### Maven
Under `repositories` in your `pom.xml`, you need to add a new `repository` for the EssentialsX CI server:
```xml
<repositories>
...
<repository>
<id>ess-repo</id>
<url>https://ci.ender.zone/plugin/repository/everything/</url>
</repository>
<repository>
<id>paper-repo</id>
<url>https://papermc.io/repo/repository/maven-public/</url>
</repository>
</repositories>
```
Next, add EssentialsX as a `dependency` under `dependencies`:
```xml
<dependencies>
...
<dependency>
<groupId>net.ess3</groupId>
<artifactId>EssentialsX</artifactId>
<version>2.17.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
```
Make sure the dependency is `provided` - you don't want to include the whole of EssentialsX inside your plugin.
You should now be able to build against EssentialsX's API in your IDE - you may need to reimport your project for this to work.
### Gradle
First, add the repository to your `build.gradle`:
```groovy
repositories {
maven {
name "essentialsx"
url "https://ci.ender.zone/plugin/repository/everything/"
}
maven {
name "papermc"
url "https://papermc.io/repo/repository/maven-public/"
}
}
```
Next, add the dependency as a `compileOnly` dependency:
```groovy
dependencies {
...
compileOnly 'net.ess3:EssentialsX:2.17.2'
}
```
You should now be able to build against EssentialsX's API in your IDE.

@ -1,72 +0,0 @@
# EssentialsX GeoIP
EssentialsX GeoIP integrates geographical IP lookup features into EssentialsX, allowing you to determine approximately where your players come from.
<b-message>
This product includes GeoLite2 data created by MaxMind, available from [https://www.maxmind.com](https://www.maxmind.com).
</b-message>
<b-message type="is-info">
**Note:** as of December 30th 2019, MaxMind now requires users to sign up and create a key in order to access the GeoLite2 database used by EssentialsX.
You can read more about the reason behind these changes on the [MaxMind blog](https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/).
This affects *all* versions of EssentialsX, not just new versions. To restore your setup, you'll need to update the module and follow the steps below, even if you were using GeoIP prior to this date.
</b-message>
## Setting up the plugin
First, you'll need to register for access to the GeoLite2 database, which EssentialsX downloads and uses to perform IP lookups.
Go to the [MaxMind website](https://www.maxmind.com/en/geolite2/signup) and fill in your details to sign up for access to the GeoLite2 database:
![An example of a filled-in signup form. Note that providing your phone number is optional.](./images/geoip-step1.png)
You'll need to agree to the [GeoLite2 EULA](#legal-notices) in order to use the database.
Click **Continue**, then once you've received your email from MaxMind, set up a password using the link in the email, and log into your MaxMind account.
Once you're logged in, scroll down and click **My License Key** on the left-hand side:
!["My License Key" is under Security on the left-hand sidebar.](./images/geoip-step2.png)
Next, click **Generate new license key**:
![The "Generate new license key" button is below the empty table.](./images/geoip-step3.png)
Type in a name like `EssentialsX key` as the description and click **No** in the box below, then click **Confirm**:
![The description should be filled in with something to identify the key, and you should check "No" next to the GeoIP Update text.](./images/geoip-step4.png)
You should now receive a **license key**. Copy this down somewhere safe, as you won't be able to see the original key again later on.
![Copy down the license key and keep it somewhere safe.](./images/geoip-step5.png)
Next, you'll need to download and install the EssentialsXGeoIP jar - you can see how to do this [here](Installing-EssentialsX).
Start and stop your server, then open `plugins/EssentialsGeoIP/config.yml` in a text editor.
Copy the license key from before into the `license-key` setting, save the file and then restart your server.
Once you start the server up, the plugin will download the database using your license key and will keep it up-to-date every 30 days.
## Using the plugin
EssentialsX GeoIP provides the permission `essentials.geoip.show`. With this permission, staff will be able to:
- See a player's approximate location when they log in
- See a player's approximate location when you run `/whois <player>`
Giving a player the permission `essentials.geoip.hide` will prevent their location showing up in either of these situations.
## Legal notices
<b-message type="is-error">
To use EssentialsX GeoIP, you need to agree to the [MaxMind GeoLite2 EULA](https://www.maxmind.com/en/geolite2/eula). As a result:
- **You must not attempt to use EssentialsX GeoIP to determine the exact location of players.** IP lookups using GeoLite2 are approximate, and they will not give you the precise location of a player.
- **You must allow EssentialsX GeoIP to update the database every 30 days.** You should avoid using one-time tokens to download the database or keeping old versions of the database around.
Not following these may break the MaxMind EULA and possibly also break state, federal or international privacy laws. **EssentialsX is not responsible if you fail to follow these guidelines.**
</b-message>

13
Help.md

@ -1,13 +0,0 @@
# Support
Need help with EssentialsX? There are several ways you can get support from the community. Be sure to provide details as needed - your startup log, the output of `/ess version` and your `config.yml` may all be useful in solving your issue
## MOSS Discord server
**MOSS** (*Minecraft Open Source Software*) is our server on Discord with support channels for several open source plugins, including EssentialsX. You can get help from members of the community, as well as assisting others with issues. Click [here](https://discord.gg/casfFyh) to join.
<!-- You can visit the MOSS website [here](https://thisisnottheminecraftosswebsite.com). -->
## GitHub issue tracker
We also accept support tickets and bug reports on [GitHub issues](https://github.com/EssentialsX/Essentials/issues). If you think you've found a bug or if you've got an issue that's too complex to solve through Discord, you can report it on GitHub and we'll take a look at it.

28
Home.md

@ -1,27 +1,3 @@
# EssentialsX wiki!
# The EssentialsX wiki has moved.
EssentialsX is the essential plugin for Spigot servers, providing core features for servers of any size and scale. These features include:
* **Player-made homes**
* Server **warps** and **kits**, either server-wide or per-world
* Player-to-player **private messages, teleports and teleport requests**
* Custom player **nicknames**
* Various moderation tools including **kicks, temporary bans, mutes and jails**
* Built-in economy features including **sign shops, command costs and full Vault support**
In addition, EssentialsX's optional modules provide further integrated features like chat formatting, world protection, GeoIP lookup and more - see the [Module Breakdown](Module-Breakdown) for more information.
## Pages
* [Banner Metadata](BannerMeta)
* [Command Cooldowns](Command-Cooldowns)
* [Color Permissions](Color-Permissions)
* [Commands list](https://essinfo.xeya.me/commands.html) (community-maintained)
* [Permissions list](https://essinfo.xeya.me/permissions.html) (community-maintained)
**Note:** When updating EssentialsX, you need to update *all* the modules to the same version to prevent version mismatch errors. In addition, you may want to update your config file - the latest config file can always be found [here](https://github.com/EssentialsX/Essentials/blob/2.x/Essentials/src/config.yml).
## Updating from Essentials 2
EssentialsX is a fork of the original [Essentials project](https://github.com/essentials/Essentials), which was discontinued in 2014. EssentialsX adds several new features over the original Essentials - [the Improvements page](Improvements) and [EssentialsX changelogs](https://github.com/EssentialsX/Essentials/releases) for more information.
To upgrade from Essentials 2.14.x or earlier, stop your server, delete the old Essentials jars and replace them with the equivalent EssentialsX jars. We recommend renaming your `config.yml` file to take advantage of new settings added by EssentialsX, and taking a full backup of your `plugins/Essentials/` folder. Once you restart your server, EssentialsX will create a new `config.yml` and update old user data to the new format.
To download EssentialsX and find out how to set it up, visit https://essentialsx.net.

@ -1,197 +0,0 @@
EssentialsX is a continuation of the origin Essentials plugin. Essentials was discontinued around 2014, and EssentialsX contains notable improvements over the original Essentials.
## Highlights
* Actively maintained and updated for 1.8.8 all the way up to the latest Spigot and Minecraft versions.
* Supports new Minecraft content including new items, enchantments, mobs and trees.
* Supports [Essentials signs](https://wiki.mc-ess.net/wiki/Sign_Tutorial) on all Minecraft versions.
* Supports [Banner Metadata](BannerMeta) and [Command Cooldowns](Command-Cooldowns).
* Configuration option to hide the `no new mail` message on join.
* Allows commands in kits with a `{player}` placeholder for the player's name.
* Supports mob spawners on recent versions.
- On 1.8-1.12, you can use spawner signs and commands such as `/i mob_spawner:51`, and the spawners won't be pigs when placed.
- On 1.13+, you can use `/i blazespawner` to spawn in spawners.
* Includes a new, more flexible item database for 1.13 and above.
* Supports giving spawner eggs with entity ID values and potions with damage values in 1.9-1.12.
* Fixes sending and receiving money with the Essentials economy.
* Uses UUID-backed Vault for permissions group and prefix/suffix lookups.
- Spigot-Essentials implements UUID lookups for zPermissions, but not other permissions plugins.
- EssentialsX prioritizes Vault, so all queries using the Vault handler should be much faster as they don't need a name-to-UUID lookup.
* `/tppos` can now optionally accept a world name.
* Adds a `/msgtoggle` command to allow people to ignore all private messages.
* Separate permissions for bulk sell and hand sell: `essentials.sell.hand` and `essentials.sell.bulk` respectively
* Adds a permission for exemption from SocialSpy: `essentials.chat.spy.exempt`
* Adds configuration option for the milk bucket "easter egg", which (really shouldn't, but does) allow players to mess with other people's horses: `milk-bucket-easter-egg`
* Adds configuration option for the "Set fly mode enabled..." message on join: `send-fly-enable-on-join`
## New features
### Per-gamemode permissions
Permissions have been added for each gamemode with the EssentialsX `/gamemode` command, meaning that if desired, players may run `/gma` and `/gms`, but not `/gmc` or `/gmsp`. You need to give the player `essentials.gamemode` to use the /gm command, then whichever gamemodes you want them to be able to change to:
* `essentials.gamemode.creative`
* `essentials.gamemode.survival`
* `essentials.gamemode.adventure`
* `essentials.gamemode.spectator`
* `essentials.gamemode.all`
**Note**: `essentials.gamemode` is still required to execute the /gamemode (and its aliases) command.
### Kits changes
Kits have been moved from the main config to `kits.yml`. This means that kits can be created from in-game and automatically added to your server without needing to manually edit the config, while also retaining all the comments in `config.yml`.
In addition, commands are now supported in kits - simply add a line to your kit as follows:
```yaml
kits:
mykit:
delay: 1000
items:
- 272 1
- /give {player} apple 1
```
You can also include `{player}`, which will be substituted for the player's name.
#### `/showkit`
Command: `/showkit <kitname>`
Permission: `essentials.showkit`
Shows a list of kit contents straight from config file.
![showkit](https://i.imgur.com/d4Ff8vN.png)
#### `/createkit`
Command: `/createkit <kitname> <delay>`
Permission: `essentials.createkit`
If `pastebin-createkit` is set to false, creates a kit from your inventory and puts it in the `kits.yml` file.
If `pastebin-createkit` is set to true, creates a kit based on your inventory and returns a link to the file to add to your `kits.yml`.
![createkit](https://i.imgur.com/nXMlNGP.png)
### Forcefully disable teleportation safety
Upstream Essentials only has two values for the `teleport-safety` option:
* Convert locations to safe teleports (results in plenty of exploits); or
* Deny the teleport entirely.
EssentialsX adds a `force-disable-teleport-safety` option (defaulting to false), that when combined with `teleport-safety: true`, disables conversion to safe locations and teleports the user to their exact location.
**Note:** To disable cross-world teleportation safety, switch to Paper and set `disable-teleportation-suffocation-check` to true in paper.yml.
### Spawner placement fix
If your placed spawners are still pig spawners, assign `essentials.spawnerconvert.*` to your default group.
### Controlled Private Messaging
The new config option `last-message-reply-recipient` lets you change how `/reply` works. If set to `true`, your reply recipient will be **whoever you messaged** last and *not* **whoever messaged you** last. If you don't have a reply recipient, whoever messaged you last will be your reply recipient.
Here's a formatted scenario of the new last-message-reply-recipient feature:
> **SupaHam: `/msg Kakifrucht Hi`**
> _SupaHam -> Kakifrucht: Hi_
> **Kakifrucht: `/r Hi`**
> _Kakifrucht -> SupaHam: Hi_
> **EvilOlaf: `/msg Kakifrucht Hi`**
> _EvilOlaf -> Kakifrucht: Hi_
> **Kakifrucht: `/r Hi back to you, SupaHam!`**
> _Kakifrucht -> SupaHam: Hi back to you, SupaHam!_
If this feature is enabled, EssentialsX will also use the `last-message-reply-recipient-timeout` setting. This setting allows you to control how long in seconds before the player's reply recipient is reset. After this duration, when a player receives a message, their replies will start going to the last person who sent them a message.
### `/seen` by UUID
Typing `/seen SupaHam` and `/seen 5552e21d-de79-40bc-89da-62ee63244fb2` are now both valid methods of checking when a player was last seen.
### Per-world `/time` setting permission
Prior to this build, players with the permissions `essentials.time` and `essentials.time.set` were able to set the time in any world, regardless of any world permissions set in permission plugins. If `world-time-permissions` is set to `true` in the config, users will need a specific permission to set the time in each world - see the table below. This feature is disabled by default.
#### Permissions
| Permission | Description |
|---------------------------------|-------------|
| essentials.time.world.`<world>` | Permits the user to set the time in `<world>`. `<world>` is the world name with spaces replaced with _. e.g. My World becomes, my_world. |
| essentials.time.world.all | Permits the user to set time of all worlds. This will override `essentials.time.world.<world>`. |
### AFK Player List name
This build introduces the `afk-list-name` config property which is used to control how AFK players appear in the player list.
The property has two placeholders:
- `{USERNAME}`: The player's name
- `{PLAYER}`: The player's display name.
Here's an example of "[AFK] _SupaHam_":
```yaml
afk-list-name: '&7[AFK] &o{USERNAME}'
```
### Nickname color permissions
PR #198 introduced the ability to limit /nick to only allow color changes, ensuring players could still be identified by their original Minecraft name. The feature introduced a new permission node called `essentials.nick.changecolors`. When a player has the preceding permission, they are only allowed to add colours to their names. Where if the player was called SupaHam, he could only be able to use `/nick &5SupaHam` but not `/nick &5TheSupaHam`, where the latter is prefixing the name with 'The'.
However, this feature also introduced the `essentials.nick.changecolors.bypass` permission node. Where if a player has the preceeding permission they are allowed to bypass the check and thus be able to change the characters of their name. This was originally created to ensure convenience for Server Operators without breaking functionality when they updated EssentialsX.
**Note**: This permission requires the `essentials.nick.color` permission in order to use colors in the nickname to begin with.
### Teleport to spawn when joining
**This feature was added in [build 361](https://ci.ender.zone/job/EssentialsX) ([b673630](https://github.com/drtshock/Essentials/commit/b673630)).**
Requested in #345. Administrators can now specify whether joining players are to be teleported to spawn using the `spawn-on-join` option found in the `config.yml` file.
`spawn-on-join` accepts several types of values:
1. `true`/`"*"` - **all players** will be teleported to spawn when joining.
2. `false` - **no players** will be teleported to spawn when joining
3. String - The value is treated as a group name. If a player is in the group, they will be teleported to spawn when joining.
4. List of Strings - The value is treated as a list of group names. If a player is in *any* of these groups, they will be teleported to spawn when joining.
When `spawn-on-join` is `true`, all players will be teleported to their group spawn point. If no group spawn point has been set, the default spawn point set with `/setspawn` will be used instead.
If admins wish to exempt certain players from this feature when `spawn-on-join` is `true`, they can give them the `essentials.spawn-on-join.exempt` permission and they will log in where they left off, assuming no other plugin is interfering.
### AFK message
_Requested in [#590](/drtshock/Essentials/issues/590); PR in [#664](/drtshock/Essentials/pull/664)._
Players can set their AFK message when using the `/afk` command to notify others of their situation. When a player sends a message with `/msg` to an AFK player, they will see the AFK player's message.
By default, when a player sets their AFK status, the message will not be broadcast to the whole server. However, this can be changed in the [locale file](Locale) by adding `{1}` to the `userIsAwayWithMessage` message, where `{1}` will be replaced by the player's AFK message.
To set your AFK message, simply type `/afk <message...>`. For example: `/afk I'm walking my dog`.
In order to use this feature a player must have the `essentials.afk.message` permission. However, if a player is muted, they will not be able to supply a message as it can be used to exploit their punishment.
### Pay toggle
_Requested in [#413](/drtshock/Essentials/issues/413); added in [2493c65](https://github.com/drtshock/Essentials/commit/2493c65)._
Players have the ability to disable any and all payment via the `/paytoggle` command. This can be used to combat players using `/pay` as a means of spam towards other players, like celebrities on your server.
`paytoggle` also has the following aliases: `epaytoggle`, `payoff`, `epayoff`, `payon`, `epayon`
`payoff` will always disable payments to prevent errors. On the contrary, `payon` will always enable payments.
### Command confirmations for `/pay` and `/clearinventory`
_Requested in [#1032](/drtshock/Essentials/issues/1032); added in [5f83766](https://github.com/drtshock/Essentials/commit/5f83766)._
You can now specify whether players are prompted to confirm `/clearinventory` and `/pay` commands before they are executed using the `default-enabled-confirm-commands` section of the config.
In addition, players can turn confirmations on or off for themselves with `/clearconfirm` and `/payconfirm` respectively.
### Teleport to exact coordinates
This feature was implemented in ([0a563b9](https://github.com/drtshock/Essentials/commit/0a563b9)).
This feature introduces the `teleport-to-center` configuration feature. When set to `true` (default), all teleportations are centered to the block; technically, setting the x and z coordinate decimals to .5 and .5. When `teleport-to-center` is set to `false`, all teleports are performed to the exact location as given.
### Mail chat formatting
_Requested in [#1560](/drtshock/Essentials/issues/1560); added in [665229b](https://github.com/drtshock/Essentials/commit/665229b)._
This feature introduces the ability to format `/mail` messages using `&` formatting codes - [click here](Color-Permissions) for more information.
### Helmet slot hat
_Added in [7958cd0](https://github.com/EssentialsX/Essentials/commit/7958cd0b880205edaeaf34420bafde8d5cc1f7ed)._
If `allow-direct-hat` is enabled in the `config.yml`, then players with the permission `essentials.hat` can click on their helmet slot to place any block on their head, not just helmets.

@ -1,15 +0,0 @@
# Installing EssentialsX
First of all, make sure you're running a supported Minecraft server platform. We recommend using [Paper](https://papermc.io), especially for 1.13+ as it contains many performance improvements over Spigot.
You can download EssentialsX either from [SpigotMC](https://www.spigotmc.org/resources/essentialsx.9089/) for stable releases, or from the [downloads page](https://essentialsx.cf/downloads.html) for development builds with the latest features and bug fixes.
EssentialsX is split up into several separate plugins. The only jar that is necessary for EssentialsX to work is the main `EssentialsX` jar, which contains most of the core features most servers will need. The other modules are optional - see the [Module Breakdown](Module-Breakdown) page for more information on what each module does.
Once you've decided which EssentialsX modules you need, copy the required `.jar` files into the `plugins/` directory (if you downloaded from SpigotMC, you'll need to unzip the downloaded file first).
If you don't already have a permissions plugin, we recommend that you install [LuckPerms](https://luckperms.github.io) to control ranks, permissions, prefixes and suffixes for your players. This is optional but recommended.
You'll also need to install [Vault](https://www.spigotmc.org/resources/vault.34315/) to allow EssentialsX to talk to permissions plugins; without it, prefixes, suffixes and group-related features won't work.
Once you've installed all the plugins you need, restart your server. EssentialsX will create configuration files (and upgrade old Essentials data if needed) when it starts up.

107
Locale.md

@ -1,107 +0,0 @@
# Translations
EssentialsX stores all its messages as templates in the messages file, and comes with support for [many languages already built-in](#Supported-languages). These files can be easily replaced or extended to customize your server by placing them in the `plugins/Essentials/` folder.
## Switching language
You can tell EssentialsX which language you want it to use by changing the `locale` setting in `config.yml`:
```yaml
# Set the locale for all messages.
# ...
locale: de
```
Remember that you need to **uncomment** the `locale: ` line by **removing the `#` in front of it**. If the `#` is present, EssentialsX will try to use the language your system is set to.
Below is a list of languages that EssentialsX supports:
## Supported languages
- **Standard (US) English**: `en`
- **UK**: `en_GB`
- **Czech**: `cs`
- **Danish**: `da`
- **German**: `de`
- **Spanish**: `es`
- **Estonian**: `et`
- **Finnish**: `fi`
- **French**: `fr`
- **Hungarian**: `hu`
- **Italian**: `it`
- **Korean**: `ko`
- **Lithuanian**: `lt`
- **Dutch**: `nl`
- **Polish**: `pl`
- **Portuguese**: `pt`
- Brazil: `pt_BR`
- **Romanian**: `ro`
- **Russian**: `ru`
- **Swedish**: `sv`
- **Turkish** `tr`
- Chinese:
- `zh` for **modern Chinese**,
- `zh_HK` for **Hong Kong**, and
- `zh_TW` for **traditional Chinese**
## Changing locale
EssentialsX bundles several messages files in different languages inside the jar, so you can get a copy of your desired messages file by extracting it from the main EssentialsX jar. Simply take the messages file you want to change, place it in the `plugins/Essentials/` folder and start editing. Remember that the file is updated quite regularly; you might want to keep a backup of the file and use a diff tool to allow easy updates.
If you decide you can improve the existing translation of EssentialsX, or want to submit your translation for bundling, feel free to submit your altered locale file back to EssentialsX. EssentialsX often changes and improves, and it's quite easy for language files to be left behind when the developers don't use the language. You can submit your improved locale file over on our [Crowdin page](https://crowdin.com/project/essentialsx-official).
## Customising messages
Since all of the plugins' messages are defined in the messages file, you can fully customise the look and feel of your server by changing the text and colour scheme for all EssentialsX commands.
Simply place your edited locale file (with appropriate locale suffix) in the `plugins/Essentials` folder and make sure the locale setting in the config file matches (`locale: en` -> `messages_en.properties`), then restart the server.
If you are having trouble, [try this tutorial video](https://www.youtube.com/watch?v=9Uan2oJ9zK8). Note that this video is for the original Essentials plugin, not EssentialsX.
You may need to update the file on occasion to deal with changes in EssentialsX such as parameter changes or changes to the actual syntax of the messages. This can be done with a diff tool like [diffuse](http://diffuse.sourceforge.net/screenshots.html), which highlights changes between two text files.
## Minor Changes
When EssentialsX looks for a message, if it is missing from your version, it will instead use the **built-in version**.
This means that if you only want to change a few messages instead of the whole translation, you can do this by making a copy of the locale file you're using in `plugins/Essentials/` and deleting all messages in the file, other than the ones you want to change. This means you don't have to worry about keeping your messages file up to date with every EssentialsX update.
When editing only a few keys, the process should look something like [this (click to open image)](http://wiki.ess3.net/w/images/0/0c/Locale.PNG).
## Colours
If you decide to edit the locale files with a standard text editor, you may notice lots of text like '\u00a7'. These are Unicode character escapes, which allow you to represent symbols and letters which do not exist in ASCII within an ASCII file. The most common of these you will see is '\u00a7' which represents the **section symbol** (&sect;), used in Minecraft to make colour codes. Other languages such as those that use their own alphabets or use non-standard characters will also need to use these codes. Many Java IDEs will do the conversion to and from Unicode automatically, or you can use a tool to manually convert them.
## Example
Let's say you simply want to change the way currency is output so that the currency symbol comes AFTER the balance:
- Be sure to read the information above regarding custom locales/messages.
- Locate the line "currency={0}{1}"
- Switch the numbers around, it should now read "currency={1}{0}". {1} is the amount, {0} is the currency symbol. You can have spaces here too, if you want.
- Save the file and restart the server or issue /ess reload.
## Disabling Messages
Most user messages can be disabled or hidden simply by setting the message string to blank, for example:
```properties
noNewMail=
```
## Contributing
If you wish to contribute translations, you can do so using [Crowdin](https://crowdin.com/project/essentialsx-official).
## Other files
### plugin.yml
Aside from the messages file, there are a few other locations or settings you may want to change. The EssentialsX help system automatically reads each plugin's `plugin.yml`, including its own, and uses these files to display the syntax and command descriptions. To have a complete in-game translation, you may want to update these files to your native language.
### Config file
There are a number of settings in EssentialsX which can be altered by editing `plugins/Essentials/config.yml`, such as the currency format. These are independent of the `locale` setting, and can be changed without editing the jar file.
### Text commands
EssentialsX's text commands like `/motd` and `/rules` can be edited completely separately from the messages files and the config. Simply run the command in-game once, then find the corresponding text file inside `plugins/Essentials` to edit it.

@ -1,47 +0,0 @@
# Modules
## Core
The core EssentialsX jar contains many of the core features for most servers. This includes most commands as well as signs, kits and the economy. **You need this jar for all the other modules to work.**
## EssentialsX AntiBuild
**EssentialsX AntiBuild** adds permissions to your server that gives you fine control over which players can build, interact with blocks or craft on your server. You can control individual items and blocks for specific groups or users, or simply allow or deny entire groups from building at all using build flags. It also includes an alert system for when players use certain items. For more information, see the [AntiBuild wiki page](http://wiki.mc-ess.net/wiki/AntiBuild) (item IDs have been removed in 1.13+).
Note that AntiBuild doesn't include any kind of region protection; to restrict building in specific regions we recommend installing [WorldGuard](https://dev.bukkit.org/projects/worldguard).
*We recommend you use LuckPerms with AntiBuild to make the most of its features.*
## EssentialsX Chat
**EssentialsX Chat** includes many of EssentialsX's chat features. It allows you to customise chat formatting on your server by adding prefixes, suffixes and colours in chat, as well as setting different formats for different groups.
*You need Vault and LuckPerms to give players prefixes and suffixes and to detect groups.*
## EssentialsX GeoIP
**EssentialsX GeoIP** displays an approximate lookup of where your players come from based on looking up their IP in a geographical database. This lookup can be seen by admins either when players log in or in `/whois`.
## EssentialsX Protect
**EssentialsX Protect** allows you to control some simple settings for your worlds, like preventing creepers from damaging buildings, disabling fire spread and blocking certain types of mob spawns.
Note that Protect doesn't include any kind of region protection; to protect specific regions we recommend installing [WorldGuard](https://dev.bukkit.org/projects/worldguard).
## EssentialsX Spawn
**EssentialsX Spawn** lets you control where players spawn both when they first join the server and when they die. You can use the in-game `/setspawn` command to set a spawn location for everyone on your server as well as for specific groups.
## EssentialsX XMPP
**EssentialsX XMPP** acts as a bridge between Jabber/XMPP chat networks and your server. This allows players to chat between XMPP networks and your server, and can also allow server admins to monitor the console and server errors remotely. For more information, see the [Essentials XMPP guide](https://wiki.mc-ess.net/wiki/XMPP).
*If you don't know what XMPP is, you don't need this!*
<!--
**EssentialsX Link** (coming soon) acts as a bridge between chat services such as Discord and your Minecraft server. This allows players to chat between Discord and your server, as well as letting players link their Discord and Minecraft accounts for special ranks.
(also hi thanks for looking at the raw page o/)
**EssentialsX Potato** integrates your Minecraft server with the well-known culinary open source project [Potato](https://github.com/drtshock/Potato). This ensures you always have the finest high-quality potatos ready to go!
-->

@ -1,19 +1,3 @@
[![**EssentialsX Wiki**](https://camo.githubusercontent.com/9ad178e5cf76a372d6aaee8bbdf13485fbc1d51b/68747470733a2f2f692e696d6775722e636f6d2f435034535a70422e706e67)](https://github.com/EssentialsX/Essentials/wiki)
# The EssentialsX wiki has moved.
## Getting started
* [[Installing EssentialsX]]
* [Commands](https://essinfo.xeya.me/commands.php) and [Permissions](https://essinfo.xeya.me/permissions.php)
## Features
* [[Improvements over Essentials|Improvements]]
* [[Banner Metadata|BannerMeta]]
* [[Command Cooldowns]]
* [[Support|Help]]
## Support
* [[Frequently Asked Questions]]
* [Issue Tracker](https://github.com/EssentialsX/Essentials/issues)
* [Discord](https://discord.gg/F7gexAQ) - [[Rules|Discord-Rules]]
To download EssentialsX and find out how to set it up, visit https://essentialsx.net.

@ -1,4 +0,0 @@
[![Spigot Downloads](https://img.shields.io/badge/dynamic/json.svg?url=https://api.spiget.org/v2/resources/9089&label=downloads&query=$.downloads&colorB=ee8a18&style=flat-square&maxAge=3600)](https://www.spigotmc.org/resources/essentialsx.9089/)
[![Release 2.17.2](https://img.shields.io/badge/release-2.17.2-E93B38.svg?style=flat-square&maxAge=3600)](https://github.com/EssentialsX/Essentials/releases/latest)
[![Latest Build](https://img.shields.io/badge/dynamic/json.svg?url=https://ci.ender.zone/job/EssentialsX/lastSuccessfulBuild/api/json&label=build&query=$.id&colorB=green&prefix=b&style=flat-square&maxAge=3600)](https://essentialsx.github.io/)
[![Discord](https://img.shields.io/discord/390942438061113344.svg?style=flat-square&maxAge=3600&colorB=7289DA)](https://discord.gg/h8CnPSw)

@ -1,19 +0,0 @@
[![**EssentialsX Wiki**](https://camo.githubusercontent.com/9ad178e5cf76a372d6aaee8bbdf13485fbc1d51b/68747470733a2f2f692e696d6775722e636f6d2f435034535a70422e706e67)](https://github.com/EssentialsX/Essentials/wiki)
## Getting started
* [Download EssentialsX](https://essentialsx.net/downloads.html)
* [Commands](https://essinfo.xeya.me/commands.html)
* [Permissions](https://essinfo.xeya.me/permissions.html)
## Features
* [Improvements over Essentials](Improvements)
* [Banner Metadata](BannerMeta)
* [Command Cooldowns](Command-Cooldowns)
* [Color Permissions](Color-Permissions)
## Support
* [Frequently Asked Questions](Common-Issues)
* [Getting Support](Help)
---
[![**Downloads**](https://camo.githubusercontent.com/9aff2864d80daf2dac77bdbf5d1ea985381e180e/68747470733a2f2f692e696d6775722e636f6d2f4d4d6330504a592e706e67)](https://ci.ender.zone/job/EssentialsX)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB