gnembon / fabric-carpet

Fabric Carpet
MIT License
1.72k stars 275 forks source link

[Suggestion] Add /player <fake player> control #737

Open barraIhsan opened 3 years ago

barraIhsan commented 3 years ago

So, this command only works for a fake player that we spawn. When we spawn them we can /player <fake player> control then the camera, mouse input, keyboard input it gonna send into the fake player. Just we normally player Minecraft. And our original character will standstill

That is a cool feature to control the fake player because we only have a few option to control the fake player

Ghoulboy78 commented 3 years ago

well no, cos that would (i believe) require having carpet client to join, or at the very least to use that feature. Also, this could be seen as cheaty and probably wouldn't work very well anyways in general. Good suggestion tho ngl

1schlick commented 3 years ago

@Ghoulboy78 There are some instances when you have to switch control between 2 player-characters. For example, when you want to activate an ender pearl stasis chamber, or if you're making a farm that requires multiple AFK player-characters. In vanilla minecraft, you have to open 2 instances of minecraft and go back and forth between the windows to control each player-character in order to position them correctly. Overall it's a very clunky way of going about things, and also it requires you to purchase an additional minecraft account for 20$. It would be better if you could switch between multiple player-characters within one instance of minecraft. Perhaps there could be a carpet extension mod which gives players this functionality, but only if they also have the mod.

Ghoulboy78 commented 3 years ago

Ye,the biggest problem is the requirement for a carpet client...

FxMorin commented 3 years ago

Should be possible by redirecting the clients packets to the bot, and vice-versa. To the client it would look like he just teleported to the bots location and his data got changed. No need for client-side code unless you want to make it look better.

Ristovski commented 3 years ago

One problem I am seeing with this is that the client applies the movement to itself, which means if you were to "lock" the client in-place by constantly teleporting it back, it would cause jitter and would fail on high ping connections (where you'd get rubber banding). Is there some other way to restrict the client from moving while the server receives input?

Edit: If the server can cause the client to spectate the fake player, then that solves the sync issue. But now you can't receive player input... (as far as I know).

But I agree that this would be a very cool thing to have.