diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..030396b --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +target/ +.idea/ +.git/ +pom.xml +WolfFFA.iml diff --git a/src/main/java/hu/jgj52/wolfFFA/Commands/EditKitCommand.java b/src/main/java/hu/jgj52/wolfFFA/Commands/EditKitCommand.java index 063de31..2a70313 100644 --- a/src/main/java/hu/jgj52/wolfFFA/Commands/EditKitCommand.java +++ b/src/main/java/hu/jgj52/wolfFFA/Commands/EditKitCommand.java @@ -3,7 +3,6 @@ package hu.jgj52.wolfFFA.Commands; import hu.jgj52.wolfFFA.Main; import org.bukkit.Bukkit; import org.bukkit.Material; -import org.bukkit.NamespacedKey; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -13,10 +12,13 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.persistence.PersistentDataType; +import org.bukkit.inventory.meta.PotionMeta; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Collections; import java.util.List; public class EditKitCommand implements CommandExecutor, TabCompleter { @@ -40,18 +42,20 @@ public class EditKitCommand implements CommandExecutor, TabCompleter { return -1; } - private int[] getItemSlotArray(String key, String kit, Player player) { + private @NotNull List getItemSlotArray(String key, String kit, Player player) { String path = "kits." + kit + "." + player.getUniqueId() + "." + key; if (plugin.getConfig().contains(path)) { - try { - return new int[]{plugin.getConfig().getInt(path)}; - } catch (NumberFormatException e) { - plugin.getLogger().warning("Invalid slot number in config for " + path); + List slots = plugin.getConfig().getIntegerList(path); + + if (!slots.isEmpty()) { + return slots; + } else { + plugin.getLogger().warning("Invalid or empty slot numbers in config for " + path); } } - return new int[]{-1}; + return Collections.singletonList(-1); } @Override @@ -95,93 +99,197 @@ public class EditKitCommand implements CommandExecutor, TabCompleter { Inventory inv = player.getInventory(); switch (args[0]) { case "sword": - ItemStack swordsword = new ItemStack(Material.DIAMOND_SWORD); - swordsword.addEnchantment(Enchantment.UNBREAKING, 3); + if (true) { + ItemStack sword = new ItemStack(Material.DIAMOND_SWORD); + sword.addEnchantment(Enchantment.UNBREAKING, 3); - inv.clear(); + inv.clear(); - inv.setItem(getItemSlot("sword", "sword", player), swordsword); + inv.setItem(getItemSlot("sword", "sword", player), sword); - infoMeta.setDisplayName("§fSword Kit"); - infoItem.setItemMeta(infoMeta); - gui.setItem(3, infoItem); - gui.setItem(4, infoItem); - gui.setItem(5, infoItem); - gui.setItem(12, infoItem); - gui.setItem(13, infoItem); - gui.setItem(14, infoItem); - gui.setItem(21, infoItem); - gui.setItem(22, infoItem); - gui.setItem(23, infoItem); + infoMeta.setDisplayName("§fSword Kit"); + infoItem.setItemMeta(infoMeta); + gui.setItem(3, infoItem); + gui.setItem(4, infoItem); + gui.setItem(5, infoItem); + gui.setItem(12, infoItem); + gui.setItem(13, infoItem); + gui.setItem(14, infoItem); + gui.setItem(21, infoItem); + gui.setItem(22, infoItem); + gui.setItem(23, infoItem); - player.openInventory(gui); + player.openInventory(gui); + } break; case "uhc": - ItemStack uhchelmet = new ItemStack(Material.DIAMOND_HELMET); - ItemStack uhcchestplate = new ItemStack(Material.DIAMOND_CHESTPLATE); - ItemStack uhcleggings = new ItemStack(Material.DIAMOND_LEGGINGS); - ItemStack uhcboots = new ItemStack(Material.DIAMOND_BOOTS); - ItemStack uhcaxe = new ItemStack(Material.DIAMOND_AXE); - ItemStack uhcsword = new ItemStack(Material.DIAMOND_SWORD); - ItemStack uhclava = new ItemStack(Material.LAVA_BUCKET); - ItemStack uhccobweb = new ItemStack(Material.COBWEB, 8); - ItemStack uhccobblestone = new ItemStack(Material.COBBLESTONE, 64); - ItemStack uhcgoldenapple = new ItemStack(Material.GOLDEN_APPLE, 13); - ItemStack uhcwater = new ItemStack(Material.WATER_BUCKET); - ItemStack uhccrossbow = new ItemStack(Material.CROSSBOW); - ItemStack uhcbow = new ItemStack(Material.BOW); - ItemStack uhcarrow = new ItemStack(Material.ARROW, 16); - ItemStack uhcshield = new ItemStack(Material.SHIELD); - ItemStack uhcplanks = new ItemStack(Material.OAK_PLANKS, 64); - ItemStack uhcpickaxe = new ItemStack(Material.DIAMOND_PICKAXE); + if (true) { + ItemStack helmet = new ItemStack(Material.DIAMOND_HELMET); + ItemStack chestplate = new ItemStack(Material.DIAMOND_CHESTPLATE); + ItemStack leggings = new ItemStack(Material.DIAMOND_LEGGINGS); + ItemStack boots = new ItemStack(Material.DIAMOND_BOOTS); + ItemStack axe = new ItemStack(Material.DIAMOND_AXE); + ItemStack sword = new ItemStack(Material.DIAMOND_SWORD); + ItemStack lava = new ItemStack(Material.LAVA_BUCKET); + ItemStack cobweb = new ItemStack(Material.COBWEB, 8); + ItemStack cobblestone = new ItemStack(Material.COBBLESTONE, 64); + ItemStack goldenapple = new ItemStack(Material.GOLDEN_APPLE, 13); + ItemStack water = new ItemStack(Material.WATER_BUCKET); + ItemStack crossbow = new ItemStack(Material.CROSSBOW); + ItemStack bow = new ItemStack(Material.BOW); + ItemStack arrow = new ItemStack(Material.ARROW, 16); + ItemStack shield = new ItemStack(Material.SHIELD); + ItemStack planks = new ItemStack(Material.OAK_PLANKS, 64); + ItemStack pickaxe = new ItemStack(Material.DIAMOND_PICKAXE); - inv.clear(); + inv.clear(); - uhchelmet.addEnchantment(Enchantment.PROTECTION, 2); - uhcchestplate.addEnchantment(Enchantment.PROTECTION, 3); - uhcleggings.addEnchantment(Enchantment.PROTECTION, 3); - uhcboots.addEnchantment(Enchantment.PROTECTION, 3); - uhcaxe.addEnchantment(Enchantment.SHARPNESS, 1); - uhcaxe.addEnchantment(Enchantment.EFFICIENCY, 3); - uhcsword.addEnchantment(Enchantment.SHARPNESS, 4); - uhccrossbow.addEnchantment(Enchantment.PIERCING, 1); - uhcbow.addEnchantment(Enchantment.POWER, 1); - uhcpickaxe.addEnchantment(Enchantment.UNBREAKING,3); - uhcpickaxe.addEnchantment(Enchantment.EFFICIENCY, 3); + helmet.addEnchantment(Enchantment.PROTECTION, 2); + chestplate.addEnchantment(Enchantment.PROTECTION, 3); + leggings.addEnchantment(Enchantment.PROTECTION, 3); + boots.addEnchantment(Enchantment.PROTECTION, 3); + axe.addEnchantment(Enchantment.SHARPNESS, 1); + axe.addEnchantment(Enchantment.EFFICIENCY, 3); + sword.addEnchantment(Enchantment.SHARPNESS, 4); + crossbow.addEnchantment(Enchantment.PIERCING, 1); + bow.addEnchantment(Enchantment.POWER, 1); + pickaxe.addEnchantment(Enchantment.UNBREAKING, 3); + pickaxe.addEnchantment(Enchantment.EFFICIENCY, 3); - inv.setItem(getItemSlot("axe", "uhc", player), uhcaxe); - inv.setItem(getItemSlot("sword", "uhc", player), uhcsword); - for (int slot : getItemSlotArray("lava", "uhc", player)) { - inv.setItem(slot, uhclava); + inv.setItem(getItemSlot("axe", "uhc", player), axe); + inv.setItem(getItemSlot("sword", "uhc", player), sword); + for (int slot : getItemSlotArray("lava", "uhc", player)) { + inv.setItem(slot, lava); + } + inv.setItem(getItemSlot("cobweb", "uhc", player), cobweb); + inv.setItem(getItemSlot("cobblestone", "uhc", player), cobblestone); + inv.setItem(getItemSlot("goldenapple", "uhc", player), goldenapple); + for (int slot : getItemSlotArray("water", "uhc", player)) { + inv.setItem(slot, water); + } + inv.setItem(getItemSlot("crossbow", "uhc", player), crossbow); + inv.setItem(getItemSlot("bow", "uhc", player), bow); + for (int slot : getItemSlotArray("shield", "uhc", player)) { + inv.setItem(slot, shield); + } + inv.setItem(getItemSlot("arrow", "uhc", player), arrow); + inv.setItem(getItemSlot("planks", "uhc", player), planks); + inv.setItem(getItemSlot("pickaxe", "uhc", player), pickaxe); + + infoMeta.setDisplayName("§fUHC Kit"); + infoItem.setItemMeta(infoMeta); + gui.setItem(3, infoItem); + gui.setItem(4, infoItem); + gui.setItem(5, infoItem); + gui.setItem(12, infoItem); + gui.setItem(13, infoItem); + gui.setItem(14, infoItem); + gui.setItem(21, infoItem); + gui.setItem(22, infoItem); + gui.setItem(23, infoItem); + + player.openInventory(gui); } - inv.setItem(getItemSlot("cobweb", "uhc", player), uhccobweb); - inv.setItem(getItemSlot("cobblestone", "uhc", player), uhccobblestone); - inv.setItem(getItemSlot("goldenapple", "uhc", player), uhcgoldenapple); - for (int slot : getItemSlotArray("water", "uhc", player)) { - inv.setItem(slot, uhcwater); - } - inv.setItem(getItemSlot("crossbow", "uhc", player), uhccrossbow); - inv.setItem(getItemSlot("bow", "uhc", player), uhcbow); - for (int slot : getItemSlotArray("shield", "uhc", player)) { - inv.setItem(slot, uhcshield); - } - inv.setItem(getItemSlot("arrow", "uhc", player), uhcarrow); - inv.setItem(getItemSlot("planks", "uhc", player), uhcplanks); - inv.setItem(getItemSlot("pickaxe", "uhc", player), uhcpickaxe); + break; + case "boxcart": + if (true) { + ItemStack axe = new ItemStack(Material.NETHERITE_AXE); + ItemStack sword = new ItemStack(Material.NETHERITE_SWORD); + ItemStack enderpearl = new ItemStack(Material.ENDER_PEARL, 16); + ItemStack rail = new ItemStack(Material.RAIL, 64); + ItemStack cart = new ItemStack(Material.TNT_MINECART); + ItemStack goldenapple = new ItemStack(Material.GOLDEN_APPLE, 64); + ItemStack cobweb = new ItemStack(Material.COBWEB, 64); + ItemStack shield = new ItemStack(Material.SHIELD); + ItemStack bow = new ItemStack(Material.BOW); + ItemStack arrow = new ItemStack(Material.ARROW, 64); + ItemStack fireresistance = new ItemStack(Material.SPLASH_POTION); + ItemStack strength = new ItemStack(Material.SPLASH_POTION); + ItemStack speed = new ItemStack(Material.SPLASH_POTION); + ItemStack cherrylog = new ItemStack(Material.CHERRY_LOG, 64); + ItemStack crossbow = new ItemStack(Material.CROSSBOW); + ItemStack flintandsteel = new ItemStack(Material.FLINT_AND_STEEL); + ItemStack totem = new ItemStack(Material.TOTEM_OF_UNDYING); - infoMeta.setDisplayName("§fUHC Kit"); - infoItem.setItemMeta(infoMeta); - gui.setItem(3, infoItem); - gui.setItem(4, infoItem); - gui.setItem(5, infoItem); - gui.setItem(12, infoItem); - gui.setItem(13, infoItem); - gui.setItem(14, infoItem); - gui.setItem(21, infoItem); - gui.setItem(22, infoItem); - gui.setItem(23, infoItem); + sword.addEnchantment(Enchantment.SHARPNESS, 5); + sword.addEnchantment(Enchantment.SWEEPING_EDGE, 3); + sword.addEnchantment(Enchantment.FIRE_ASPECT, 2); + sword.addEnchantment(Enchantment.KNOCKBACK, 1); + sword.addEnchantment(Enchantment.UNBREAKING, 3); + sword.addEnchantment(Enchantment.MENDING, 1); + axe.addEnchantment(Enchantment.SHARPNESS, 5); + axe.addEnchantment(Enchantment.EFFICIENCY, 5); + axe.addEnchantment(Enchantment.UNBREAKING, 3); + axe.addEnchantment(Enchantment.MENDING, 1); + bow.addEnchantment(Enchantment.POWER, 5); + bow.addEnchantment(Enchantment.PUNCH, 2); + bow.addEnchantment(Enchantment.FLAME, 1); + bow.addEnchantment(Enchantment.UNBREAKING, 3); + bow.addEnchantment(Enchantment.MENDING, 1); + crossbow.addEnchantment(Enchantment.PIERCING, 4); + crossbow.addEnchantment(Enchantment.QUICK_CHARGE, 3); + crossbow.addEnchantment(Enchantment.UNBREAKING, 3); + crossbow.addEnchantment(Enchantment.MENDING, 1); + flintandsteel.addEnchantment(Enchantment.UNBREAKING, 3); + flintandsteel.addEnchantment(Enchantment.MENDING, 1); + shield.addEnchantment(Enchantment.UNBREAKING, 3); + shield.addEnchantment(Enchantment.MENDING, 1); - player.openInventory(gui); + PotionMeta fireresistancemeta = (PotionMeta) fireresistance.getItemMeta(); + fireresistancemeta.addCustomEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE, 9600, 0), true); + fireresistancemeta.setDisplayName("§fSplash Potion of Fire Resistance"); + fireresistance.setItemMeta(fireresistancemeta); + PotionMeta strengthmeta = (PotionMeta) strength.getItemMeta(); + strengthmeta.addCustomEffect(new PotionEffect(PotionEffectType.STRENGTH, 1800, 1), true); + strengthmeta.setDisplayName("§fSplash Potion of Strength"); + strength.setItemMeta(strengthmeta); + PotionMeta speedmeta = (PotionMeta) speed.getItemMeta(); + speedmeta.addCustomEffect(new PotionEffect(PotionEffectType.SPEED, 1800, 1), true); + speedmeta.setDisplayName("§fSplash Potion of Swiftness"); + speed.setItemMeta(speedmeta); + + inv.setItem(getItemSlot("axe", "boxcart", player), axe); + inv.setItem(getItemSlot("sword", "boxcart", player), sword); + for (int slot : getItemSlotArray("enderpearl", "boxcart", player)) { + inv.setItem(slot, enderpearl); + } + inv.setItem(getItemSlot("rail", "boxcart", player), rail); + for (int slot : getItemSlotArray("cart", "boxcart", player)) { + inv.setItem(slot, cart); + } + inv.setItem(getItemSlot("goldenapple", "boxcart", player), goldenapple); + inv.setItem(getItemSlot("cobweb", "boxcart", player), cobweb); + inv.setItem(getItemSlot("shield", "boxcart", player), shield); + inv.setItem(getItemSlot("bow", "boxcart", player), bow); + inv.setItem(getItemSlot("arrow", "boxcart", player), arrow); + for (int slot : getItemSlotArray("fireresistance", "boxcart", player)) { + inv.setItem(slot, fireresistance); + } + for (int slot : getItemSlotArray("strength", "boxcart", player)) { + inv.setItem(slot, strength); + } + for (int slot : getItemSlotArray("speed", "boxcart", player)) { + inv.setItem(slot, speed); + } + inv.setItem(getItemSlot("cherrylog", "boxcart", player), cherrylog); + inv.setItem(getItemSlot("crossbow", "boxcart", player), crossbow); + inv.setItem(getItemSlot("flintandsteel", "boxcart", player), flintandsteel); + inv.setItem(getItemSlot("totem", "boxcart", player), totem); + + infoMeta.setDisplayName("§fBoxCart Kit"); + infoItem.setItemMeta(infoMeta); + gui.setItem(3, infoItem); + gui.setItem(4, infoItem); + gui.setItem(5, infoItem); + gui.setItem(12, infoItem); + gui.setItem(13, infoItem); + gui.setItem(14, infoItem); + gui.setItem(21, infoItem); + gui.setItem(22, infoItem); + gui.setItem(23, infoItem); + + player.openInventory(gui); + } break; default: player.sendMessage("§cNincs ilyen FFA típus!"); @@ -196,7 +304,7 @@ public class EditKitCommand implements CommandExecutor, TabCompleter { @Override public @Nullable List onTabComplete(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) { if (args.length == 1) { - return List.of("sword", "uhc"); + return List.of("sword", "uhc", "boxcart"); } return List.of(); } diff --git a/src/main/java/hu/jgj52/wolfFFA/Commands/TpToFfaCommand.java b/src/main/java/hu/jgj52/wolfFFA/Commands/TpToFfaCommand.java index 14e8cbe..ccb282e 100644 --- a/src/main/java/hu/jgj52/wolfFFA/Commands/TpToFfaCommand.java +++ b/src/main/java/hu/jgj52/wolfFFA/Commands/TpToFfaCommand.java @@ -12,10 +12,13 @@ import org.bukkit.command.TabCompleter; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.PotionMeta; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class TpToFfaCommand implements CommandExecutor, TabCompleter { @@ -40,20 +43,23 @@ public class TpToFfaCommand implements CommandExecutor, TabCompleter { return -1; } - private int[] getItemSlotArray(String key, String kit, Player player) { + private @NotNull List getItemSlotArray(String key, String kit, Player player) { String path = "kits." + kit + "." + player.getUniqueId() + "." + key; if (plugin.getConfig().contains(path)) { - try { - return new int[]{plugin.getConfig().getInt(path)}; - } catch (NumberFormatException e) { - plugin.getLogger().warning("Invalid slot number in config for " + path); + List slots = plugin.getConfig().getIntegerList(path); + + if (!slots.isEmpty()) { + return slots; + } else { + plugin.getLogger().warning("Invalid or empty slot numbers in config for " + path); } } - return new int[]{-1}; + return Collections.singletonList(-1); } + @Override public boolean onCommand(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) { if (cmds.hasPermission("wolfffa.admin.tptoffa")) { @@ -176,11 +182,62 @@ public class TpToFfaCommand implements CommandExecutor, TabCompleter { ItemStack bow = new ItemStack(Material.BOW); ItemStack arrow = new ItemStack(Material.ARROW, 64); ItemStack fireresistance = new ItemStack(Material.SPLASH_POTION); - ItemStack strenght = new ItemStack(Material.SPLASH_POTION); + ItemStack strength = new ItemStack(Material.SPLASH_POTION); ItemStack speed = new ItemStack(Material.SPLASH_POTION); ItemStack cherrylog = new ItemStack(Material.CHERRY_LOG, 64); ItemStack crossbow = new ItemStack(Material.CROSSBOW); ItemStack flintandsteel = new ItemStack(Material.FLINT_AND_STEEL); + ItemStack totem = new ItemStack(Material.TOTEM_OF_UNDYING); + + helmet.addEnchantment(Enchantment.PROTECTION, 4); + helmet.addEnchantment(Enchantment.RESPIRATION, 3); + helmet.addEnchantment(Enchantment.UNBREAKING, 3); + helmet.addEnchantment(Enchantment.MENDING, 1); + chestplate.addEnchantment(Enchantment.PROTECTION, 4); + chestplate.addEnchantment(Enchantment.UNBREAKING, 3); + chestplate.addEnchantment(Enchantment.MENDING, 1); + leggings.addEnchantment(Enchantment.PROTECTION, 4); + leggings.addEnchantment(Enchantment.UNBREAKING, 3); + leggings.addEnchantment(Enchantment.MENDING, 1); + boots.addEnchantment(Enchantment.PROTECTION, 4); + boots.addEnchantment(Enchantment.UNBREAKING,3); + boots.addEnchantment(Enchantment.MENDING, 1); + sword.addEnchantment(Enchantment.SHARPNESS, 5); + sword.addEnchantment(Enchantment.SWEEPING_EDGE, 3); + sword.addEnchantment(Enchantment.FIRE_ASPECT, 2); + sword.addEnchantment(Enchantment.KNOCKBACK, 1); + sword.addEnchantment(Enchantment.UNBREAKING, 3); + sword.addEnchantment(Enchantment.MENDING, 1); + axe.addEnchantment(Enchantment.SHARPNESS, 5); + axe.addEnchantment(Enchantment.EFFICIENCY, 5); + axe.addEnchantment(Enchantment.UNBREAKING, 3); + axe.addEnchantment(Enchantment.MENDING, 1); + bow.addEnchantment(Enchantment.POWER, 5); + bow.addEnchantment(Enchantment.PUNCH, 2); + bow.addEnchantment(Enchantment.FLAME, 1); + bow.addEnchantment(Enchantment.UNBREAKING,3); + bow.addEnchantment(Enchantment.MENDING, 1); + crossbow.addEnchantment(Enchantment.PIERCING, 4); + crossbow.addEnchantment(Enchantment.QUICK_CHARGE, 3); + crossbow.addEnchantment(Enchantment.UNBREAKING, 3); + crossbow.addEnchantment(Enchantment.MENDING, 1); + flintandsteel.addEnchantment(Enchantment.UNBREAKING, 3); + flintandsteel.addEnchantment(Enchantment.MENDING, 1); + shield.addEnchantment(Enchantment.UNBREAKING, 3); + shield.addEnchantment(Enchantment.MENDING, 1); + + PotionMeta fireresistancemeta = (PotionMeta) fireresistance.getItemMeta(); + fireresistancemeta.addCustomEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE, 9600, 0), true); + fireresistancemeta.setDisplayName("§fSplash Potion of Fire Resistance"); + fireresistance.setItemMeta(fireresistancemeta); + PotionMeta strengthmeta = (PotionMeta) strength.getItemMeta(); + strengthmeta.addCustomEffect(new PotionEffect(PotionEffectType.STRENGTH, 1800, 1), true); + strengthmeta.setDisplayName("§fSplash Potion of Strength"); + strength.setItemMeta(strengthmeta); + PotionMeta speedmeta = (PotionMeta) speed.getItemMeta(); + speedmeta.addCustomEffect(new PotionEffect(PotionEffectType.SPEED, 1800, 1), true); + speedmeta.setDisplayName("§fSplash Potion of Swiftness"); + speed.setItemMeta(speedmeta); player.getInventory().setArmorContents(new ItemStack[]{boots, leggings, chestplate, helmet}); player.getInventory().setItem(getItemSlot("axe", "boxcart", player), axe); @@ -200,8 +257,8 @@ public class TpToFfaCommand implements CommandExecutor, TabCompleter { for (int slot : getItemSlotArray("fireresistance", "boxcart", player)) { player.getInventory().setItem(slot, fireresistance); } - for (int slot : getItemSlotArray("strenght", "boxcart", player)) { - player.getInventory().setItem(slot, strenght); + for (int slot : getItemSlotArray("strength", "boxcart", player)) { + player.getInventory().setItem(slot, strength); } for (int slot : getItemSlotArray("speed", "boxcart", player)) { player.getInventory().setItem(slot, speed); @@ -209,6 +266,7 @@ public class TpToFfaCommand implements CommandExecutor, TabCompleter { player.getInventory().setItem(getItemSlot("cherrylog", "boxcart", player), cherrylog); player.getInventory().setItem(getItemSlot("crossbow", "boxcart", player), crossbow); player.getInventory().setItem(getItemSlot("flintandsteel", "boxcart", player), flintandsteel); + player.getInventory().setItem(getItemSlot("totem", "boxcart", player), totem); } } @@ -223,11 +281,11 @@ public class TpToFfaCommand implements CommandExecutor, TabCompleter { @Override public @Nullable List onTabComplete(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) { - if (args.length == 1) { - return List.of("sword", "uhc"); + if (args.length == 1) { + return List.of("sword", "uhc", "boxcart"); } else if (args.length == 2) { - return null; + return null; } return List.of(); } -} +} \ No newline at end of file diff --git a/src/main/java/hu/jgj52/wolfFFA/Listeners/KitListener.java b/src/main/java/hu/jgj52/wolfFFA/Listeners/KitListener.java index 4e1adb5..b5c8599 100644 --- a/src/main/java/hu/jgj52/wolfFFA/Listeners/KitListener.java +++ b/src/main/java/hu/jgj52/wolfFFA/Listeners/KitListener.java @@ -3,7 +3,6 @@ package hu.jgj52.wolfFFA.Listeners; import hu.jgj52.wolfFFA.Main; import net.kyori.adventure.text.Component; import org.bukkit.Material; -import org.bukkit.NamespacedKey; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -12,7 +11,6 @@ import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; -import org.bukkit.persistence.PersistentDataType; import java.util.ArrayList; import java.util.HashMap; @@ -56,11 +54,11 @@ public class KitListener implements Listener { plugin.saveConfig(); plugin.reloadConfig(); Map boxcartKit = new HashMap<>(); - int[] boxcartstrenght = new int[] {17, 26, 35}; - int[] boxcartspeed = new int[] {18, 27, 36}; - int[] boxcartfireresistance = new int[] {19, 28}; - int[] boxcartcart = new int[] {4, 13, 22, 31, 14, 23, 32, 15, 24, 33, 16, 25, 34}; - int[] boxcartenderpearl = new int[] {2, 12, 21, 30}; + int[] boxcartstrenght = new int[] {16, 25, 34}; + int[] boxcartspeed = new int[] {17, 26, 35}; + int[] boxcartfireresistance = new int[] {18, 27}; + int[] boxcartcart = new int[] {4, 12, 21, 30, 13, 22, 31, 14, 23, 32, 15, 24, 33}; + int[] boxcartenderpearl = new int[] {2, 11, 20, 29}; boxcartKit.put("axe", 0); boxcartKit.put("sword", 1); boxcartKit.put("enderpearl", boxcartenderpearl); @@ -73,9 +71,14 @@ public class KitListener implements Listener { boxcartKit.put("arrow", 9); boxcartKit.put("strength", boxcartstrenght); boxcartKit.put("speed", boxcartspeed); - boxcartKit.put("cherrylog", 11); - boxcartKit.put("crossbow", 20); - boxcartKit.put("flintandsteel", 29); + boxcartKit.put("fireresistance", boxcartfireresistance); + boxcartKit.put("cherrylog", 10); + boxcartKit.put("crossbow", 19); + boxcartKit.put("flintandsteel", 28); + boxcartKit.put("totem", 40); + plugin.getConfig().set("kits.boxcart." + player.getUniqueId(), boxcartKit); + plugin.saveConfig(); + plugin.reloadConfig(); } } @@ -88,9 +91,14 @@ public class KitListener implements Listener { if (event.getClickedInventory() == event.getView().getTopInventory() && event.getView().title().equals(Component.text("Kit Editor"))) { event.setCancelled(true); if ((0 <= event.getSlot() && event.getSlot() <= 2) || (9 <= event.getSlot() && event.getSlot() <= 11) || (18 <= event.getSlot() && event.getSlot() <= 20)) { - List lavaSlots = null; - List waterSlots = null; - List shieldSlots = null; + List uhclavaSlots = null; + List uhcwaterSlots = null; + List uhcshieldSlots = null; + List boxcartstrenghtSlots = null; + List boxcartspeedSlots = null; + List boxcartfireresistanceSlots = null; + List boxcartcartSlots = null; + List boxcartenderpearlSlots = null; if (gui.getItem(13).getItemMeta().getDisplayName().equals("§fSword Kit")) { for (int i = 0; i < inv.length; i++) { ItemStack item = inv[i]; @@ -103,9 +111,9 @@ public class KitListener implements Listener { } } else if (gui.getItem(13).getItemMeta().getDisplayName().equals("§fUHC Kit")) { - lavaSlots = new ArrayList<>(); - waterSlots = new ArrayList<>(); - shieldSlots = new ArrayList<>(); + uhclavaSlots = new ArrayList<>(); + uhcwaterSlots = new ArrayList<>(); + uhcshieldSlots = new ArrayList<>(); for (int i = 0; i < inv.length; i++) { ItemStack item = inv[i]; @@ -115,7 +123,7 @@ public class KitListener implements Listener { } else if (item.getType() == Material.DIAMOND_SWORD) { plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".sword", i); } else if (item.getType() == Material.LAVA_BUCKET) { - lavaSlots.add(i); + uhclavaSlots.add(i); } else if (item.getType() == Material.COBWEB) { plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".cobweb", i); } else if (item.getType() == Material.COBBLESTONE) { @@ -123,7 +131,7 @@ public class KitListener implements Listener { } else if (item.getType() == Material.GOLDEN_APPLE) { plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".goldenapple", i); } else if (item.getType() == Material.WATER_BUCKET) { - waterSlots.add(i); + uhcwaterSlots.add(i); } else if (item.getType() == Material.CROSSBOW) { plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".crossbow", i); } else if (item.getType() == Material.BOW) { @@ -135,14 +143,67 @@ public class KitListener implements Listener { } else if (item.getType() == Material.DIAMOND_PICKAXE) { plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".pickaxe", i); } else if (item.getType() == Material.SHIELD) { - shieldSlots.add(i); + uhcshieldSlots.add(i); } } } + plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".lava", uhclavaSlots); + plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".water", uhcwaterSlots); + plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".shield", uhcshieldSlots); + } else if (gui.getItem(13).getItemMeta().getDisplayName().equals("§fBoxCart Kit")) { + boxcartstrenghtSlots = new ArrayList<>(); + boxcartspeedSlots = new ArrayList<>(); + boxcartfireresistanceSlots = new ArrayList<>(); + boxcartcartSlots = new ArrayList<>(); + boxcartenderpearlSlots = new ArrayList<>(); + + for (int i = 0; i < inv.length; i++) { + ItemStack item = inv[i]; + + if (item != null) { + if (item.getType() == Material.NETHERITE_AXE) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".axe", i); + } else if (item.getType() == Material.NETHERITE_SWORD) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".sword", i); + } else if (item.getType() == Material.ENDER_PEARL) { + boxcartenderpearlSlots.add(i); + } else if (item.getType() == Material.RAIL) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".rail", i); + } else if (item.getType() == Material.TNT_MINECART) { + boxcartcartSlots.add(i); + } else if (item.getType() == Material.GOLDEN_APPLE) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".goldenapple", i); + } else if (item.getType() == Material.COBWEB) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".cobweb", i); + } else if (item.getType() == Material.SHIELD) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".shield", i); + } else if (item.getType() == Material.BOW) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".bow", i); + } else if (item.getType() == Material.ARROW) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".arrow", i); + } else if (item.getType() == Material.CHERRY_LOG) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".cherrylog", i); + } else if (item.getType() == Material.CROSSBOW) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".crossbow", i); + } else if (item.getType() == Material.FLINT_AND_STEEL) { + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".flintandsteel", i); + } else if (item.getType() == Material.SPLASH_POTION) { + if (item.getItemMeta().getDisplayName().equals("§fSplash Potion of Strength")) { + boxcartstrenghtSlots.add(i); + } else if (item.getItemMeta().getDisplayName().equals("§fSplash Potion of Swiftness")) { + boxcartspeedSlots.add(i); + } else if (item.getItemMeta().getDisplayName().equals("§fSplash Potion of Fire Resistance")) { + boxcartfireresistanceSlots.add(i); + } + } + } + } + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".enderpearl", boxcartenderpearlSlots); + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".cart", boxcartcartSlots); + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".strength", boxcartstrenghtSlots); + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".speed", boxcartspeedSlots); + plugin.getConfig().set("kits.boxcart." + player.getUniqueId() + ".fireresistance", boxcartfireresistanceSlots); } - plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".lava", lavaSlots); - plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".water", waterSlots); - plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".shield", shieldSlots); plugin.saveConfig(); plugin.reloadConfig(); player.sendMessage("§aSikeresen elmentetted a kitedet!"); @@ -161,4 +222,4 @@ public class KitListener implements Listener { player.getInventory().clear(); } } -} +} \ No newline at end of file diff --git a/target/WolfFFA-1.0.jar b/target/WolfFFA-1.0.jar index 408036a..e26672b 100644 Binary files a/target/WolfFFA-1.0.jar and b/target/WolfFFA-1.0.jar differ diff --git a/target/classes/hu/jgj52/wolfFFA/Commands/EditKitCommand.class b/target/classes/hu/jgj52/wolfFFA/Commands/EditKitCommand.class index 714979e..9088271 100644 Binary files a/target/classes/hu/jgj52/wolfFFA/Commands/EditKitCommand.class and b/target/classes/hu/jgj52/wolfFFA/Commands/EditKitCommand.class differ diff --git a/target/classes/hu/jgj52/wolfFFA/Commands/TpToFfaCommand.class b/target/classes/hu/jgj52/wolfFFA/Commands/TpToFfaCommand.class index 7e28437..656904d 100644 Binary files a/target/classes/hu/jgj52/wolfFFA/Commands/TpToFfaCommand.class and b/target/classes/hu/jgj52/wolfFFA/Commands/TpToFfaCommand.class differ diff --git a/target/classes/hu/jgj52/wolfFFA/Listeners/KitListener.class b/target/classes/hu/jgj52/wolfFFA/Listeners/KitListener.class index 1acb27c..f22df36 100644 Binary files a/target/classes/hu/jgj52/wolfFFA/Listeners/KitListener.class and b/target/classes/hu/jgj52/wolfFFA/Listeners/KitListener.class differ diff --git a/target/original-WolfFFA-1.0.jar b/target/original-WolfFFA-1.0.jar index 95c00e2..0ed31a9 100644 Binary files a/target/original-WolfFFA-1.0.jar and b/target/original-WolfFFA-1.0.jar differ