diff --git a/src/main/java/hu/jgj52/wolfFFA/Commands/WolfFfaCommand.java b/src/main/java/hu/jgj52/wolfFFA/Commands/WolfFfaCommand.java index 46f3756..c03a541 100644 --- a/src/main/java/hu/jgj52/wolfFFA/Commands/WolfFfaCommand.java +++ b/src/main/java/hu/jgj52/wolfFFA/Commands/WolfFfaCommand.java @@ -1,5 +1,6 @@ package hu.jgj52.wolfFFA.Commands; +import hu.jgj52.wolfFFA.WolfFFA; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -19,6 +20,38 @@ import java.util.List; public class WolfFfaCommand implements CommandExecutor, TabCompleter { + private final WolfFFA plugin; + + public WolfFfaCommand(WolfFFA plugin) { + this.plugin = plugin; + } + + private int getItem(String key, String kittype, Player player) { + String path = "kits." + kittype + "." + player.getUniqueId() + "." + key; + + if (plugin.getConfig().contains(path)) { + try { + return plugin.getConfig().getInt(path); + } catch (NumberFormatException e) { + plugin.getLogger().warning("Invalid slot number in config for " + path); + } + } + + return -1; + } + + private boolean checkItem(String key, String kittype, Player player) { + String path = "kits." + kittype + "." + player.getUniqueId(); + + if (plugin.getConfig().contains(path)) { + return (boolean) plugin.getConfig().get(path + "." + key); + } + + return false; + } + + + @Override public boolean onCommand(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) { if (cmds.hasPermission("wolfffa.admin.tptoffa")) { @@ -42,7 +75,7 @@ public class WolfFfaCommand implements CommandExecutor, TabCompleter { sword.addEnchantment(Enchantment.UNBREAKING, 3); player.getInventory().setArmorContents(new ItemStack[]{boots, leggings, chestplate, helmet}); - player.getInventory().setItem(0, sword); + player.getInventory().setItem(checkItem("sword", "sword", player) ? getItem("sword", "sword", player) : 0, sword); World world = Bukkit.getWorld("world"); double x = 0.5; @@ -92,24 +125,24 @@ public class WolfFfaCommand implements CommandExecutor, TabCompleter { pickaxe.addEnchantment(Enchantment.EFFICIENCY, 3); player.getInventory().setArmorContents(new ItemStack[]{boots, leggings, chestplate, helmet}); - player.getInventory().setItem(0, axe); - player.getInventory().setItem(1, sword); - player.getInventory().setItem(2, lava); - player.getInventory().setItem(3, cobweb); - player.getInventory().setItem(4, cobblestone); - player.getInventory().setItem(5, goldenapple); - player.getInventory().setItem(6, water); - player.getInventory().setItem(7, crossbow); - player.getInventory().setItem(8, bow); - player.getInventory().setItem(9, arrow); - player.getInventory().setItem(13, shield); - player.getInventory().setItem(17, planks); - player.getInventory().setItem(20, pickaxe); - player.getInventory().setItem(21, lava); - player.getInventory().setItem(22, water); - player.getInventory().setItem(23, water); - player.getInventory().setItem(24, water); - player.getInventory().setItem(40, shield); + player.getInventory().setItem(checkItem("axe", "uhc", player) ? getItem("axe", "uhc", player) : 0, axe); + player.getInventory().setItem(checkItem("sword", "uhc", player) ? getItem("sword", "uhc", player) : 1, sword); + player.getInventory().setItem(checkItem("lava", "uhc", player) ? getItem("lava", "uhc", player) : 2, lava); + player.getInventory().setItem(checkItem("cobweb", "uhc", player) ? getItem("cobweb", "uhc", player) : 3, cobweb); + player.getInventory().setItem(checkItem("cobblestone", "uhc", player) ? getItem("cobblestone", "uhc", player) : 4, cobblestone); + player.getInventory().setItem(checkItem("goldenapple", "uhc", player) ? getItem("goldenapple", "uhc", player) : 5, goldenapple); + player.getInventory().setItem(checkItem("water", "uhc", player) ? getItem("water", "uhc", player) : 6, water); + player.getInventory().setItem(checkItem("crossbow", "uhc", player) ? getItem("crossbow", "uhc", player) : 7, crossbow); + player.getInventory().setItem(checkItem("bow", "uhc", player) ? getItem("bow", "uhc", player) : 8, bow); + player.getInventory().setItem(checkItem("arrow", "uhc", player) ? getItem("arrow", "uhc", player) : 9, arrow); + player.getInventory().setItem(checkItem("shield2", "uhc", player) ? getItem("shield2", "uhc", player) : 13, shield); + player.getInventory().setItem(checkItem("planks", "uhc", player) ? getItem("planks", "uhc", player) : 17, planks); + player.getInventory().setItem(checkItem("pickaxe", "uhc", player) ? getItem("pickaxe", "uhc", player) : 20, pickaxe); + player.getInventory().setItem(checkItem("lava2", "uhc", player) ? getItem("lava2", "uhc", player) : 21, lava); + player.getInventory().setItem(checkItem("water2", "uhc", player) ? getItem("water2", "uhc", player) : 22, water); + player.getInventory().setItem(checkItem("water3", "uhc", player) ? getItem("water3", "uhc", player) : 23, water); + player.getInventory().setItem(checkItem("water4", "uhc", player) ? getItem("water4", "uhc", player) : 24, water); + player.getInventory().setItem(checkItem("shield", "uhc", player) ? getItem("shield", "uhc", player) : 40, shield); World world = Bukkit.getWorld("world"); double x = 0.5; @@ -132,7 +165,7 @@ public class WolfFfaCommand implements CommandExecutor, TabCompleter { @Override public @Nullable List onTabComplete(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) { - if (args.length == 1) { + if (args.length == 1) { List.of("sword", "uhc"); } else if (args.length == 2) { List playerNames = new ArrayList<>(); diff --git a/src/main/java/hu/jgj52/wolfFFA/WolfFFA.java b/src/main/java/hu/jgj52/wolfFFA/WolfFFA.java index 200329c..17b1918 100644 --- a/src/main/java/hu/jgj52/wolfFFA/WolfFFA.java +++ b/src/main/java/hu/jgj52/wolfFFA/WolfFFA.java @@ -8,7 +8,11 @@ public final class WolfFFA extends JavaPlugin { @Override public void onEnable() { // Plugin startup logic - getCommand("tptoffa").setExecutor(new WolfFfaCommand()); + getConfig().options().copyDefaults(true); + saveConfig(); + + getCommand("tptoffa").setExecutor(new WolfFfaCommand(this)); + } @Override diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..76a178b --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,3 @@ +kits: + sword: + uhc: \ No newline at end of file diff --git a/target/WolfFFA-1.0.jar b/target/WolfFFA-1.0.jar index 0fbfaaf..0586419 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/WolfFfaCommand.class b/target/classes/hu/jgj52/wolfFFA/Commands/WolfFfaCommand.class index f5d3756..3722688 100644 Binary files a/target/classes/hu/jgj52/wolfFFA/Commands/WolfFfaCommand.class and b/target/classes/hu/jgj52/wolfFFA/Commands/WolfFfaCommand.class differ diff --git a/target/classes/hu/jgj52/wolfFFA/WolfFFA.class b/target/classes/hu/jgj52/wolfFFA/WolfFFA.class index 4392bcf..e5e67c7 100644 Binary files a/target/classes/hu/jgj52/wolfFFA/WolfFFA.class and b/target/classes/hu/jgj52/wolfFFA/WolfFFA.class differ diff --git a/target/original-WolfFFA-1.0.jar b/target/original-WolfFFA-1.0.jar index ea8b1d0..7f38489 100644 Binary files a/target/original-WolfFFA-1.0.jar and b/target/original-WolfFFA-1.0.jar differ