From 1a0c094f4a977420d7d98d72bb9503648d6a51de Mon Sep 17 00:00:00 2001 From: kaboom <58372747+kaboombot@users.noreply.github.com> Date: Sun, 16 Oct 2022 03:08:32 +0300 Subject: [PATCH] Use guard clauses when possible Closes #322 --- .../extras/commands/CommandBroadcastMM.java | 5 +- .../commands/CommandBroadcastVanilla.java | 7 +- .../extras/commands/CommandConsole.java | 13 +-- .../extras/commands/CommandEnchantAll.java | 30 +++---- .../extras/commands/CommandGetJSON.java | 30 +++---- .../extras/commands/CommandJumpscare.java | 42 +++++----- .../kaboom/extras/commands/CommandKaboom.java | 7 +- .../kaboom/extras/commands/CommandPrefix.java | 50 ++++++------ .../extras/commands/CommandPumpkin.java | 34 ++++---- .../kaboom/extras/commands/CommandSkin.java | 46 ++++++----- .../kaboom/extras/commands/CommandSpawn.java | 43 +++++----- .../kaboom/extras/commands/CommandSpidey.java | 39 ++++----- .../extras/commands/CommandTellraw.java | 13 +-- .../extras/commands/CommandUsername.java | 79 ++++++++++--------- 14 files changed, 233 insertions(+), 205 deletions(-) diff --git a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastMM.java b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastMM.java index 036e35f..3bf4c7b 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastMM.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastMM.java @@ -20,9 +20,10 @@ public class CommandBroadcastMM implements CommandExecutor { if (args.length == 0) { sender.sendMessage(Component .text("Usage: /" + label + " ", NamedTextColor.RED)); - } else { - Bukkit.broadcast(MINI_MESSAGE.deserialize(String.join(" ", args))); + return true; } + + Bukkit.broadcast(MINI_MESSAGE.deserialize(String.join(" ", args))); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastVanilla.java b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastVanilla.java index d7f046e..6ea160a 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastVanilla.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastVanilla.java @@ -18,10 +18,11 @@ public final class CommandBroadcastVanilla implements CommandExecutor { sender.sendMessage(Component .text("Usage: /" + label + " ", NamedTextColor.RED)); - } else { - Command.broadcastCommandMessage(sender, ChatColor.translateAlternateColorCodes( - '&', String.join(" ", args))); + return true; } + + Command.broadcastCommandMessage(sender, ChatColor.translateAlternateColorCodes( + '&', String.join(" ", args))); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandConsole.java b/src/main/java/pw/kaboom/extras/commands/CommandConsole.java index 5e75394..b487d73 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandConsole.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandConsole.java @@ -19,13 +19,14 @@ public final class CommandConsole implements CommandExecutor { sender.sendMessage(Component .text("Usage: /" + label + " ", NamedTextColor.RED)); - } else { - Bukkit.dispatchCommand( - Bukkit.getConsoleSender(), - "minecraft:say " + ChatColor.translateAlternateColorCodes( - '&', String.join(" ", args)) - ); + return true; } + + Bukkit.dispatchCommand( + Bukkit.getConsoleSender(), + "minecraft:say " + ChatColor.translateAlternateColorCodes( + '&', String.join(" ", args)) + ); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandEnchantAll.java b/src/main/java/pw/kaboom/extras/commands/CommandEnchantAll.java index 4b20d1a..ec04c5f 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandEnchantAll.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandEnchantAll.java @@ -20,21 +20,23 @@ public final class CommandEnchantAll implements CommandExecutor { if (sender instanceof ConsoleCommandSender) { sender.sendMessage(Component .text("Command has to be run by a player")); - } else { - final Player player = (Player) sender; - final ItemStack item = player.getInventory().getItemInMainHand(); - - if (Material.AIR.equals(item.getType())) { - player.sendMessage(Component - .text("Please hold an item in your hand to enchant it")); - } else { - for (Enchantment enchantment : Enchantment.values()) { - item.addUnsafeEnchantment(enchantment, Short.MAX_VALUE); - } - player.sendMessage(Component - .text("I killed Martin.")); - } + return true; } + + final Player player = (Player) sender; + final ItemStack item = player.getInventory().getItemInMainHand(); + + if (Material.AIR.equals(item.getType())) { + player.sendMessage(Component + .text("Please hold an item in your hand to enchant it")); + return true; + } + + for (Enchantment enchantment : Enchantment.values()) { + item.addUnsafeEnchantment(enchantment, Short.MAX_VALUE); + } + player.sendMessage(Component + .text("I killed Martin.")); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java b/src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java index 3adac6d..d9661b0 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java @@ -18,22 +18,22 @@ public class CommandGetJSON implements CommandExecutor { if (args.length == 0) { sender.sendMessage(Component .text("Usage: /" + label + " ", NamedTextColor.RED)); - } else { - final String message = String.join(" ", args); - Component createdComponent = LegacyComponentSerializer - .legacyAmpersand() - .deserialize(message); - - String asJson = GsonComponentSerializer.gson().serialize(createdComponent); - - Component feedback = Component.empty() - .append(Component.text("Your component as JSON (click to copy): ")) - .append(Component.text(asJson, NamedTextColor.GREEN)) - .clickEvent(ClickEvent.copyToClipboard(asJson)); - - sender.sendMessage(feedback); + return true; } + final String message = String.join(" ", args); + Component createdComponent = LegacyComponentSerializer + .legacyAmpersand() + .deserialize(message); + + String asJson = GsonComponentSerializer.gson().serialize(createdComponent); + + Component feedback = Component.empty() + .append(Component.text("Your component as JSON (click to copy): ")) + .append(Component.text(asJson, NamedTextColor.GREEN)) + .clickEvent(ClickEvent.copyToClipboard(asJson)); + + sender.sendMessage(feedback); return true; } -} \ No newline at end of file +} diff --git a/src/main/java/pw/kaboom/extras/commands/CommandJumpscare.java b/src/main/java/pw/kaboom/extras/commands/CommandJumpscare.java index f8c7aa1..2bf6284 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandJumpscare.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandJumpscare.java @@ -31,26 +31,30 @@ public final class CommandJumpscare implements CommandExecutor { sender.sendMessage(Component .text("Usage: /" + label + " ", NamedTextColor.RED)); - } else { - if (args[0].equals("*") || args[0].equals("**")) { - for (Player onlinePlayer : Bukkit.getOnlinePlayers()) { - createJumpscare(onlinePlayer); - } - sender.sendMessage(Component - .text("Successfully created jumpscare for every player")); - } else { - final Player target = Bukkit.getPlayer(args[0]); - if (target != null) { - createJumpscare(target); - sender.sendMessage(Component - .text("Successfully created jumpscare for player \"" - + target.getName() + "\"")); - } else { - sender.sendMessage(Component - .text("Player \"" + args[0] + "\" not found")); - } - } + return true; } + + if (args[0].equals("*") || args[0].equals("**")) { + for (Player onlinePlayer : Bukkit.getOnlinePlayers()) { + createJumpscare(onlinePlayer); + } + sender.sendMessage(Component + .text("Successfully created jumpscare for every player")); + return true; + } + + final Player target = Bukkit.getPlayer(args[0]); + + if (target == null) { + sender.sendMessage(Component + .text("Player \"" + args[0] + "\" not found")); + return true; + } + + createJumpscare(target); + sender.sendMessage(Component + .text("Successfully created jumpscare for player \"" + + target.getName() + "\"")); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java b/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java index 1f9d538..ede8fdc 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandKaboom.java @@ -43,10 +43,11 @@ public final class CommandKaboom implements CommandExecutor { } player.sendMessage(Component.text("Forgive me :c")); - } else { - player.getInventory().setItemInMainHand(new ItemStack(Material.CAKE)); - player.sendMessage(Component.text("Have a nice day :)")); + return true; } + + player.getInventory().setItemInMainHand(new ItemStack(Material.CAKE)); + player.sendMessage(Component.text("Have a nice day :)")); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandPrefix.java b/src/main/java/pw/kaboom/extras/commands/CommandPrefix.java index b33163d..c093d3f 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandPrefix.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandPrefix.java @@ -28,32 +28,36 @@ public final class CommandPrefix implements CommandExecutor { if (sender instanceof ConsoleCommandSender) { sender.sendMessage(Component .text("Command has to be run by a player")); - } else { - final Player player = (Player) sender; + return true; + } - try { - if (args.length == 0) { - player.sendMessage(Component - .text("Usage: /" + label + " ", - NamedTextColor.RED)); - } else if ("off".equalsIgnoreCase(args[0])) { - PREFIX_CONFIG.set(player.getUniqueId().toString(), null); - PREFIX_CONFIG.save(PREFIX_CONFIG_FILE); - player.sendMessage(Component - .text("You no longer have a tag")); - } else { - PREFIX_CONFIG.set(player.getUniqueId().toString(), String.join(" ", args)); - PREFIX_CONFIG.save(PREFIX_CONFIG_FILE); - player.sendMessage(Component.text("You now have the tag: ") - .append(LegacyComponentSerializer.legacyAmpersand() - .deserialize(String.join(" ", args)))); - } - } catch (Exception exception) { + final Player player = (Player) sender; + + if (args.length == 0) { + player.sendMessage(Component + .text("Usage: /" + label + " ", + NamedTextColor.RED)); + return true; + } + + try { + if ("off".equalsIgnoreCase(args[0])) { + PREFIX_CONFIG.set(player.getUniqueId().toString(), null); + PREFIX_CONFIG.save(PREFIX_CONFIG_FILE); player.sendMessage(Component - .text("Something went wrong while saving the prefix. " + - "Please check console.")); - exception.printStackTrace(); + .text("You no longer have a tag")); + } else { + PREFIX_CONFIG.set(player.getUniqueId().toString(), String.join(" ", args)); + PREFIX_CONFIG.save(PREFIX_CONFIG_FILE); + player.sendMessage(Component.text("You now have the tag: ") + .append(LegacyComponentSerializer.legacyAmpersand() + .deserialize(String.join(" ", args)))); } + } catch (Exception exception) { + player.sendMessage(Component + .text("Something went wrong while saving the prefix. " + + "Please check console.")); + exception.printStackTrace(); } return true; } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandPumpkin.java b/src/main/java/pw/kaboom/extras/commands/CommandPumpkin.java index 668d4fd..a1abd50 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandPumpkin.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandPumpkin.java @@ -25,22 +25,26 @@ public final class CommandPumpkin implements CommandExecutor { sender.sendMessage(Component .text("Usage: /" + label + " ", NamedTextColor.RED)); - } else { - if (args[0].equals("*") || args[0].equals("**")) { - for (Player onlinePlayer : Bukkit.getOnlinePlayers()) { - placePumpkin(onlinePlayer); - } - sender.sendMessage("Everyone is now a pumpkin"); - } else { - final Player target = Bukkit.getPlayer(args[0]); - if (target != null) { - placePumpkin(target); - sender.sendMessage("Player \"" + target.getName() + "\" is now a pumpkin"); - } else { - sender.sendMessage("Player \"" + args[0] + "\" not found"); - } - } + return true; } + + if (args[0].equals("*") || args[0].equals("**")) { + for (Player onlinePlayer : Bukkit.getOnlinePlayers()) { + placePumpkin(onlinePlayer); + } + sender.sendMessage("Everyone is now a pumpkin"); + return true; + } + + final Player target = Bukkit.getPlayer(args[0]); + + if (target == null) { + sender.sendMessage("Player \"" + args[0] + "\" not found"); + return true; + } + + placePumpkin(target); + sender.sendMessage("Player \"" + target.getName() + "\" is now a pumpkin"); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandSkin.java b/src/main/java/pw/kaboom/extras/commands/CommandSkin.java index ad71926..8209541 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandSkin.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandSkin.java @@ -22,28 +22,32 @@ public final class CommandSkin implements CommandExecutor { if (sender instanceof ConsoleCommandSender) { sender.sendMessage(Component .text("Command has to be run by a player")); - } else { - final Player player = (Player) sender; - - final long millisDifference = System.currentTimeMillis() - millis; - - if (args.length == 0) { - player.sendMessage(Component - .text("Usage: /" + label + " ", - NamedTextColor.RED)); - } else if (millisDifference <= 2000) { - player.sendMessage(Component - .text("Please wait a few seconds before changing your skin")); - } else { - final String name = args[0]; - final boolean shouldSendMessage = true; - - SkinDownloader skinDownloader = new SkinDownloader(); - skinDownloader.applySkin(player, name, shouldSendMessage); - - millis = System.currentTimeMillis(); - } + return true; } + + final Player player = (Player) sender; + final long millisDifference = System.currentTimeMillis() - millis; + + if (args.length == 0) { + player.sendMessage(Component + .text("Usage: /" + label + " ", + NamedTextColor.RED)); + return true; + } + + if (millisDifference <= 2000) { + player.sendMessage(Component + .text("Please wait a few seconds before changing your skin")); + return true; + } + + final String name = args[0]; + final boolean shouldSendMessage = true; + + SkinDownloader skinDownloader = new SkinDownloader(); + skinDownloader.applySkin(player, name, shouldSendMessage); + + millis = System.currentTimeMillis(); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java b/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java index 6cd00c3..6d9456f 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java @@ -22,28 +22,29 @@ public final class CommandSpawn implements CommandExecutor { if (sender instanceof ConsoleCommandSender) { sender.sendMessage(Component .text("Command has to be run by a player")); - } else { - final Player player = (Player) sender; - final World defaultWorld = Bukkit.getWorld("world"); - final World world = (defaultWorld == null) ? Bukkit.getWorlds().get(0) : defaultWorld; - final Location spawnLocation = world.getSpawnLocation(); - final int maxWorldHeight = 256; - - for (double y = spawnLocation.getY(); y <= maxWorldHeight; y++) { - final Location yLocation = new Location(world, spawnLocation.getX(), y, - spawnLocation.getZ()); - final Block coordBlock = world.getBlockAt(yLocation); - - if (!coordBlock.getType().isSolid() - && !coordBlock.getRelative(BlockFace.UP).getType().isSolid()) { - player.teleportAsync(yLocation); - break; - } - } - - player.sendMessage(Component - .text("Successfully moved to spawn")); + return true; } + + final Player player = (Player) sender; + final World defaultWorld = Bukkit.getWorld("world"); + final World world = (defaultWorld == null) ? Bukkit.getWorlds().get(0) : defaultWorld; + final Location spawnLocation = world.getSpawnLocation(); + final int maxWorldHeight = 256; + + for (double y = spawnLocation.getY(); y <= maxWorldHeight; y++) { + final Location yLocation = new Location(world, spawnLocation.getX(), y, + spawnLocation.getZ()); + final Block coordBlock = world.getBlockAt(yLocation); + + if (!coordBlock.getType().isSolid() + && !coordBlock.getRelative(BlockFace.UP).getType().isSolid()) { + player.teleportAsync(yLocation); + break; + } + } + + player.sendMessage(Component + .text("Successfully moved to spawn")); return true; } } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandSpidey.java b/src/main/java/pw/kaboom/extras/commands/CommandSpidey.java index af47569..bb48e99 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandSpidey.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandSpidey.java @@ -21,27 +21,28 @@ public final class CommandSpidey implements CommandExecutor { if (sender instanceof ConsoleCommandSender) { sender.sendMessage(Component .text("Command has to be run by a player")); - } else { - final Player player = (Player) sender; - final World world = player.getWorld(); - final Vector start = player.getEyeLocation().toVector(); - final Vector direction = player.getEyeLocation().getDirection(); - final int yOffset = 0; - final int distance = 50; + return true; + } - final BlockIterator blockIterator = new BlockIterator( - world, - start, - direction, - yOffset, - distance - ); + final Player player = (Player) sender; + final World world = player.getWorld(); + final Vector start = player.getEyeLocation().toVector(); + final Vector direction = player.getEyeLocation().getDirection(); + final int yOffset = 0; + final int distance = 50; - while (blockIterator.hasNext() - && (Material.AIR.equals(blockIterator.next().getType()) - || Material.CAVE_AIR.equals(blockIterator.next().getType()))) { - blockIterator.next().setType(Material.COBWEB); - } + final BlockIterator blockIterator = new BlockIterator( + world, + start, + direction, + yOffset, + distance + ); + + while (blockIterator.hasNext() + && (Material.AIR.equals(blockIterator.next().getType()) + || Material.CAVE_AIR.equals(blockIterator.next().getType()))) { + blockIterator.next().setType(Material.COBWEB); } return true; } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandTellraw.java b/src/main/java/pw/kaboom/extras/commands/CommandTellraw.java index 28b5bb1..f2baa77 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandTellraw.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandTellraw.java @@ -19,13 +19,14 @@ public final class CommandTellraw implements CommandExecutor { if (args.length == 0) { sender.sendMessage(Component .text("Usage: /" + label + " ", NamedTextColor.RED)); - } else { - final Component message = LegacyComponentSerializer.legacyAmpersand() - .deserialize(String.join(" ", args)); + return true; + } - for (Player onlinePlayer: Bukkit.getOnlinePlayers()) { - onlinePlayer.sendMessage(message); - } + final Component message = LegacyComponentSerializer.legacyAmpersand() + .deserialize(String.join(" ", args)); + + for (Player onlinePlayer: Bukkit.getOnlinePlayers()) { + onlinePlayer.sendMessage(message); } return true; } diff --git a/src/main/java/pw/kaboom/extras/commands/CommandUsername.java b/src/main/java/pw/kaboom/extras/commands/CommandUsername.java index b3d554e..912d3ba 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandUsername.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandUsername.java @@ -24,45 +24,48 @@ public final class CommandUsername implements CommandExecutor { if (sender instanceof ConsoleCommandSender) { sender.sendMessage(Component .text("Command has to be run by a player")); - } else { - final Player player = (Player) sender; - - final String nameColor = ChatColor.translateAlternateColorCodes( - '&', String.join(" ", args)); - final String name = nameColor.substring(0, Math.min(16, nameColor.length())); - - final long millisDifference = System.currentTimeMillis() - millis; - - if (args.length == 0) { - player.sendMessage(Component - .text("Usage: /" + label + " ", - NamedTextColor.RED)); - } else if (name.equals(player.getName())) { - player.sendMessage(Component - .text("You already have the username \"" + name + "\"")); - } else if (millisDifference <= 2000) { - player.sendMessage(Component - .text("Please wait a few seconds before changing your username.")); - } else { - if (Bukkit.getPlayer(name) != null) { - player.sendMessage(Component - .text("A player with that username is already logged in.")); - return true; - } - - final PlayerProfile profile = player.getPlayerProfile(); - - //FIXME Marked for removal - profile.setName(name); - - player.setPlayerProfile(profile); - - millis = System.currentTimeMillis(); - - player.sendMessage(Component - .text("Successfully set your username to \"" + name + "\"")); - } + return true; } + + final Player player = (Player) sender; + final String nameColor = ChatColor.translateAlternateColorCodes( + '&', String.join(" ", args)); + final String name = nameColor.substring(0, Math.min(16, nameColor.length())); + final long millisDifference = System.currentTimeMillis() - millis; + + if (args.length == 0) { + player.sendMessage(Component + .text("Usage: /" + label + " ", + NamedTextColor.RED)); + return true; + } + + if (name.equals(player.getName())) { + player.sendMessage(Component + .text("You already have the username \"" + name + "\"")); + return true; + } + + if (millisDifference <= 2000) { + player.sendMessage(Component + .text("Please wait a few seconds before changing your username.")); + return true; + } + + if (Bukkit.getPlayer(name) != null) { + player.sendMessage(Component + .text("A player with that username is already logged in.")); + return true; + } + + final PlayerProfile profile = player.getPlayerProfile(); + + profile.setName(name); // FIXME: Marked for removal + player.setPlayerProfile(profile); + millis = System.currentTimeMillis(); + + player.sendMessage(Component + .text("Successfully set your username to \"" + name + "\"")); return true; } }