Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for Alihan

Troll your players by controlling them!

Report ControlPlayer?

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!

ControlPlayer allows you to do things that you could only dream of...

You can control a player’s movement, inventory, gamemode—literally EVERYTHING in REAL-TIME!
And the best thing about it... it's simple af!

btw sry for my bad english ;-;


Preview

Videos (in german)

____________________________________________________

bStats https://bstats.org/signatures/bukkit/ControlPlayer.svg


"Why is it so simple as you say?" you might ask. I'll tell you why!

To start controlling someone you just have to type the following command ( /cp [player] )

The required permission for this command is: "controlplayer.use"

To see someone first what the player's doing and then start controlling the player if you want to "/scp [player]"

The required permission to execute this command is: controlplayer.silent.use

To receive immunity, you need the following permission: "controlplayer. bypass"


To reload all files just execute following command: "/cpr"

The permission for that command is: "controlplayer.reload"

To fix the players collision (if it's buggy), use the "/cpf" command.

The permission for that is: "controlplayer.fix"

While controlling someone, every message sent by the controller will be sent as the controlled player instead.
To write a message not as the controlled player, you just have to add the bypassmessage in front of your message.

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.



## Translations (messages.yml)

Special thanks to Cem for translating the messages.yml into Turkish! Special thanks to TheDetzer for translating the messages.yml into Spanish! Special thanks to Kahpot Vanilla for translating the messages.yml into Hebrew! Special thanks to jsjsjd for translating the messages.yml into Chinese! Special thanks to Sedonya for translating the messages.yml into Russian! Special thanks to Ynntro for translating the messages.yml into France!

turkish messages.yml
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
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
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
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
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
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
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)
messages:
  prefix: '&8[&4&lC&c&lP&8]'
  usage: '%prefix% &7Use &e/cp [player] &7to control someone. Execute this command again to stop controlling the player.'
  being_controlled: '%prefix% You were being controlled right now!'
  success: '%prefix% &aYou are controlling %player%!'
  error: '%prefix% &cSomething went wrong!'
  no_permission: '%prefix% &cMissing permissions!'
  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!'
  actionbar_text: '&aYou are controlling %player%'

____________________________________________________

The config.yml

settings:
  apimode: false
  updater:
    enabled: true
    delay: 18000
  system:
    asyncchat: false
    ignorebypass: false
  control:
    running:
      forcechat:
        enabled: true
        bypassmessage: '-b '
      syncdelay: 0
      actionbar:
        enabled: true
      cancelchat: false
      dropitems: true
      cancelcommands: false
      syncteleport: false
    stop:
      return:
        inventory: true
        location: true
        level: true
        health: true
        foodlevel: true
        gamemode: true
        flight: 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:

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!


Why are u still reading? Download it now and troll your players! :D


https://www.rayzs.de/rayzsshield/assets/support.png

Information

CategoryGameplay
Published onOctober 6, 2024
LicenseMIT
Downloads11
Stars0
Watchers0

Pinned Versions

Members

Avatar for Alihan

Alihan

Owner