The essential plugin suite for Minecraft servers.
Go to file
Johnny Cao 74d96ce624 Fixes #2121 - Allow players to teleport into a location with water if configured (#2520)
# Description of #2520
This is a continuation of #2457, accidentally hit rebase and recommitted a load of commits from the 2.x log into my repo...

I've reverted the code and added the configuration option, modifying the `LocationUtil#HOLLOW_MATERIALS` as necessary when the config is loaded.

New demo: streamable.com/pm50r
```
[16:01:00 INFO]: Server version: 1.13.2-R0.1-SNAPSHOT git-Spigot-3cb9dcb-77ca7ca (MC: 1.13.2)
[16:01:00 INFO]: EssentialsX version: 2.16.1.154
[16:01:00 INFO]: Vault is not installed. Chat and permissions may not work.
```

# Description of #2457
Fixes #2121.

Prior to the addition of this patch, teleporting from another world through commands such as `/spawn` and `/home` would cause players to be teleported to the surface of the water. After this patch, using the same command will correctly teleport them to the original location.

In seeing that the addition of water would cause the `HOLLOW_MATERIALS` set to be identical to the `TRANSPARENT_MATERIALS`, I have removed the latter's usage and simply added water to the former.

I'm not exactly sure if adding water to `HOLLOW_MATERIALS` is the right decision, but it fixes the issue, and I personally don't really see any point in not having water in the list. I imagine some people might use this as a way to drop players on the surface of the water, but they can fix that issue quite easily by actually going to the surface and setting the location there. I also can see that water is not necessarily a "safe" location because players can drown, but I really see no other alternative. 

The only reason it works like normal in the same world is because the safe location method exempts locations in the same world as the teleporting player, and thus this check is never even performed in the first place for those players anyway.

**Demo**
```
[16:22:49 INFO]: CONSOLE issued server command: /ess version
[16:22:49 INFO]: Server version: 1.13.2-R0.1-SNAPSHOT git-Paper-"16db0e6a" (MC: 1.13.2)
[16:22:49 INFO]: EssentialsX version: 2.16.1.9
[16:22:49 INFO]: LuckPerms version: 4.3.73
[16:22:49 INFO]: Vault is not installed. Chat and permissions may not work.
```
https://streamable.com/71072
2019-06-17 11:28:12 +01:00
.github Add FUNDING.yml Patreon link 2019-06-09 13:04:51 +01:00
Essentials Fixes #2121 - Allow players to teleport into a location with water if configured (#2520) 2019-06-17 11:28:12 +01:00
EssentialsAntiBuild Bump version to 2.16.1 2019-03-01 22:45:25 +00:00
EssentialsChat Bump version to 2.16.1 2019-03-01 22:45:25 +00:00
EssentialsGeoIP fix geoip country returning "." if the user is joining from localhost (#2494) @latiku 2019-04-22 09:38:06 +01:00
EssentialsProtect Bump version to 2.16.1 2019-03-01 22:45:25 +00:00
EssentialsSpawn Bump version to 2.16.1 2019-03-01 22:45:25 +00:00
EssentialsXMPP Bump version to 2.16.1 2019-03-01 22:45:25 +00:00
nms Bump version to 2.16.1 2019-03-01 22:45:25 +00:00
scripts OS X compatible buildtools.sh (#2513) @Argetan 2019-04-30 07:55:54 +01:00
.gitignore
.travis.yml Switch Travis to openjdk8 2019-06-16 11:25:25 +01:00
crowdin.yml Add Estonian alias to Crowdin config 2019-04-07 21:08:30 +01:00
LICENSE
pom.xml Update to 1.14.x (#2510) 2019-06-16 10:15:12 +01:00
README.md Bump version to 2.16.1 2019-03-01 22:45:25 +00:00

EssentialsX

Jenkins

Discord

Patreon

This is a fork of Essentials called EssentialsX.

If you are using this, do NOT ask Essentials for support.

The official upstream repository is at https://github.com/Essentials/Essentials.

Why use EssentialsX?

EssentialsX is an unofficial continuation of Essentials, updated to support modern Minecraft and Spigot versions. It provides several performance enhancements and fixes that are currently not available in Essentials and Spigot-Essentials. For more details, see the wiki.

EssentialsX is almost a completely drop-in replacement for Essentials. However, it has different requirements:

  • EssentialsX requires Vault to enable chat prefix/suffixes and group support if you have a supported permissions plugin. We recommend using LuckPerms.

  • If you have an unsupported permissions plugin but still wish to use wildcards, enable use-bukkit-permissions in the configuration. Otherwise, the plugin will fall back to config-based permissions.

  • EssentialsX requires Java 8 or higher. On older versions, the plugin may not work properly.

  • EssentialsX supports Minecraft versions 1.8.8, 1.9.4, 1.10.2, 1.11.2, 1.12.2 and 1.13.2.

Support

Need help with using EssentialsX? Join the MOSS Discord community to ask for help and discuss EssentialsX.

If you need to report a bug or want to suggest a new feature, you can open an issue on GitHub.

Building

EssentialsX builds against the Spigot/CraftBukkit server software for legacy support.

To compile EssentialsX, you first need to run BuildTools. This only needs to be done once. There are two ways to do this:

  • Use the provided script at scripts/buildtools.sh to automatically download and run BuildTools if needed.
  • Download and run BuildTools yourself for versions 1.8 and 1.8.3.

Next, to build EssentialsX with Maven, run the following command:

mvn clean install

Each module's jar can be found in target/ inside each module's directory.

Using EssentialsX in your plugin

Writing a plugin and want to support EssentialsX? We have a Maven repository at https://ci.ender.zone/plugin/repository/everything/, and the EssentialsX artifact is net.ess3:EssentialsX:2.16.1. More information at the wiki.

Contributing

Want to help improve EssentialsX? There are numerous ways you can contribute to the project.

If you'd like to make a financial contribution to the project, you can join our Patreon. If you can't make a donation, don't worry! There's lots of other ways to contribute:

  • Do you run a server? Take a look at our "help wanted" issues, where you can find issues that need extra testing and investigation. You can also join the MOSS Discord community and provide support to others.
  • Do you speak multiple languages? If so, we always welcome pull requests to our language files.
  • If you're a developer, you could look through our "open to PR" issues. We're always happy to receive bug fixes and feature additions as pull requests.