From fa5c3eca6fff10fae013f6cc45c999bb5247c5a4 Mon Sep 17 00:00:00 2001 From: Minenash Date: Wed, 30 Jan 2019 17:22:54 -0500 Subject: Made the Naming Module use xp levels if the player is in survival mode. Also, updated the help page. --- .../java/com/redstoner/modules/naming/Naming.cmd | 2 +- .../java/com/redstoner/modules/naming/Naming.java | 42 ++++++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/redstoner/modules/naming/Naming.cmd b/src/main/java/com/redstoner/modules/naming/Naming.cmd index f21f15a..35a2dc6 100644 --- a/src/main/java/com/redstoner/modules/naming/Naming.cmd +++ b/src/main/java/com/redstoner/modules/naming/Naming.cmd @@ -19,6 +19,6 @@ command lore { [optional:-a] [string:lore...] { run lore -a lore; type player; - help Adds lore to item in hand.; + help Adds lore to item in hand. Use &e-a&b to append to the lore.; } } \ No newline at end of file diff --git a/src/main/java/com/redstoner/modules/naming/Naming.java b/src/main/java/com/redstoner/modules/naming/Naming.java index f445336..a70a6d1 100644 --- a/src/main/java/com/redstoner/modules/naming/Naming.java +++ b/src/main/java/com/redstoner/modules/naming/Naming.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryType; @@ -20,7 +21,7 @@ import com.redstoner.modules.Module; import net.md_5.bungee.api.ChatColor; @Commands(CommandHolderType.File) -@Version(major = 5, minor = 0, revision = 0, compatible = 4) +@Version(major = 5, minor = 1, revision = 0, compatible = 4) public class Naming implements Module { @Command(hook = "anvil") @@ -34,8 +35,20 @@ public class Naming implements Module @Command(hook = "name") public void name(CommandSender sender, String name) { + Player player = (Player) sender; + + if (player.getGameMode() == GameMode.SURVIVAL) { + int level = player.getLevel(); + if (level < 1) { + getLogger().message(sender, true, "You don't have enough levels to rename the item."); + return; + } + else + player.setLevel(level-1); + } + name = ChatColor.translateAlternateColorCodes('&', name); - ItemStack item = ((Player) sender).getInventory().getItemInMainHand(); + ItemStack item = player.getInventory().getItemInMainHand(); ItemMeta meta = item.getItemMeta(); if (meta == null) { @@ -44,14 +57,26 @@ public class Naming implements Module } meta.setDisplayName(name); item.setItemMeta(meta); - getLogger().message(sender, "Name set to " + name); - ((Player) sender).updateInventory(); + getLogger().message(sender, "Name set to &f&o" + name + "&7."); + player.updateInventory(); } @Command(hook = "lore") public void lore(CommandSender sender, boolean append, String lore) { - ItemStack item = ((Player) sender).getInventory().getItemInMainHand(); + Player player = (Player) sender; + + if (player.getGameMode() == GameMode.SURVIVAL) { + int level = player.getLevel(); + if (level < 1) { + getLogger().message(sender, true, "You don't have enough levels to rename the item."); + return; + } + else + player.setLevel(level-1); + } + + ItemStack item = player.getInventory().getItemInMainHand(); ItemMeta meta = item.getItemMeta(); if (meta == null) { @@ -69,7 +94,10 @@ public class Naming implements Module currentLore.add(lore); meta.setLore(currentLore); item.setItemMeta(meta); - getLogger().message(sender, "Lore set to " + lore); - ((Player) sender).updateInventory(); + if (append) + getLogger().message(sender, "Appended the following line to the lore: &5&o" + lore + "&7."); + else + getLogger().message(sender, "Lore set to &5&o" + lore + "&7."); + player.updateInventory(); } } -- cgit v1.2.3