J'ai fait ça un jour, peut être que ça t'aidera.
Je ne garanti pas l'optimisation mais c'est un truc fait pour mon propre plaisir mais cadeau ;)
[spoiler=Code]
command /mindcontrol:
aliases: /md
trigger:
set slot 0 of player to stick named "&3Controleur d'esprit"
set slot 7 of player to blaze rod named "&1SetHome"
set slot 8 of player to 166 named "&cTuer l'esprit"
on rightclick on a entity:
if event-entity is not a player:
if {controleur.%player%} is not set:
name of tool is "&3Controleur d'esprit"
set name of event-entity to "&3Esprit Controlé"
set helmet of event-entity to leather helmet
dye event-entity's helmet cyan
apply slowness 250 to event-entity for 999 days
apply invisibility 250 to player for 999 days
apply weakness 250 to event-entity for 999 days
set {espritcontrolé.%event-entity%.%player%} to player
set {controleur.%player%} to true
message "&3Mind-Control &7> &aEntité controlée ! &7Vous êtes désormé invisible !" to {espritcontrolé.%event-entity%.%all players%}
set slot 4 of player to paper named "&aEsprit controlé"
else:
message "&3Mind-Control &7> &cVous ne pouvez pas controler plus de 1 esprit à la fois !" to player
else:
message "&3Mind-Control &7> &cVous ne pouvez pas controler l'esprit d'un joueur !" to player
on click with blaze rod:
name of tool is "&1SetHome"
set {checkpoint.mind.%player%} to player's location
message "&3Mind-Control &7> &aSpawnpoint défini"
on any move:
loop all entities:
if {espritcontrolé.%loop-entity%.%players%} is set:
teleport loop-entity to player
on death:
if victim is a entity:
if {espritcontrolé.%victim%.%all players%} is set:
message "&3Mind-Control &7> &cL'esprit controlé est mort! &7Vous êtes désormé visible !" to {espritcontrolé.%victim%.%all players%}
remove invisibility from {espritcontrolé.%victim%.%all players%}
set slot 4 of {espritcontrolé.%victim%.%all players%} to air
if {checkpoint.mind.%{espritcontrolé.%victim%.%all players%}%} is set:
teleport {espritcontrolé.%victim%.%all players%} to {checkpoint.mind.%{espritcontrolé.%victim%.%all players%}%}
message "&3Mind-Control &7> &aTéléportation au spawnpoint" to {espritcontrolé.%victim%.%all players%}
else:
message "&3Mind-Control &7> &6Aucun spawnpoint défini" to {espritcontrolé.%victim%.%all players%}
delete {controleur.%{espritcontrolé.%victim%.%all players%}%}
delete {espritcontrolé.%victim%.%all players%}
on damage:
if {espritcontrolé.%victim%.%all players%} is set:
if damage cause is fall:
cancel event
if damage cause is attack:
if attacker is a entity:
if victim is a player:
if {espritcontrolé.%attacker%.%victim%} is set:
cancel event
message "&3Mind-Control &7> &3Vie de l'esprit controlé &a%health of victim%" to {espritcontrolé.%victim%.%all players%}
on click with 166:
name of tool is "&cTuer l'esprit"
loop all entities:
if {espritcontrolé.%loop-entity%.%players%} is set:
kill loop-entity
delete {controleur.%player%}
if {checkpoint.mind.%{espritcontrolé.%loop-entity%.%players%}%} is set:
teleport {espritcontrolé.%loop-entity%.%players%} to {checkpoint.mind.%{espritcontrolé.%loop-entity%.%players%}%}
message "&3Mind-Control &7> &aTéléportation au spawnpoint" to {espritcontrolé.%loop-entity%.%players%}
else:
message "&3Mind-Control &7> &6Aucun spawnpoint défini" to {espritcontrolé.%loop-entity%.%players%}