This resource is a fork of
PsudoCommand. Zombie Striker took a break from programming and authorized developpers to fork the initial project. I updated and added some features to the original plugin.
This plugins supports Minecraft version 1.14+ with Spigot and all its fork.
If you want to get 1.8 - 1.12 support, use PsudoCommands 1.0.27.
If you want to get 1.13.2 support, use PsudoCommands 1.0.27 or 1.0.28.
Otherwise any version will be fine.
Description:
PsudoCommands is a plugin that uses 6 commands : /psudo, /psudouuid, /psudoas /psudoasraw, /psudoasop, /psudoasconsole. You can add vanilla selectors in arguments and run psudo after a vanilla /execute command (for v1.0.29+). Each selector will be replaced by the name or the UUID of targeted entity. You can add relative
~ ~ ~ or local
^ ^ ^ coordinates according to the
at of execute command.
Selector supported:
Versions 1.0.28+ support any vanilla selectors. If you use 1.0.27, many selectors will work except some complex like [nbt=], [predicate=] or [sort=].
Commands:
- /execute <param> run psudo <command>: Issues the command by replacing each selector of <command> with the name of targeted entities. Selector @s is replaced by the name of a target of as from execute command and position (coordinates and [distance=]) consider the last at of the execute command.
- /execute <param> run psudouuid <command>: Same as above, but selectors of <command> are replaced by UUID of targeted entities, not their name.
- /execute <param> run psudoas <command>: Same as psudo, but it issues the command as the sender specified with the as of execute command. Entities other than players cannot send a command due to internal behavior of bukkit. Players cannot send a command if they have not the permission to perform it.
- /execute <param> run psudoasraw <command>: Same as psudoas, but the command does not parse selectors. Useful when you want to send a command inside something (e.g. yml) and you don't want to parse the selector.
- /execute <param> run psudoasop <command>: Same as psudoas, but if the command after psudoasop is a plugin command and the sender targeted by the as of execute is a player, then the pre-check of permissions is ignored. It does not give operator to the player, it simply ignores permissions set in plugin.yml. If the plugin registering that command checks permissions inside the code of the command, psudoasop may fail. I can't do anything for it, developers should know how to set permissions to a command.
- /execute <param> run psudoasconsole <command>: (Only v1.0.30+) Same as psudoas, but the console executes the command. If used after execute, the console replaces all senders "as".
All these commands are also working without /execute if you simply want to replace selectors and not use conditions of /execute. If there is no /execute before psudo, the sender is considered for @s and coordinates.
Note that versions up to 1.0.28 do not support execute vanilla command and use another syntax for psudoas and psudoasraw. Before it was
psudoas <sender> <command> but now the equivalent is
/execute as <sender> at @s run psudoas <command>.
Example of usage:
- /psudo say Hello there @r
- /execute at Notch as @a[distance=3..10] run psudo god @s : activates the god to all players in a minimum distance of 3 blocks of the player Notch and maximum 10 blocks (the command /god must exist).
- /execute as @a[distance=3..10] run psudas god : same, but it's around the sender, not around Notch, and only players that have the permission to use /god command are now god. The output is sent to players.
- /psudouuid kill @e[type=pig,distance=..10] : similar to /kill @e[type=pig,distance=..10]
- /psudouuid laser @e[distance=..30,type=armor_stand] @e[distance=..30,type=armor_stand] : If you have a plugin command that creates a laser between two entities, this command creates a laser between every near armor stands only if the command accepts UUIDs as target.
Permissions:
Keep in mind that any psudo command allows the sender to give him the op with a simple
/psudo op @s, so these permissions are as powerful as operator if you don't restrict them.
- psudocommand.* - Allows access to all psuso commands
- psudocommand.psudo - Allows access to the "/psudo" command
- psudocommand.psudouuid - Allows access to the "/psudouuid" command
- psudocommand.psudoas - Allows access to the "/psudoas" command.
- psudocommand.psudoasraw - Allows access to the "/psudoasraw" command.
- psudocommand.psudoasop - Allows access to the "/psudoasop" command.
- psudocommand.psudoasopconsole - Allows access to the "/psudoasopconsole" command.
Changelog since the last official version :
1.0.32 and 1.0.31
Fixed /execute psudo feature for 1.19.4 by dropping the Commodore usage (directly Brigadier now). This might still occur, see for more information
www.spigotmc.org/threads/603042
Fixed some weird errors on uncommon Minecraft versions such as 1.17 or 1.16.2.
1.0.30
Added command /psudoasconsole that basically does the same thing as /psudoas but the console replaces all senders.
The command /psudoasconsole <command> replaces the old /psudoas console <command>.
1.0.29
Support /execute vanilla command with both
at and
as for coordinates and @s. Added psudoasop to ignore the permissions of a plugin command.
1.0.28
PsudoCommands now uses vanilla selectors, so old 1.12 format do no work anymore and new complex selector such as nbt={} are now working well.
1.0.27
Optimized team=, scores= to find a Team or an Objective
Fixed scores={objective!=min..max}
Fixed name= not working on players (their CustomName is null)
Fixed get distance of non player entities
Console has now a location at default world's spawn
1.0.26
Fixed some usage of distance in min..max in selector, like 0.1..10.
1.0.25
Added /psudoasraw command that ignore selectors and relative coordinates ~ ^ in command, to only parse the sender selector.
1.0.24
Fixed error when a @ is used in the command but not as selector.
1.0.23
Fixed specific issue with local or relative coordinates.
1.0.22
Fixed issue when a selector doesn't have argument with e.g. only @e[] or @e.
1.0.21
Selectors can now have spaces between their tags.
1.0.20
Fixed some bugs with coordinates and code improvement
1.0.19
Fixed [type=] if the given type contains 'minecraft:'
1.0.18
Added TabCompleter for the list of available loaded commands and their arguments.
1.0.17
Added an error message if the sender has no permission
Optimized code
1.0.16
Added [gamemode=], identical to [m=]
Added [dx=] [dy=] [dz=] with almost same behavior than vanilla
Fixed [x=] [y=] [z=] with floats
1.0.15
Added support for local coordinates ^
Fixed /psudoas with more than one entity as sender
Fixed relative coordinates
Fixed [limit=] and [c=]
Fixed [tag=] for non-player entities
Fixed [score_---=] [score_---_min=] [scores={}] for non-player entities
Fixed [x_rotation=] and [y_rotation=]