mondtam ma megcsinalom

This commit is contained in:
2025-02-23 23:06:12 +01:00
parent dc0072ae62
commit 2b5b840cbf
9 changed files with 353 additions and 121 deletions

5
.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
target/
.idea/
.git/
pom.xml
WolfFFA.iml

View File

@@ -3,7 +3,6 @@ package hu.jgj52.wolfFFA.Commands;
import hu.jgj52.wolfFFA.Main; import hu.jgj52.wolfFFA.Main;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@@ -13,10 +12,13 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; 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.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.util.Collections;
import java.util.List; import java.util.List;
public class EditKitCommand implements CommandExecutor, TabCompleter { public class EditKitCommand implements CommandExecutor, TabCompleter {
@@ -40,18 +42,20 @@ public class EditKitCommand implements CommandExecutor, TabCompleter {
return -1; return -1;
} }
private int[] getItemSlotArray(String key, String kit, Player player) { private @NotNull List<Integer> getItemSlotArray(String key, String kit, Player player) {
String path = "kits." + kit + "." + player.getUniqueId() + "." + key; String path = "kits." + kit + "." + player.getUniqueId() + "." + key;
if (plugin.getConfig().contains(path)) { if (plugin.getConfig().contains(path)) {
try { List<Integer> slots = plugin.getConfig().getIntegerList(path);
return new int[]{plugin.getConfig().getInt(path)};
} catch (NumberFormatException e) { if (!slots.isEmpty()) {
plugin.getLogger().warning("Invalid slot number in config for " + path); return slots;
} else {
plugin.getLogger().warning("Invalid or empty slot numbers in config for " + path);
} }
} }
return new int[]{-1}; return Collections.singletonList(-1);
} }
@Override @Override
@@ -95,93 +99,197 @@ public class EditKitCommand implements CommandExecutor, TabCompleter {
Inventory inv = player.getInventory(); Inventory inv = player.getInventory();
switch (args[0]) { switch (args[0]) {
case "sword": case "sword":
ItemStack swordsword = new ItemStack(Material.DIAMOND_SWORD); if (true) {
swordsword.addEnchantment(Enchantment.UNBREAKING, 3); 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"); infoMeta.setDisplayName("§fSword Kit");
infoItem.setItemMeta(infoMeta); infoItem.setItemMeta(infoMeta);
gui.setItem(3, infoItem); gui.setItem(3, infoItem);
gui.setItem(4, infoItem); gui.setItem(4, infoItem);
gui.setItem(5, infoItem); gui.setItem(5, infoItem);
gui.setItem(12, infoItem); gui.setItem(12, infoItem);
gui.setItem(13, infoItem); gui.setItem(13, infoItem);
gui.setItem(14, infoItem); gui.setItem(14, infoItem);
gui.setItem(21, infoItem); gui.setItem(21, infoItem);
gui.setItem(22, infoItem); gui.setItem(22, infoItem);
gui.setItem(23, infoItem); gui.setItem(23, infoItem);
player.openInventory(gui); player.openInventory(gui);
}
break; break;
case "uhc": case "uhc":
ItemStack uhchelmet = new ItemStack(Material.DIAMOND_HELMET); if (true) {
ItemStack uhcchestplate = new ItemStack(Material.DIAMOND_CHESTPLATE); ItemStack helmet = new ItemStack(Material.DIAMOND_HELMET);
ItemStack uhcleggings = new ItemStack(Material.DIAMOND_LEGGINGS); ItemStack chestplate = new ItemStack(Material.DIAMOND_CHESTPLATE);
ItemStack uhcboots = new ItemStack(Material.DIAMOND_BOOTS); ItemStack leggings = new ItemStack(Material.DIAMOND_LEGGINGS);
ItemStack uhcaxe = new ItemStack(Material.DIAMOND_AXE); ItemStack boots = new ItemStack(Material.DIAMOND_BOOTS);
ItemStack uhcsword = new ItemStack(Material.DIAMOND_SWORD); ItemStack axe = new ItemStack(Material.DIAMOND_AXE);
ItemStack uhclava = new ItemStack(Material.LAVA_BUCKET); ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
ItemStack uhccobweb = new ItemStack(Material.COBWEB, 8); ItemStack lava = new ItemStack(Material.LAVA_BUCKET);
ItemStack uhccobblestone = new ItemStack(Material.COBBLESTONE, 64); ItemStack cobweb = new ItemStack(Material.COBWEB, 8);
ItemStack uhcgoldenapple = new ItemStack(Material.GOLDEN_APPLE, 13); ItemStack cobblestone = new ItemStack(Material.COBBLESTONE, 64);
ItemStack uhcwater = new ItemStack(Material.WATER_BUCKET); ItemStack goldenapple = new ItemStack(Material.GOLDEN_APPLE, 13);
ItemStack uhccrossbow = new ItemStack(Material.CROSSBOW); ItemStack water = new ItemStack(Material.WATER_BUCKET);
ItemStack uhcbow = new ItemStack(Material.BOW); ItemStack crossbow = new ItemStack(Material.CROSSBOW);
ItemStack uhcarrow = new ItemStack(Material.ARROW, 16); ItemStack bow = new ItemStack(Material.BOW);
ItemStack uhcshield = new ItemStack(Material.SHIELD); ItemStack arrow = new ItemStack(Material.ARROW, 16);
ItemStack uhcplanks = new ItemStack(Material.OAK_PLANKS, 64); ItemStack shield = new ItemStack(Material.SHIELD);
ItemStack uhcpickaxe = new ItemStack(Material.DIAMOND_PICKAXE); ItemStack planks = new ItemStack(Material.OAK_PLANKS, 64);
ItemStack pickaxe = new ItemStack(Material.DIAMOND_PICKAXE);
inv.clear(); inv.clear();
uhchelmet.addEnchantment(Enchantment.PROTECTION, 2); helmet.addEnchantment(Enchantment.PROTECTION, 2);
uhcchestplate.addEnchantment(Enchantment.PROTECTION, 3); chestplate.addEnchantment(Enchantment.PROTECTION, 3);
uhcleggings.addEnchantment(Enchantment.PROTECTION, 3); leggings.addEnchantment(Enchantment.PROTECTION, 3);
uhcboots.addEnchantment(Enchantment.PROTECTION, 3); boots.addEnchantment(Enchantment.PROTECTION, 3);
uhcaxe.addEnchantment(Enchantment.SHARPNESS, 1); axe.addEnchantment(Enchantment.SHARPNESS, 1);
uhcaxe.addEnchantment(Enchantment.EFFICIENCY, 3); axe.addEnchantment(Enchantment.EFFICIENCY, 3);
uhcsword.addEnchantment(Enchantment.SHARPNESS, 4); sword.addEnchantment(Enchantment.SHARPNESS, 4);
uhccrossbow.addEnchantment(Enchantment.PIERCING, 1); crossbow.addEnchantment(Enchantment.PIERCING, 1);
uhcbow.addEnchantment(Enchantment.POWER, 1); bow.addEnchantment(Enchantment.POWER, 1);
uhcpickaxe.addEnchantment(Enchantment.UNBREAKING,3); pickaxe.addEnchantment(Enchantment.UNBREAKING, 3);
uhcpickaxe.addEnchantment(Enchantment.EFFICIENCY, 3); pickaxe.addEnchantment(Enchantment.EFFICIENCY, 3);
inv.setItem(getItemSlot("axe", "uhc", player), uhcaxe); inv.setItem(getItemSlot("axe", "uhc", player), axe);
inv.setItem(getItemSlot("sword", "uhc", player), uhcsword); inv.setItem(getItemSlot("sword", "uhc", player), sword);
for (int slot : getItemSlotArray("lava", "uhc", player)) { for (int slot : getItemSlotArray("lava", "uhc", player)) {
inv.setItem(slot, uhclava); 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); break;
inv.setItem(getItemSlot("cobblestone", "uhc", player), uhccobblestone); case "boxcart":
inv.setItem(getItemSlot("goldenapple", "uhc", player), uhcgoldenapple); if (true) {
for (int slot : getItemSlotArray("water", "uhc", player)) { ItemStack axe = new ItemStack(Material.NETHERITE_AXE);
inv.setItem(slot, uhcwater); ItemStack sword = new ItemStack(Material.NETHERITE_SWORD);
} ItemStack enderpearl = new ItemStack(Material.ENDER_PEARL, 16);
inv.setItem(getItemSlot("crossbow", "uhc", player), uhccrossbow); ItemStack rail = new ItemStack(Material.RAIL, 64);
inv.setItem(getItemSlot("bow", "uhc", player), uhcbow); ItemStack cart = new ItemStack(Material.TNT_MINECART);
for (int slot : getItemSlotArray("shield", "uhc", player)) { ItemStack goldenapple = new ItemStack(Material.GOLDEN_APPLE, 64);
inv.setItem(slot, uhcshield); ItemStack cobweb = new ItemStack(Material.COBWEB, 64);
} ItemStack shield = new ItemStack(Material.SHIELD);
inv.setItem(getItemSlot("arrow", "uhc", player), uhcarrow); ItemStack bow = new ItemStack(Material.BOW);
inv.setItem(getItemSlot("planks", "uhc", player), uhcplanks); ItemStack arrow = new ItemStack(Material.ARROW, 64);
inv.setItem(getItemSlot("pickaxe", "uhc", player), uhcpickaxe); 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"); sword.addEnchantment(Enchantment.SHARPNESS, 5);
infoItem.setItemMeta(infoMeta); sword.addEnchantment(Enchantment.SWEEPING_EDGE, 3);
gui.setItem(3, infoItem); sword.addEnchantment(Enchantment.FIRE_ASPECT, 2);
gui.setItem(4, infoItem); sword.addEnchantment(Enchantment.KNOCKBACK, 1);
gui.setItem(5, infoItem); sword.addEnchantment(Enchantment.UNBREAKING, 3);
gui.setItem(12, infoItem); sword.addEnchantment(Enchantment.MENDING, 1);
gui.setItem(13, infoItem); axe.addEnchantment(Enchantment.SHARPNESS, 5);
gui.setItem(14, infoItem); axe.addEnchantment(Enchantment.EFFICIENCY, 5);
gui.setItem(21, infoItem); axe.addEnchantment(Enchantment.UNBREAKING, 3);
gui.setItem(22, infoItem); axe.addEnchantment(Enchantment.MENDING, 1);
gui.setItem(23, infoItem); 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; break;
default: default:
player.sendMessage("§cNincs ilyen FFA típus!"); player.sendMessage("§cNincs ilyen FFA típus!");
@@ -196,7 +304,7 @@ public class EditKitCommand implements CommandExecutor, TabCompleter {
@Override @Override
public @Nullable List<String> onTabComplete(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) { public @Nullable List<String> onTabComplete(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
if (args.length == 1) { if (args.length == 1) {
return List.of("sword", "uhc"); return List.of("sword", "uhc", "boxcart");
} }
return List.of(); return List.of();
} }

View File

@@ -12,10 +12,13 @@ import org.bukkit.command.TabCompleter;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; 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.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.util.ArrayList; import java.util.Collections;
import java.util.List; import java.util.List;
public class TpToFfaCommand implements CommandExecutor, TabCompleter { public class TpToFfaCommand implements CommandExecutor, TabCompleter {
@@ -40,20 +43,23 @@ public class TpToFfaCommand implements CommandExecutor, TabCompleter {
return -1; return -1;
} }
private int[] getItemSlotArray(String key, String kit, Player player) { private @NotNull List<Integer> getItemSlotArray(String key, String kit, Player player) {
String path = "kits." + kit + "." + player.getUniqueId() + "." + key; String path = "kits." + kit + "." + player.getUniqueId() + "." + key;
if (plugin.getConfig().contains(path)) { if (plugin.getConfig().contains(path)) {
try { List<Integer> slots = plugin.getConfig().getIntegerList(path);
return new int[]{plugin.getConfig().getInt(path)};
} catch (NumberFormatException e) { if (!slots.isEmpty()) {
plugin.getLogger().warning("Invalid slot number in config for " + path); return slots;
} else {
plugin.getLogger().warning("Invalid or empty slot numbers in config for " + path);
} }
} }
return new int[]{-1}; return Collections.singletonList(-1);
} }
@Override @Override
public boolean onCommand(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) { public boolean onCommand(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
if (cmds.hasPermission("wolfffa.admin.tptoffa")) { if (cmds.hasPermission("wolfffa.admin.tptoffa")) {
@@ -176,11 +182,62 @@ public class TpToFfaCommand implements CommandExecutor, TabCompleter {
ItemStack bow = new ItemStack(Material.BOW); ItemStack bow = new ItemStack(Material.BOW);
ItemStack arrow = new ItemStack(Material.ARROW, 64); ItemStack arrow = new ItemStack(Material.ARROW, 64);
ItemStack fireresistance = new ItemStack(Material.SPLASH_POTION); 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 speed = new ItemStack(Material.SPLASH_POTION);
ItemStack cherrylog = new ItemStack(Material.CHERRY_LOG, 64); ItemStack cherrylog = new ItemStack(Material.CHERRY_LOG, 64);
ItemStack crossbow = new ItemStack(Material.CROSSBOW); ItemStack crossbow = new ItemStack(Material.CROSSBOW);
ItemStack flintandsteel = new ItemStack(Material.FLINT_AND_STEEL); 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().setArmorContents(new ItemStack[]{boots, leggings, chestplate, helmet});
player.getInventory().setItem(getItemSlot("axe", "boxcart", player), axe); 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)) { for (int slot : getItemSlotArray("fireresistance", "boxcart", player)) {
player.getInventory().setItem(slot, fireresistance); player.getInventory().setItem(slot, fireresistance);
} }
for (int slot : getItemSlotArray("strenght", "boxcart", player)) { for (int slot : getItemSlotArray("strength", "boxcart", player)) {
player.getInventory().setItem(slot, strenght); player.getInventory().setItem(slot, strength);
} }
for (int slot : getItemSlotArray("speed", "boxcart", player)) { for (int slot : getItemSlotArray("speed", "boxcart", player)) {
player.getInventory().setItem(slot, speed); 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("cherrylog", "boxcart", player), cherrylog);
player.getInventory().setItem(getItemSlot("crossbow", "boxcart", player), crossbow); player.getInventory().setItem(getItemSlot("crossbow", "boxcart", player), crossbow);
player.getInventory().setItem(getItemSlot("flintandsteel", "boxcart", player), flintandsteel); player.getInventory().setItem(getItemSlot("flintandsteel", "boxcart", player), flintandsteel);
player.getInventory().setItem(getItemSlot("totem", "boxcart", player), totem);
} }
} }
@@ -223,10 +281,10 @@ public class TpToFfaCommand implements CommandExecutor, TabCompleter {
@Override @Override
public @Nullable List<String> onTabComplete(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) { public @Nullable List<String> onTabComplete(@NotNull CommandSender cmds, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
if (args.length == 1) { if (args.length == 1) {
return List.of("sword", "uhc"); return List.of("sword", "uhc", "boxcart");
} else if (args.length == 2) { } else if (args.length == 2) {
return null; return null;
} }
return List.of(); return List.of();
} }

View File

@@ -3,7 +3,6 @@ package hu.jgj52.wolfFFA.Listeners;
import hu.jgj52.wolfFFA.Main; import hu.jgj52.wolfFFA.Main;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
@@ -12,7 +11,6 @@ import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.persistence.PersistentDataType;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@@ -56,11 +54,11 @@ public class KitListener implements Listener {
plugin.saveConfig(); plugin.saveConfig();
plugin.reloadConfig(); plugin.reloadConfig();
Map <String, Object> boxcartKit = new HashMap<>(); Map <String, Object> boxcartKit = new HashMap<>();
int[] boxcartstrenght = new int[] {17, 26, 35}; int[] boxcartstrenght = new int[] {16, 25, 34};
int[] boxcartspeed = new int[] {18, 27, 36}; int[] boxcartspeed = new int[] {17, 26, 35};
int[] boxcartfireresistance = new int[] {19, 28}; int[] boxcartfireresistance = new int[] {18, 27};
int[] boxcartcart = new int[] {4, 13, 22, 31, 14, 23, 32, 15, 24, 33, 16, 25, 34}; int[] boxcartcart = new int[] {4, 12, 21, 30, 13, 22, 31, 14, 23, 32, 15, 24, 33};
int[] boxcartenderpearl = new int[] {2, 12, 21, 30}; int[] boxcartenderpearl = new int[] {2, 11, 20, 29};
boxcartKit.put("axe", 0); boxcartKit.put("axe", 0);
boxcartKit.put("sword", 1); boxcartKit.put("sword", 1);
boxcartKit.put("enderpearl", boxcartenderpearl); boxcartKit.put("enderpearl", boxcartenderpearl);
@@ -73,9 +71,14 @@ public class KitListener implements Listener {
boxcartKit.put("arrow", 9); boxcartKit.put("arrow", 9);
boxcartKit.put("strength", boxcartstrenght); boxcartKit.put("strength", boxcartstrenght);
boxcartKit.put("speed", boxcartspeed); boxcartKit.put("speed", boxcartspeed);
boxcartKit.put("cherrylog", 11); boxcartKit.put("fireresistance", boxcartfireresistance);
boxcartKit.put("crossbow", 20); boxcartKit.put("cherrylog", 10);
boxcartKit.put("flintandsteel", 29); 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"))) { if (event.getClickedInventory() == event.getView().getTopInventory() && event.getView().title().equals(Component.text("Kit Editor"))) {
event.setCancelled(true); event.setCancelled(true);
if ((0 <= event.getSlot() && event.getSlot() <= 2) || (9 <= event.getSlot() && event.getSlot() <= 11) || (18 <= event.getSlot() && event.getSlot() <= 20)) { if ((0 <= event.getSlot() && event.getSlot() <= 2) || (9 <= event.getSlot() && event.getSlot() <= 11) || (18 <= event.getSlot() && event.getSlot() <= 20)) {
List<Integer> lavaSlots = null; List<Integer> uhclavaSlots = null;
List<Integer> waterSlots = null; List<Integer> uhcwaterSlots = null;
List<Integer> shieldSlots = null; List<Integer> uhcshieldSlots = null;
List<Integer> boxcartstrenghtSlots = null;
List<Integer> boxcartspeedSlots = null;
List<Integer> boxcartfireresistanceSlots = null;
List<Integer> boxcartcartSlots = null;
List<Integer> boxcartenderpearlSlots = null;
if (gui.getItem(13).getItemMeta().getDisplayName().equals("§fSword Kit")) { if (gui.getItem(13).getItemMeta().getDisplayName().equals("§fSword Kit")) {
for (int i = 0; i < inv.length; i++) { for (int i = 0; i < inv.length; i++) {
ItemStack item = inv[i]; ItemStack item = inv[i];
@@ -103,9 +111,9 @@ public class KitListener implements Listener {
} }
} else if (gui.getItem(13).getItemMeta().getDisplayName().equals("§fUHC Kit")) { } else if (gui.getItem(13).getItemMeta().getDisplayName().equals("§fUHC Kit")) {
lavaSlots = new ArrayList<>(); uhclavaSlots = new ArrayList<>();
waterSlots = new ArrayList<>(); uhcwaterSlots = new ArrayList<>();
shieldSlots = new ArrayList<>(); uhcshieldSlots = new ArrayList<>();
for (int i = 0; i < inv.length; i++) { for (int i = 0; i < inv.length; i++) {
ItemStack item = inv[i]; ItemStack item = inv[i];
@@ -115,7 +123,7 @@ public class KitListener implements Listener {
} else if (item.getType() == Material.DIAMOND_SWORD) { } else if (item.getType() == Material.DIAMOND_SWORD) {
plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".sword", i); plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".sword", i);
} else if (item.getType() == Material.LAVA_BUCKET) { } else if (item.getType() == Material.LAVA_BUCKET) {
lavaSlots.add(i); uhclavaSlots.add(i);
} else if (item.getType() == Material.COBWEB) { } else if (item.getType() == Material.COBWEB) {
plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".cobweb", i); plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".cobweb", i);
} else if (item.getType() == Material.COBBLESTONE) { } else if (item.getType() == Material.COBBLESTONE) {
@@ -123,7 +131,7 @@ public class KitListener implements Listener {
} else if (item.getType() == Material.GOLDEN_APPLE) { } else if (item.getType() == Material.GOLDEN_APPLE) {
plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".goldenapple", i); plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".goldenapple", i);
} else if (item.getType() == Material.WATER_BUCKET) { } else if (item.getType() == Material.WATER_BUCKET) {
waterSlots.add(i); uhcwaterSlots.add(i);
} else if (item.getType() == Material.CROSSBOW) { } else if (item.getType() == Material.CROSSBOW) {
plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".crossbow", i); plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".crossbow", i);
} else if (item.getType() == Material.BOW) { } else if (item.getType() == Material.BOW) {
@@ -135,14 +143,67 @@ public class KitListener implements Listener {
} else if (item.getType() == Material.DIAMOND_PICKAXE) { } else if (item.getType() == Material.DIAMOND_PICKAXE) {
plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".pickaxe", i); plugin.getConfig().set("kits.uhc." + player.getUniqueId() + ".pickaxe", i);
} else if (item.getType() == Material.SHIELD) { } 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.saveConfig();
plugin.reloadConfig(); plugin.reloadConfig();
player.sendMessage("§aSikeresen elmentetted a kitedet!"); player.sendMessage("§aSikeresen elmentetted a kitedet!");

Binary file not shown.

Binary file not shown.