EssentialsX - A maintained fork of Essentials 2.x.
Go to file
triagonal 0a73be2082
Add PrivateMessageSentEvent and fix PrivateMessagePreSendEvent (#3432)
This PR introduces a new private messaging related event `PrivateMessageSentEvent` and fixes a mistake made on my part during the implementation of `PrivateMessagePreSendEvent`.

Recently when attempting to use the pre-send event in order to play a sound to the recipient of a message, I found that the event was not completely adequate for my use case. Between the firing of the pre-send event and the end of the delivery attempt, the message delivery could fail for a number of reasons (e.g. messages toggled off, sender ignored, unreachable recipient) with no straightforward way of determining this using the existing event.

I believe that a second event fired after the message sending attempt has been fully processed will provide a simple method of determining whether or not a message was successfully delivered by including the [`MessageResponse`](60f54ee37d/Essentials/src/com/earth2me/essentials/messaging/IMessageRecipient.java (L84)) in the event.

Additionally, I found that when implementing the pre-send event, I mistakenly passed an incorrect reference for the `sender` meaning that currently there's no clean or reliable way to determine if `sender` is the `Console` or a `User` (`instanceof` doesn't work, which leaves checking by name or using reflection).
2020-07-06 19:34:13 +01:00
.github Remove BuildTools script and update README 2020-06-05 15:22:40 +01:00
Essentials Add PrivateMessageSentEvent and fix PrivateMessagePreSendEvent (#3432) 2020-07-06 19:34:13 +01:00
EssentialsAntiBuild Update bStats Metrics and add wrapper class for new graphs (#3451) 2020-07-05 19:30:01 +01:00
EssentialsChat Update bStats Metrics and add wrapper class for new graphs (#3451) 2020-07-05 19:30:01 +01:00
EssentialsGeoIP Update bStats Metrics and add wrapper class for new graphs (#3451) 2020-07-05 19:30:01 +01:00
EssentialsProtect Update bStats Metrics and add wrapper class for new graphs (#3451) 2020-07-05 19:30:01 +01:00
EssentialsSpawn Update bStats Metrics and add wrapper class for new graphs (#3451) 2020-07-05 19:30:01 +01:00
EssentialsXMPP Update bStats Metrics and add wrapper class for new graphs (#3451) 2020-07-05 19:30:01 +01:00
providers Fix recipe command on Paper (#3404) 2020-07-01 15:19:42 -07:00
.gitignore Remove BuildTools script and update README 2020-06-05 15:22:40 +01:00
crowdin.yml Update Crowdin configuration file 2020-06-27 16:41:40 +01:00
LICENSE Added License info. Essentials is GPLv3 2011-05-13 19:58:30 +00:00
pom.xml Update to 1.16.1 (#3408) 2020-06-27 12:17:35 -07:00
README.md Update to 1.16.1 (#3408) 2020-06-27 12:17:35 -07: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, 1.13.2, 1.14.4, 1.15.2, and 1.16.1.

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

To build EssentialsX, you need JDK 8 or higher and Maven installed on your system. Then, 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

Do you want to integrate with EssentialsX in your plugin? EssentialsX is available on the ender.zone Maven repository at https://ci.ender.zone/plugin/repository/everything/, and the EssentialsX artifact is net.ess3:EssentialsX:2.17.2. 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 contributions to our Crowdin project.
  • 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.