From 61b4a1fe1a3a10ce3c09442184b116efb174b438 Mon Sep 17 00:00:00 2001 From: TheBusyBiscuit Date: Sun, 19 Apr 2020 13:18:33 +0200 Subject: [PATCH] /sf teleporter will now open your own teleporter if no player was given --- CHANGELOG.md | 1 + .../subcommands/TeleporterCommand.java | 37 +++++++++++++------ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ba42d562..cb0ff8c3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -76,6 +76,7 @@ * Changed Ignition Chamber Recipe * GEO Miner is now 2 seconds faster * All Generators will now stop consuming fuel if no energy is needed +* /sf teleporter will now open your own Teleporter Menu if you specify no Player #### Fixes * Fixed error message when clicking empty slots in the Slimefun Guide diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/TeleporterCommand.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/TeleporterCommand.java index 5e79f1b4a..732709ede 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/TeleporterCommand.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/TeleporterCommand.java @@ -28,20 +28,35 @@ class TeleporterCommand extends SubCommand { @Override public void onExecute(CommandSender sender, String[] args) { - if (args.length == 2) { - if (sender.hasPermission("slimefun.command.teleporter") && sender instanceof Player) { - - @SuppressWarnings("deprecation") - OfflinePlayer player = Bukkit.getOfflinePlayer(args[1]); - - if (player.getName() != null) { - SlimefunPlugin.getGPSNetwork().getTeleportationManager().openTeleporterGUI((Player) sender, player.getUniqueId(), ((Player) sender).getLocation().getBlock().getRelative(BlockFace.DOWN), 999999999); + if (sender instanceof Player) { + if (sender.hasPermission("slimefun.command.teleporter")) { + if (args.length == 1) { + Player p = (Player) sender; + SlimefunPlugin.getGPSNetwork().getTeleportationManager().openTeleporterGUI(p, p.getUniqueId(), p.getLocation().getBlock().getRelative(BlockFace.DOWN), 999999999); + } + else if (args.length == 2) { + + @SuppressWarnings("deprecation") + OfflinePlayer player = Bukkit.getOfflinePlayer(args[1]); + + if (player.getName() != null) { + SlimefunPlugin.getGPSNetwork().getTeleportationManager().openTeleporterGUI((Player) sender, player.getUniqueId(), ((Player) sender).getLocation().getBlock().getRelative(BlockFace.DOWN), 999999999); + } + else { + SlimefunPlugin.getLocal().sendMessage(sender, "messages.unknown-player", msg -> msg.replace("%player%", args[1])); + } + } + else { + SlimefunPlugin.getLocal().sendMessage(sender, "messages.usage", msg -> msg.replace("%usage%", "/sf teleporter [Player]")); } - else SlimefunPlugin.getLocal().sendMessage(sender, "messages.unknown-player", msg -> msg.replace("%player%", args[1])); } - else SlimefunPlugin.getLocal().sendMessage(sender, "messages.no-permission"); + else { + SlimefunPlugin.getLocal().sendMessage(sender, "messages.no-permission"); + } + } + else { + SlimefunPlugin.getLocal().sendMessage(sender, "messages.only-players"); } - else SlimefunPlugin.getLocal().sendMessage(sender, "messages.usage", msg -> msg.replace("%usage%", "/sf teleporter ")); } }