Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/locate command from worldguard overwrites the vanilla one #2013

Open
CryRocks opened this issue Jun 9, 2023 · 10 comments
Open

/locate command from worldguard overwrites the vanilla one #2013

CryRocks opened this issue Jun 9, 2023 · 10 comments
Labels
status:pending Pending acceptance or closure. type:feature-request Request for something new

Comments

@CryRocks
Copy link

CryRocks commented Jun 9, 2023

The Problem

the /locate command from worldguard, overwrites the /locate biome/structure command from the vanilla game.

A Solution

maybe add the option to the worldguard config, to activate/deactivate that command or change the command name so that /locate is not overwritten and the vanilla function can be used.

Alternatives

No response

Anything Else?

maybe i'm just blind and didn't find the option in the config or so but i checked and couldn't find any.
Also setting the permission from the command to false, didn't work.

@CryRocks CryRocks added status:pending Pending acceptance or closure. type:feature-request Request for something new labels Jun 9, 2023
@me4502
Copy link
Member

me4502 commented Jun 9, 2023

This is up to the platform to handle, not plugins. Paper provides a command.yml file to handle this, WorldGuard cannot change what overwrites what

@CryRocks
Copy link
Author

CryRocks commented Jun 9, 2023

This is up to the platform to handle, not plugins. Paper provides a command.yml file to handle this, WorldGuard cannot change what overwrites what

oh i see, tried a bit of stuff but it says unknown command:

  locate:
  - minecraft:locate
  wglocate:
  - worldguard:locate

second one works, but something is wrong with the first one, do you maybe know how it done correctly? would appreciate the help :)

@me4502
Copy link
Member

me4502 commented Jun 9, 2023

You'd have to ask Paper for help

@xpdlx
Copy link

xpdlx commented Jun 16, 2023

I'm having the same problem with WorldGuard overriding /heal in my plugin.

Having a way to disable certain WorldGuard commands would be nice.
I tried overriding it in commands.yml, which worked, but that doesn't seem to support command completions, so that's pretty annoying.

I also tried negating the permission for it, but that just made it say "You don't have permission to do that." instead of using my command.

I fixed it by making my plugin load before WorldGuard, but it would be nice if there was a way in WorldGuard to do this (either by negating the permission, or have a thing in the config to disable commands).

@black-kirito
Copy link

you can use the minecraft: tag example: /minecraft:locate biome minecraft:savanna

@Leahcimkrob
Copy link

Why should you enter a standard command in such a complicated way just because you overwrote it? We don't need your locate command, but we have minecraft command loacte in rank system. Please make the worldguard:locate command deactivatable, or use another one.

@me4502
Copy link
Member

me4502 commented Jul 7, 2023

The WorldGuard locate command existed for a very very long time before the Minecraft one. If your server platform has decided it’s taking precedence, you should use the systems that they provide you to let the Minecraft command take precedence. If there are issues with that system that should be a bug report to your server platform.

@Leahcimkrob
Copy link

under MC 1.16 we already had that. and now with the new Paper (1.20) no more.

Even the devs at Worldguard say this:
If your server platform has decided it's taking precedence, you should use the systems that they provide you to let the Minecraft command take precedence. If there are issues with that system that should be a bug report to your server platform.

So it's a bug now and not before.

@codeHusky
Copy link

codeHusky commented Nov 7, 2023

Please add commands to disable the non-essential worldguard heal/god/etc commands that are better implemented by existing, long-standing solutions (Essentials, etc) - it's very frustrating to have these WorldGuard commands randomly overriding commands from other plugins when they didn't before. I'd rather not run have to make special config adjustments just so I can continue using WorldGuard without these commands causing problems.

IMO, worldguard should NOT be using these aliases if another plugin is registering them. It's pointless. Map them to /wgheal and /wggod or something. Given the number of people confused or annoyed by this, it ought to change.

Edit: Also, as far as I can see, this isn't intended?

  • Removed /god, /heal, /locate, and /stack from WorldGuard to CommandBook. [...]

Back in 5.5, these commands were intentionally moved to CommandBook, likely to reduce this unexpected functionality since nobody's installing WorldGuard for /heal, /god, etc. Why was this changed? If it wasn't, why is this basically a breaking issue now?

@EngineHub EngineHub locked as spam and limited conversation to collaborators Nov 7, 2023
@wizjany
Copy link
Collaborator

wizjany commented Nov 7, 2023

These commands have existed since hmod days. They were never removed, only delegated to commandbook if it was enabled. Since commandbook isn't in development anymore, the delegation was removed. Nothing else has changed on our end. (just to add, this was changed because of a change made in spigot, so blame them for changing how command registration works)

The bukkit api doesn't provide plugins any way to prioritize or re-alias commands dynamically based on other plugins/commands, never mind vanilla ones. Command conflicts need to be handled by the platform itself, and afaik commands.yml is the only way to remap these manually, bad as it might be.

We will not be simply dropping commands that have existed for 12+ years in a minor release just because people are unhappy with how the server handles command conflicts. I understand that we now exist in a time where these are better served by other plugins, but it's not trivial to simply remove them entirely, especially when it comes to things like /god which are integrated with the main part of worldguard (regions, via the invincibility flag) which would need additional code to handle invincibility from other plugins (afaik, also not provided by the bukkit api, so we'd likely need to find some common metadata plugins like essentials use?).

Unless you are opening a pull request to fix this in a way that addresses all these things, I'm closing discussion on this (and will continue to close duplicates) as everything that needs to be said has been said, and comments are just getting spammy at this point.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status:pending Pending acceptance or closure. type:feature-request Request for something new
Projects
None yet
Development

No branches or pull requests

7 participants