diff --git a/README.md b/README.md index e06e25c..ffa6628 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ | `ecatup.channel.global` | Permet au joueur d'envoyer des messages dans le canal GLOBAL. | | `ecatup.channel.server` | Permet au joueur d'envoyer des messages dans le canal SERVER. | | `ecatup.channel.team` | Permet au joueur d'envoyer des messages dans le canal TEAM. | +| `ecatup.slap` | Permet au joueur d'utiliser la commande `/slap`. | | `server.` | Permet au joueur de se connecter au serveur ``. | ### Commandes diff --git a/build.gradle b/build.gradle index 5d4311d..3b3673a 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { } group = 'fr.efreicraft' -version = '1.0.11' +version = '1.0.12' compileJava.options.encoding "UTF-8" diff --git a/src/main/java/fr/efreicraft/ecatup/commands/Slap.java b/src/main/java/fr/efreicraft/ecatup/commands/Slap.java index d94bf98..fd4f009 100644 --- a/src/main/java/fr/efreicraft/ecatup/commands/Slap.java +++ b/src/main/java/fr/efreicraft/ecatup/commands/Slap.java @@ -8,6 +8,7 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; +import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.util.Vector; import org.jetbrains.annotations.NotNull; @@ -29,9 +30,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command } boolean sendAway = args.length == 2 && args[1].equals("-a"); - Player player = Bukkit.getPlayer(args[0]); + @NotNull List players = Bukkit.selectEntities(sender, args[0]); - if (player == null) { + if (players.isEmpty()) { sender.sendMessage(Component.text(colorize("&6"+args[0]+"&c n'est pas connecté !"))); return true; } @@ -39,29 +40,32 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command Vector direction; double force = 2.6; - if (sendAway) { - //noinspection ALL - if (!(sender instanceof Player slapper)) { - sender.sendMessage(Component.text("Vous ne pouvez pas utiliser \"-a\" dans la console !").color(NamedTextColor.RED)); - return true; + for (Entity p: players) { + if (sendAway) { + //noinspection ALL + if (!(sender instanceof Player slapper)) { + sender.sendMessage(Component.text("Vous ne pouvez pas utiliser \"-a\" dans la console !").color(NamedTextColor.RED)); + return true; + } + + if (slapper.getUniqueId() == p.getUniqueId()) { + sender.sendMessage(Component.text(colorize("&4Wtf ??"))); + continue; + } + + direction = p.getLocation().toVector().subtract(slapper.getLocation().toVector()).normalize(); + direction.setY(direction.getY() * Math.random() * 2); + + } else { + direction = Vector.getRandom(); + direction.setX(direction.getX() * ((Math.random() * (2 * force)) - force)); + direction.setY(direction.getY() * (Math.random() * force * 1.5)); + direction.setZ(direction.getZ() * ((Math.random() * (2 * force)) - force)); } - if (slapper.getUniqueId() == player.getUniqueId()) { - sender.sendMessage(Component.text(colorize("&4Wtf ??"))); - return true; - } - - direction = player.getLocation().toVector().subtract(slapper.getLocation().toVector()).normalize(); - direction.setY(direction.getY() * Math.random() * 2); - - } else { - direction = Vector.getRandom(); - direction.setX(direction.getX() * ((Math.random() * (2 * force)) - force)); - direction.setY(direction.getY() * (Math.random() * force * 1.5)); - direction.setZ(direction.getZ() * ((Math.random() * (2 * force)) - force)); + p.setVelocity(direction); } - player.setVelocity(direction); return true; } diff --git a/src/main/java/fr/efreicraft/ecatup/listeners/Join.java b/src/main/java/fr/efreicraft/ecatup/listeners/Join.java index fe39ded..f13b67a 100644 --- a/src/main/java/fr/efreicraft/ecatup/listeners/Join.java +++ b/src/main/java/fr/efreicraft/ecatup/listeners/Join.java @@ -65,9 +65,11 @@ public void onJoin(org.bukkit.event.player.PlayerJoinEvent event) throws IOExcep case "Builder" -> user.data().add(Node.builder("group.builder").build()); + case "Dev" -> user.data().add(Node.builder("group.dev").build()); + case "Responsable 1P" -> user.data().add(Node.builder("group.respo1p").build()); - case "Responsable Event", "Responsable Dev", "Responsable Infra", "Responsable Comm", "Responsable Build", "Responsable Design" -> { + case "Responsable Dev", "Responsable Build", "Responsable Design" -> { user.data().add(Node.builder("group.be").build()); user.data().add(Node.builder("prefix.10.&c&l[" + rank + "] &c").build()); }