[Suggestion] Make the /player command more balanced for survival.
1schlick opened this issue · 2 comments
The way I see it, the /player command is meant to offer a way to automate player actions which we could already do in the game, basically serving as an autoclicker. It has the benefit of being able to work while a player is offline. The incredibly useful shadow command can be used to run an AFK farm on the server without needing to be logged in. It is an essential quality of life feature that I think should be in the game. However, the /player command implemented in this mod has some pitfalls.
The /player command gives you the ability to spawn offline players anywhere in the world. This is a glorified TP command. If you want your friend to move out to your base millions of blocks away from spawn, all they have to do is log out, then you use the /player command to summon them at your base, and then they log back in. The reason this is a problem is because it goes against what the /player command is supposed to do, which is automate things we could already do in the game. Teleporting thousands of blocks away with a command is not something we can do in the game by default. It trivializes all forms of fast travel in survival mode, such as respawn points, elytra flight, piston bolts, ender pearl stasis chambers, ender pearl cannons, and so on.
By default, using the /player command should spawn a player at the world spawn. If the player moves around and logs off at a different location, then they should respawn in that same location when you use the command. If the player dies and then logs off before respawning, or was killed while shadowing, then they should respawn at their respawn point. If you want to spawn a player at a specific spot, the only way to do it should be to gain OP permission level.
Another problem with the /player command is that you can manipulate the position and inventory of another person's player-character while they are offline. For example, you can first spawn them in (if they are not already shadowing), then make them drop all the items in their hotbar. Or walk around until they fall in lava or something. Or pillar upwards and drop down repeatedly until they die. Or you can make them dig straight down. And so on. This allows trolls and hostile players to undo the in-game progress of other players. You can also force another player to shadow, even if they are online. This can also be exploited. For example, let's say you're in the middle of a PvP battle, and you want to gain the upper hand. Just make sure you've ctrl + C'ed the command "/player (their name) shadow" beforehand, and ctrl + V the command in chat during the battle. The player will log off, allowing you to get some hits in, possibly killing them. Then you can scoop up their inventory and by the time they respawn they won't have any tools to defeat you. There are two solutions to fix this exploit without changing the /player command: 1) Establish guidelines for the usage of the /player command, and ban any trolls/hostile players that don't adhere to the guidelines. This would work for most servers, but let's say that I'm running an anarchy server and therefore I will never ban players. 2) Disable the /player command. This also works, but I also don't want to deprive players of the essential quality-of-life features provided by the /player command. Neither solution is good. This is why the /player command needs a rework.
The /player command should be balanced so that you can only use the /player command on your own accounts. The way this would work is like so. You have two accounts, account A and account B. You would log on to a carpet server with account A, and type a command which gives permission for account B to manipulate this account's player-character using the /player command. Now, if you log into the server with account B, you should be able to use /player on account A. The permission command would also have an option to give permission to all players, so that you could offer your account to be used by all players for public AFK farms.
The next issue is how shadowing player deaths and respawns are handled. Normally, if a player is killed, then they see a death screen. They may either log out or respawn. If they log out and log back in, they'll still see the death screen. If they respawn, they'll respawn at their respawn point, or the world spawn if they don't have one. However, if a player who is shadowing is killed, and if that player logs back in, the result is that they respawn in the spot that they were killed in. That's not how it's supposed to work. This can be exploited to basically avoid the consequences of death partially or entirely. Let's say that you're backed into a corner with a horde of piglins attacking you, and it's only a matter of time before they kill you. All you have to do is have ctrl + C'ed the command "/player (your name) shadow" beforehand, then quickly ctrl + V it in the chat. You'll disconnect, then the piglins will kill you while you're offline. Then you log back in, with full health, in the same spot, and gather your inventory which has spilled on the ground. You may have to get your armor back from the piglins, but at least you won't have to travel back to the place you died at.
Here is the fix for this problem: If a player who is shadowing is killed, and if the player who owns the account logs back in, then they should see the death screen. Or at least respawn at their respawn point (or the world spawn if they don't have one) rather than the spot they were killed in. This basically mirrors the vanilla behavior for player deaths and respawning.
My English writing is not so good, so if there is some grammer mistake, I'm sorry, please pointed out and I will correct it.
TLDR. (English
- make some part of the
/player
command need permission to use (such as /player xxx spawn at x y z)(or it will spawn at world spawn). - remake some part of the
/player shadow
command, to make the command not so cheating. - make a seprate permission system in
/player xxx xxx
that can be manage by every player. witch can manager permission to control there self or some fake player they spawn. - make fake player/shadowed player respawning more accurate, like when a player is killed when they were shadowed. show them the death screen. not just respawn and like nothing happened
长话短说 ( 中文
- 让
/player
指令在没有权限的情况下不再能作为一种远程tp手段 (比如让假人生成在出生点) - 重做一部分
/player shadow
命令,让他在pvp中不那么作弊 - 给
/player xxx xxx
的指令加一个可以由任何人管理的权限系统,可以让玩家管理自己的/player
指令的权限,比如作为一个公共的AFK账号供大家使用 - 让 shadowed 的玩家在死亡之后的重生更加准确,比如一个 shadowed 的玩家上线之后应该给他显示死亡屏幕,而不是直接像没事人一样重生