EssentialsX

EssentialsX

2M Downloads

Suggestion/Bug: Expand Interpretation to Allow @e and @e[definition] In Commands

goswald opened this issue ยท 1 comments

commented

Good afternoon!

First of all, thank you for maintaining Essentials 2.x! Any server project I run has Essentials; I wouldn't be able to do it without you guys keeping it alive post-Bukkit. <3

I don't know if this is the plugin working as intended, but I've noticed that some commands that, in Vanilla, can target entities, with Essentials, are expected to only target players.

IE: /kill [text] assumes that [text] is going to be a player. However, in Vanilla Minecraft you can also specify /kill @e and kill all entities, or /kill @e[type=entitytype] and kill all entities of that type.

With EssentialsX managing Minecraft commands, I receive an "Error: Player not found." when I attempt to execute /kill or /tp with @e or @e[type=entitytype]. Normally this isn't a problem, but for command blocks it has proven to be a bit problematic.

I have created a workaround via the configuration's built-in override so that if a command is prefixed with "/minecraft:" - Essentials ignores it. It's working in the meantime; ops utilizing command blocks know to prefix their Minecraft standard commands with /minecraft: if they need to target entities.

Is EssentialsX designed so that /tp and /kill and othersuch commands only execute on players? If so, would it be possible to allow entity support so that a bypass doesn't have to be used?

Thank you in advance for your time!

commented

The way the original Essentials was designed was that commands that have targets generally target IUsers, which are EssentialsX's abstraction over OfflinePlayers from Bukkit. Adding Entity support to some commands, while probably possible, was not the original intention of Essentials' abstraction, and it would create inconsistencies between how each command targets users.

I don't see what EssentialsX commands can provide for entities by allowing its commands to target them that wouldn't be possible using vanilla commands, but if you've got any examples, feel free to respond.