ControlPlayer
Control and troll your players!
ControlPlayer
<center>

[](https://www.rayzs.de/products/controlplayer/page)
This plugin is something that EVERY server owner needs, who wants to troll his users a little bit!
You might be wondering, "Why?"
I'll tell you why!
REAL-TIME allows you to do things that you could only dream of... <br><br> You can control a player’s movement, inventory, gamemode—literally, pet —Literally REAL-TIME in REAL-TIME! <br> And the best thing about it... it's simple af!
btw sry for my bad english ;-;
Preview
Videos (in german) <br>
____________________________________________________
bStats
https://bstats.org/signatures/bukkit/ControlPlayer.svg
"Why is it so simple as you say?" you might ask. I'll tell you why!<br> <br>
All the commands and their permissions:
To start controlling someone you just have to type the following command: "*/cp [player]*"
The required permission for this command is: *controlplayer.use*
If you want to inspect your victim first and wanna take control right after: "*/scp [player]*"
The required permission for this command is: *controlplayer.silent.use*
To force someone to control somebody else, use: "*/cpo [controller] [victim]*"
The required permission for this command is: *controlplayer.other*
To force someone to stop controlling, use: "*/cps [controller]*"
The required permission for this command is: *controlplayer.stop*
To force someone to stop controlling, use: "*/cps [controller]*"
The required permission for this command is: *controlplayer.stop*
To receive immunity, you need the following permission: "*controlplayer. bypass*"
To reload all files just execute following command: "*/cpr*"
The required permission for this command is: *controlplayer.reload*
To fix the players collision (in case, a player got bugged), use the "*/cpf*" command.
The permission for that is: *controlplayer.fix*
</center>
<center> While controlling someone, every message sent by the controller will be sent as the controlled player instead. <br> To write a message not as the controlled player, you just have to add the bypassmessage in front of your message. <br> <br> The default bypassmessage is "-b " and should look like this:
To stop controlling the player just execute the same command and it should stop. You will get back your old inventory, levels, health, location, etc.
</center> <br>
## Translations (messages.yml)
Special thanks to France for translating the *messages.yml* into France! Special thanks to France for translating the *messages.yml* into France! Special thanks to France for translating the *messages.yml* into France! Special thanks to France for translating the *messages.yml* into France! Special thanks to France for translating the *messages.yml* into France! Special thanks to France for translating the *messages.yml* into France!
Warning: Due to many changes, most translation files are not up to date and might include some messages that were not translated fully yet.
turkish messages.yml
```yaml messages: prefix: '&8[&4&lC&c&lP&8]' usage: '%prefix% &e/controlp [oyuncu] &7ile birisini kontrol edebilirsin. Tekrar yazarsan kontrol etmeyi bırakırsın.' being_controlled: '%prefix% kontrol ediliyorsun.' success: '%prefix% &akontrol ettiği oyuncu: %player%!' error: '%prefix% &cHata!' no_permission: '%prefix% &cYetki yok!' only_players: '%prefix% &cOyuncu değil!' stopped_controlling: '%prefix% &akontrol etmeyi bıraktın.' already_controlled: '%prefix% &c Zaten kontrol ediliyor.' player_imun: '%prefix% &cBu oyuncuyu kontrol edemesin.' self_control: '%prefix% &cKendini kontrol edemesin.!' not_online: '%prefix% &7Oyuncu aktif değil!' player_left: '%prefix% &cOyuncu oyundan çikiş yapti.' player_died: '%prefix% &cOyuncu öldü.' actionbar_text: '&aKontrol ettiği oyuncu: %player%' ```
spanish messages.yml
```yaml messages: prefix: '&8[&4&lC&c&lP&8]' usage: '%prefix% &7Usa &e/cp [jugador] &7para controlar a alguien. ejecuta el comando de nuevo para dejar de controlarlo.' being_controlled: '%prefix% Te estan controlando!' success: '%prefix% &aEstas controlando a %player%!' error: '%prefix% &cAlgo ha ido mal!' no_permission: '%prefix% &cFaltan permisos!' only_players: '%prefix% &cNo eres un jugador!' stopped_controlling: '%prefix% &aHas parado de controlar a un jugador!' already_controlled: '%prefix% &cAlguien mas lo esta controlando!' player_imun: '%prefix% &cNo tienes permitido controlar a este jugador!' self_control: '%prefix% &cNo puedes controlarte a ti mismo' not_online: '%prefix% &7Este jugador esta desconectado!' player_left: '%prefix% &cEl jugador controlado ha dejado el server!' player_died: '%prefix% &cEl jugador controlado se ha ido' actionbar_text: '&aEstas controlando a %player%' ```
chinese messages.yml
```yaml messages: prefix: '&8[&4&lC&c&lP&8]' usage: '%prefix% &7使用 &e/cp [player] &7来控制某些玩家. 如果你再次执行此命令,那么就会停止控制这位玩家' being_controlled: '%prefix% 现在你已被%player%控制!' success: '%prefix% &a你现在正在控制 %player%!' error: '%prefix% &c有些东西出了问题,麻烦请看下你的指令是否有问题,还是后台报错' no_permission: '%prefix% &c你似乎没有这个权限' only_players: '%prefix% &c此命令只能玩家使用!' stopped_controlling: '%prefix% &a你已经停止控制这位玩家' already_controlled: '%prefix% &c已经有人控制这位玩家了' player_imun: '%prefix% &c你无法控制这位玩家' self_control: '%prefix% &c你不能控制你自己!' not_online: '%prefix% &7这玩家现在不在线,所以你无法控制' player_left: '%prefix% &c你在控制的玩家现已离线' player_died: '%prefix% &c你控制的玩家已经趋势' actionbar_text: '&a你在控制 %player%这名玩家' ```
hebrew messages.yml
```yaml messages: prefix: '&8[&4&lק&c&lל&8]' usage: '%prefix% &7השתמש בפקודה &e[שם שחקן] cp/ &7על מנת להשתלט על שחקן. רשום את הפקודה הזו &7שוב על מנת להפסיק להשתלט על השחקן' being_controlled: '%prefix% אתה נשלט כרגע על ידי מישהו!' success: '%prefix% &a!%player% אתה שולט בשחקן' error: '%prefix% &cמשהו השתבש!' no_permission: '%prefix% &cחוסר בגישות!' only_players: '%prefix% &cאתה לא שחקן!' stopped_controlling: '%prefix% &aאתה הפסקת להשתלט על השחקן!' already_controlled: '%prefix% &cמישהו אחר שולט על השחקן הזה!' player_imun: '%prefix% &cאינך רשאי לשלוט על השחקן הזה!' self_control: '%prefix% &cאתה לא יכול לשלוט על עצמך!' not_online: '%prefix% &7השחקן הזה לא מחובר!' player_left: '%prefix% &cהשחקן שהשטלתת עליו יצא מהשרת/מהמשחק!' player_died: '%prefix% &cהשחקן שהשטלתת עליו מת!' actionbar_text: '&a%player% אתה שולט בשחקן' ```
russian messages.yml
```yaml messages: prefix: '&8[&4&lC&c&lP&8]' normal_usage: '%prefix% &7Используй &e/cp <player> &7для управления игроком. Чтобы остановить контроль, введи команду ещё раз.' silent_usage: '%prefix% &7Используй &e/scp <player> &7, для управления игроком. Чтобы остановить контроль, введи команду ещё раз.' being_controlled: '%prefix% Вы не можете управлять кем-то, пока кто-то управляет вами!' normal_success: '%prefix% &aВы контролируете %player%!' silent_success: '%prefix% &aВы управляете %player%! Нажмите &eЛКМ 3x§a чтобы взять игрока под контроль. Удерживайте &eSNEAK&a и нажмите &eЛКМ 3x§a чтобы снова освободить игрока.' error: '%prefix% &cЧто-то пошло не так!' no_permission: '%prefix% &cНедостаточно прав!' not_alive: '%prefix% &cИгрок, которым вы хотите управлять, не жив.' only_players: '%prefix% &cВы не игрок!' stopped_controlling: '%prefix% &aВы перестали управлять игроком.' already_controlled: '%prefix% &cКто-то другой уже контролирует этого игрока!' player_imun: '%prefix% &cВам не разрешено управлять этим игроком!' self_control: '%prefix% &cВы не можете контролировать себя.' not_online: '%prefix% &7Этого игрока нет в сети!' player_left: '%prefix% &cИгрок, которым вы управляли, покинул сервер!' player_died: '%prefix% &cИгрок, которым вы управляли, умер!' controlling_actionbar_text: '&aВы управляете %player%' waiting_actionbar_text: '&eЛКМ 3x &7для переключения режима управления.' spy_chat_message: '%prefix% &2%player% &aпытался использовать чат, находясь под контролем: &e%message%' ```
france messages.yml
```yaml messages: prefix: '&8[&4&lC&c&lP&8]' normal_usage: '%prefix% &7Faites &e/cp [joueur] &7pour contrôler un joueur. Exécutez cette commande à nouveau pour arrêter le contrôle.' silent_usage: '%prefix% &7Faites &e/scp [joueur] &7pour contrôler un joueur. Exécutez cette commande à nouveau pour arrêter le contrôle.' being_controlled: '%prefix% Vous êtes contrôlé!' normal_success: '%prefix% &aVous contrôlez %player%!' silent_success: '%prefix% &aVous contrôlez %player%! Faites&eCLICK GAUCHE 3x &pour prendre contrôle du joueur. Maintenez &eS'ACCROUPIR &aet faites &eCLICK GAUCHE 3x §Pour libérer le joueur!' error: '%prefix% Quelque chose ne va pas comme prévu !' no_permission: '%prefix% &cIl vous manque des permissions!' not_alive: '%prefix% &cLe joueur que vous voulez contrôler n'est pas en vie. (mort)' only_players: '%prefix% &cVous n'êtes pas un joueur!' stopped_controlling: '%prefix% &aVous avez arrêté le contrôle!' already_controlled: '%prefix% &cQuelqu'un contrôle déjà ce joueur!' player_imun: '%prefix% &cVous n'êtes pas autorisé à contrôler ce joueur!' self_control: '%prefix% &cVous ne pouvez pas vous auto-contrôler!' not_online: '%prefix% &7Ce joueur n'est pas connecté!' player_left: '%prefix% &cLe joueur contrôlé à quitté le serveur!' player_died: '%prefix% &2%player% &aa essayé de parler mais il est contrôlé: &e%message%' controlling_actionbar_text: '&aVous contrôlez %player%' waiting_actionbar_text: '&eCLICK GAUCHE 3x &7pour activer/désactiver le contrôle!' spy_chat_message: '%prefix% &2%player% &aa essayé de parler mais il est contrôlé: &e%message%' ```
german messages.yml
```yaml messages: prefix: '&8[&4&lC&c&lP&8]' usage: '%prefix% &7Benutze &e/cp [player] &7um jemanden zu kontrolleren. Gebe den Befehl noch einmal ein, um aufzuhören.' being_controlled: '%prefix% Du wirst zurzeit selbst kontrolliert.' success: '%prefix% &aDu kontrollierst %player%!' error: '%prefix% &cEs ist ein Fehler aufgetreten!' no_permission: '%prefix% &cDazu hast du keine Berechtigung!' only_players: '%prefix% &cDu bist kein Spieler!' stopped_controlling: '%prefix% &aDu hast aufgehört diesen Spieler zu kontrollieren!' already_controlled: '%prefix% &cjemand anderes kontrolliert bereits diesen Spieler!' player_imun: '%prefix% &cDiesen Spieler darfst du nicht kontrollieren!' self_control: '%prefix% &cDu kannst dich nicht selbst kontrollieren!' not_online: '%prefix% &7Dieser Spieler ist nicht anwesend!' player_left: '%prefix% &cDen Spieler, den du kontrolliert hattest, hat das Spiel verlassen!' player_died: '%prefix% &cDen Spieler, den du kontrolliert hattest, ist gestorben!' actionbar_text: '&aDu kontrollierst grade %player%' ```
english messages.yml (default)
```yaml messages: prefix: '&8[&4&lC&c&lP&8]' normal_usage: '%prefix% &7Use &e/cp [player] &7to control someone. Execute this command again to stop controlling the player.' silent_usage: '%prefix% &7Use &e/scp [player] &7to control someone. Execute this command again to stop controlling the player.' being_controlled: '%prefix% You were being controlled right now!' normal_success: '%prefix% &aYou are controlling %player%!' silent_success: '%prefix% &aYou are controlling %player%! Press &eLEFT CLICK 3x &ato take control of the player. Hold &eSNEAK &aand click &eLEFT CLICK 3x §ato free the player again!' error: '%prefix% &cSomething went wrong!' no_permission: '%prefix% &cMissing permissions!' not_alive: '%prefix% &cThe player you want to control isn''t alive. (dead)' cannot_specific_control: '%prefix% &cYou can only control specific chosen players!' only_players: '%prefix% &cYou are not a player!' stopped_controlling: '%prefix% &aYou stopped controlling the player!' already_controlled: '%prefix% &cSomeone else is already controlling this player!' player_imun: '%prefix% &cYou are not allowed to control this player!' self_control: '%prefix% &cYou can not control yourself!' not_online: '%prefix% &7This player is not online!' player_left: '%prefix% &cThe player you have controlled left the server!' player_died: '%prefix% &cThe player you controlled died!' controlling_actionbar_text: '&aYou are controlling %player%' waiting_actionbar_text: '&eLEFT CLICK 3x &7to toggle control-mode!' spy_chat_message: '%prefix% &2%player% &atried to use the chat while being controlled: &e%message%' other_usage: '%prefix% &7Use &e/cpo [controller] [victim] &7to force someone control somebody. Execute this command again to stop the control.' other_offline: '%prefix% %player% is not online!' other_dead: '%prefix% &c%player% is dead!' other_already_controlled: '%prefix% &c%player% is already being controlled!' other_success: '%prefix% &aYou forced %player% to control %victim%!' other_stopped: '%prefix% &a%player% is now longer controlling!' other_same: '%prefix% &cController and victim cannot possibly the same!' stop_usage: '%prefix% &7Use &e/cps [controller] &7to force someone to stop controlling.' stop_offline: '%prefix% %player% is not online!' stop_no_session: '%prefix% &c%player% is not controlling anybody!' stop_success: '%prefix% &aYou forced %player% to stop controlling!' ```
____________________________________________________
The config.yml
```yaml settings: apimode: false updater: enabled: true delay: 18000 commandaliases: control: - cp - cplayer - controlp - control fix: - cpf - controlplayerf - cpfix reload: - cpr - controlplayerr - cpreload silentcontrol: - scp - scontrolplayer - scplayer system: asyncchat: false ignorebypass: false control: running: sync: foodlevel: true forcechat: enabled: true bypassmessage: '-b ' syncdelay: 0 actionbar: enabled: true cancelchat: false spychat: true dropitems: true cancelcommands: false syncteleport: false stop: return: inventory: true location: true level: true health: true foodlevel: true gamemode: true flight: true effect: true ```
____________________________________________________
API
The API makes it possible to interact directly with the plugin. What do I mean? For example, you have a other plugin and you wanna check if ControlPlayer found someone who is controlling someone right now. You can check with my EventManager if someone started, stopped, or is still controlling someone.
Here is an example:
```java ControlPlayerEventManager.register(new ControlPlayerEvent() { @Override public ControlPlayerEventType type() { return ControlPlayerEventType.RUNNING; // Types: START, RUNNING, STOP }
@Override public void execute(Player controller, Player victim) { // Do something } }); ```
if you activate the apimode in the config.yml, all default sync-methods of the plugin will be disabled and only the code below will execute! This is good for making your own code to control someone.
NOTICE: Only activate this if you understand what you're doing!
<center>Why are u still reading? Download it now and troll your players! :D
</center>
