diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java index 35d7ccd..24c712d 100644 --- a/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/BlazeSMP.java @@ -73,6 +73,7 @@ public final class BlazeSMP extends JavaPlugin { new HomeCommand().register(); new DiscordCommand().register(); new ReloadCommand().register(); + new VanishCommand().register(); this.log.info("Registered Commands!"); this.log.info("Registering EventListeners..."); diff --git a/src/main/java/me/freezy/plugins/papermc/blazesmp/command/VanishCommand.java b/src/main/java/me/freezy/plugins/papermc/blazesmp/command/VanishCommand.java new file mode 100644 index 0000000..fa5da82 --- /dev/null +++ b/src/main/java/me/freezy/plugins/papermc/blazesmp/command/VanishCommand.java @@ -0,0 +1,54 @@ +package me.freezy.plugins.papermc.blazesmp.command; + +import me.freezy.plugins.papermc.blazesmp.BlazeSMP; +import me.freezy.plugins.papermc.blazesmp.command.util.SimpleCommand; +import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4; +import net.kyori.adventure.text.minimessage.MiniMessage; +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.UUID; + +public class VanishCommand extends SimpleCommand { + private final Set vanishedPlayers = new HashSet<>(); + private static boolean isvanished = true; + + public VanishCommand() { + super("vanish"); + } + + @Override + public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + if (!(sender instanceof Player)) { + sender.sendMessage("Du bist kein Spieler!"); + return false; + } + Player player = (Player) sender; + Player online = (Player) Bukkit.getOnlinePlayers(); + + if (isvanished) { + player.showPlayer(BlazeSMP.getInstance(), online); + vanishedPlayers.remove(player.getUniqueId()); + online.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("player.join"))); + } else { + player.hidePlayer(BlazeSMP.getInstance(), online); + vanishedPlayers.add(player.getUniqueId()); + online.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("player.left"))); + } + + isvanished = !isvanished; + return true; + } + + @Override + public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + return List.of(); + } +} \ No newline at end of file diff --git a/src/main/resources/storage/messages.json b/src/main/resources/storage/messages.json index 9763b10..a62979e 100644 --- a/src/main/resources/storage/messages.json +++ b/src/main/resources/storage/messages.json @@ -113,6 +113,7 @@ "command.blocked": "Unknown or incomplete command, see below for error\n%s <--[HERE]", "player.join": "[+] ", + "player.left": "[-] ", "pressureplate.teleport": "You need to wait 5 seconds to be teleported.", @@ -125,7 +126,7 @@ ], "tablist.footer": [ "hosted by merged.games", - "made by BlazeHC Team & Freezy/DaTTV" + "made by BlazeGHC Team" ], "storage.locked": "This storage is locked! You need a %s to open it.",