From 42b41096988bfed5f05384857814843253966c04 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sat, 9 Jan 2021 17:35:32 +0100 Subject: [PATCH 1/8] Add Multi Personal Kits --- .../de/steamwar/fightsystem/commands/GUI.java | 2 +- .../steamwar/fightsystem/fight/FightTeam.java | 2 +- .../src/de/steamwar/fightsystem/kit/Kit.java | 8 ++ .../listener/PersonalKitCreator.java | 124 ++++++++++++++++-- 4 files changed, 126 insertions(+), 10 deletions(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/commands/GUI.java b/FightSystem_Main/src/de/steamwar/fightsystem/commands/GUI.java index 5f74b53..485b0b9 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/commands/GUI.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/commands/GUI.java @@ -97,7 +97,7 @@ public class GUI { return; if(Config.PersonalKits){ - PersonalKitCreator.openKitCreator(p); + PersonalKitCreator.openKitSelector(p, ""); return; } diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java index 61cdb04..226aa9e 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/fight/FightTeam.java @@ -405,7 +405,7 @@ public class FightTeam implements IFightTeam{ PersonalKit personalKit = null; if(Config.PersonalKits) - personalKit = PersonalKit.get(SteamwarUser.get(fightPlayer.getPlayer().getUniqueId()).getId(), Config.SchematicType.toDB()); + personalKit = PersonalKit.getKitInUse(SteamwarUser.get(fightPlayer.getPlayer().getUniqueId()).getId(), Config.SchematicType.toDB()); if(personalKit != null){ PlayerInventory inventory = fightPlayer.getPlayer().getInventory(); diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/kit/Kit.java b/FightSystem_Main/src/de/steamwar/fightsystem/kit/Kit.java index 5385b55..a7d6d8b 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/kit/Kit.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/kit/Kit.java @@ -82,6 +82,14 @@ public class Kit { return memberAllowed; } + public ItemStack[] getInventory() { + return inventory; + } + + public ItemStack[] getArmor() { + return armor; + } + /* Is this kit allowed to set/handle tnt? */ public boolean isTnt(){ return tnt; diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java index 2f9388c..579ea8a 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java @@ -28,11 +28,16 @@ import de.steamwar.fightsystem.fight.FightPlayer; import de.steamwar.fightsystem.kit.Kit; import de.steamwar.fightsystem.kit.KitManager; import de.steamwar.fightsystem.states.FightState; +import de.steamwar.inventory.SWAnvilInv; +import de.steamwar.inventory.SWInventory; +import de.steamwar.inventory.SWItem; +import de.steamwar.inventory.SWListInv; import de.steamwar.sql.PersonalKit; import de.steamwar.sql.SteamwarUser; import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Bukkit; import org.bukkit.GameMode; +import org.bukkit.Material; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -46,9 +51,7 @@ import org.bukkit.inventory.PlayerInventory; import org.bukkit.inventory.meta.BlockDataMeta; import org.bukkit.inventory.meta.ItemMeta; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.Map; +import java.util.*; import java.util.logging.Level; public class PersonalKitCreator extends BasicListener { @@ -60,16 +63,117 @@ public class PersonalKitCreator extends BasicListener { super(enabled); } - public static void openKitCreator(Player player){ + public static void openKitSelector(Player player, String qry) { + List kits = PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()); + kits.removeIf(kit -> !kit.getName().toLowerCase().contains(qry.toLowerCase())); + List> entries = new ArrayList<>(kits.size()); + kits.forEach(kit -> entries.add(new SWListInv.SWListEntry<>(new SWItem(Material.LEATHER_CHESTPLATE, "§e" + kit.getName(), new ArrayList<>(), kit.isInUse(), clickType -> {}), kit))); + SWListInv inv = new SWListInv<>(player, "§eKit wählen", false, entries, (clickType, kit) -> showKit(player, kit)); + if(entries.isEmpty()) + inv.setItem(22, new SWItem(Material.BARRIER, "§cKeine Kits gefunden")); + inv.setItem(48, Material.NETHER_STAR, "§eNeues Kit", clickType -> { + SWAnvilInv anvilInv = new SWAnvilInv(player, "§eKit namen eingeben"); + anvilInv.setItem(Material.LEATHER_CHESTPLATE); + anvilInv.setCallback(s -> { + Kit prototype = KitManager.getKits(Fight.getFightPlayer(player).isLeader()).get(0); + PersonalKit.create(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB(), s, prototype.getInventory(), prototype.getArmor()); + List kitList = PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB(), s); + if(kitList.size() > 1) { + List> kitsSelect = new ArrayList<>(kitList.size()); + kitList.forEach(kit -> kitsSelect.add(new SWListInv.SWListEntry<>(new SWItem(Material.LEATHER_CHESTPLATE, "§e" + kit.getName()), kit))); + SWListInv inv1 = new SWListInv<>(player, "§eWelches Kit bearbeiten", kitsSelect, (clickType1, kit) -> openKitCreator(player, kit)); + inv1.open(); + } else { + openKitCreator(player, kitList.get(0)); + } + }); + anvilInv.open(); + }); + inv.setItem(50, Material.NAME_TAG, "§eSuchen", clickType -> { + SWAnvilInv anvilInv = new SWAnvilInv(player, "§eNach Kit suchen"); + anvilInv.setItem(Material.PAPER); + anvilInv.setCallback(s -> openKitSelector(player, s)); + anvilInv.open(); + }); + inv.open(); + } + + private static void showKit(Player player, PersonalKit kit) { + SWInventory inv = new SWInventory(player, 9, "§e" + kit.getName()); + inv.setItem(0, Material.LEATHER_CHESTPLATE, "§aKit benutzen", clickType -> useKit(player, kit)); + inv.setItem(1, Material.GLASS, "§bPreview", clickType -> preview(player, kit)); + inv.setItem(4, SWItem.getMaterial("WOOD_AXE"), "§6Kit bearbeiten", clickType -> openKitCreator(player, kit)); + inv.setItem(5, Material.NAME_TAG, "§6Kit Umbenennen", clickType -> renameKit(player, kit)); + inv.setItem(8, Material.BARRIER, "§cKit Löschen", clickType -> { + player.closeInventory(); + SWInventory conf = new SWInventory(player, 0, "§cKit " + kit.getName() + " wirklich löchen?"); + conf.setItem(8, SWItem.getDye(1), "§cAbbrechen", click -> player.closeInventory()); + conf.setItem(0, SWItem.getDye(10), "§aLöschen", click -> { + player.closeInventory(); + if(kit.isInUse()) { + PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()); + } + kit.delete(); + }); + conf.open(); + }); + inv.open(); + } + + public static void renameKit(Player player, PersonalKit kit) { + SWAnvilInv inv = new SWAnvilInv(player, "§6Kit " + kit.getName() + " umbenennen"); + inv.setItem(Material.NAME_TAG); + inv.setCallback(kit::setName); + inv.open(); + } + + public static void preview(Player player, PersonalKit kit){ + SWInventory inv = new SWInventory(player, 54, "§e" + kit.getName()); + + //36 = Inventargröße + for(int i = 0; i < 36; i++){ + if(kit.getInventory()[i] == null) + continue; + SWItem item = new SWItem(); + item.setItemStack(kit.getInventory()[i]); + inv.setItem(i, item); + } + + if(kit.getArmor() != null){ + for(int i = 0; i < 4; i++){ + if(kit.getArmor()[i] == null) + continue; + SWItem item = new SWItem(); + item.setItemStack(kit.getArmor()[i]); + inv.setItem(36 + i, item); + } + } + + inv.setItem(45, SWItem.getDye(10), (byte)10, "§aKit wählen", (click) -> { + player.closeInventory(); + useKit(player, kit); + }); + inv.setItem(53, SWItem.getDye(1), (byte)1, "§cZurück", (click) -> showKit(player, kit)); + inv.open(); + } + + private static void useKit(Player player, PersonalKit kit) { + PersonalKit kitUse = PersonalKit.getKitInUse(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()); + if(kitUse != null) kitUse.setInUse(false); + kit.setInUse(true); + player.closeInventory(); + } + + public static void openKitCreator(Player player, PersonalKit kit){ if(!enabled.contains(FightSystem.getFightState())) return; - new InventoryBackup(player); + player.closeInventory(); + new InventoryBackup(player, kit); FightPlayer fightPlayer = Fight.getFightPlayer(player); assert fightPlayer != null; - PersonalKit kit = PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()); if(kit == null){ fightPlayer.getKit().loadToPlayer(player); }else{ @@ -191,12 +295,14 @@ public class PersonalKitCreator extends BasicListener { private final Player player; private final ItemStack[] contents; private final ItemStack[] armor; + private final PersonalKit kit; - private InventoryBackup(Player player){ + private InventoryBackup(Player player, PersonalKit kit){ openKitCreators.put(player, this); this.player = player; this.contents = player.getInventory().getContents(); this.armor = player.getInventory().getArmorContents(); + this.kit = kit; } private void loadBackup(){ @@ -208,9 +314,11 @@ public class PersonalKitCreator extends BasicListener { private void close(){ openKitCreators.remove(player); - PersonalKit.save(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB(), removeBadItems(player.getInventory().getContents()), removeBadItems(player.getInventory().getArmorContents())); + kit.setInventory(removeBadItems(player.getInventory().getContents())); + kit.setArmor(removeBadItems(player.getInventory().getArmorContents())); loadBackup(); player.setGameMode(GameMode.SURVIVAL); + useKit(player, kit); } private ItemStack[] removeBadItems(ItemStack[] inventory){ -- 2.39.2 From bd08c9d890dd6c6cceb95f189756ddc2852957d0 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sun, 10 Jan 2021 17:06:15 +0100 Subject: [PATCH 2/8] Remove of MultipleKits with same name --- .../listener/PersonalKitCreator.java | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java index 579ea8a..7e13c55 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java @@ -75,17 +75,15 @@ public class PersonalKitCreator extends BasicListener { SWAnvilInv anvilInv = new SWAnvilInv(player, "§eKit namen eingeben"); anvilInv.setItem(Material.LEATHER_CHESTPLATE); anvilInv.setCallback(s -> { - Kit prototype = KitManager.getKits(Fight.getFightPlayer(player).isLeader()).get(0); - PersonalKit.create(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB(), s, prototype.getInventory(), prototype.getArmor()); - List kitList = PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB(), s); - if(kitList.size() > 1) { - List> kitsSelect = new ArrayList<>(kitList.size()); - kitList.forEach(kit -> kitsSelect.add(new SWListInv.SWListEntry<>(new SWItem(Material.LEATHER_CHESTPLATE, "§e" + kit.getName()), kit))); - SWListInv inv1 = new SWListInv<>(player, "§eWelches Kit bearbeiten", kitsSelect, (clickType1, kit) -> openKitCreator(player, kit)); - inv1.open(); - } else { - openKitCreator(player, kitList.get(0)); + SteamwarUser user = SteamwarUser.get(player.getUniqueId()); + if(PersonalKit.nameInUse(user.getId(), Config.SchematicType.toDB(), s)) { + player.sendMessage(FightSystem.PREFIX + "§cDieser Kit name wird bereits genutzt!"); + player.closeInventory(); + return; } + Kit prototype = KitManager.getKits(Fight.getFightPlayer(player).isLeader()).get(0); + PersonalKit kit = PersonalKit.create(user.getId(), Config.SchematicType.toDB(), s, prototype.getInventory(), prototype.getArmor()); + openKitCreator(player, kit); }); anvilInv.open(); }); @@ -103,7 +101,6 @@ public class PersonalKitCreator extends BasicListener { inv.setItem(0, Material.LEATHER_CHESTPLATE, "§aKit benutzen", clickType -> useKit(player, kit)); inv.setItem(1, Material.GLASS, "§bPreview", clickType -> preview(player, kit)); inv.setItem(4, SWItem.getMaterial("WOOD_AXE"), "§6Kit bearbeiten", clickType -> openKitCreator(player, kit)); - inv.setItem(5, Material.NAME_TAG, "§6Kit Umbenennen", clickType -> renameKit(player, kit)); inv.setItem(8, Material.BARRIER, "§cKit Löschen", clickType -> { player.closeInventory(); SWInventory conf = new SWInventory(player, 0, "§cKit " + kit.getName() + " wirklich löchen?"); @@ -120,13 +117,6 @@ public class PersonalKitCreator extends BasicListener { inv.open(); } - public static void renameKit(Player player, PersonalKit kit) { - SWAnvilInv inv = new SWAnvilInv(player, "§6Kit " + kit.getName() + " umbenennen"); - inv.setItem(Material.NAME_TAG); - inv.setCallback(kit::setName); - inv.open(); - } - public static void preview(Player player, PersonalKit kit){ SWInventory inv = new SWInventory(player, 54, "§e" + kit.getName()); -- 2.39.2 From 78b55e7e6c28b788831e62a6f64db6c7d484b5e2 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sun, 10 Jan 2021 17:07:01 +0100 Subject: [PATCH 3/8] Fixing --- .../de/steamwar/fightsystem/listener/PersonalKitCreator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java index 7e13c55..84f1a25 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java @@ -108,7 +108,7 @@ public class PersonalKitCreator extends BasicListener { conf.setItem(0, SWItem.getDye(10), "§aLöschen", click -> { player.closeInventory(); if(kit.isInUse()) { - PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()); + useKit(player, PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()).get(0)); } kit.delete(); }); -- 2.39.2 From 07f3cdc4cfd8439fee2fdbf3790139cb23f95179 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sun, 24 Jan 2021 15:09:48 +0100 Subject: [PATCH 4/8] Use New Methods --- .../de/steamwar/fightsystem/listener/PersonalKitCreator.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java index 84f1a25..9a85826 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java @@ -148,8 +148,6 @@ public class PersonalKitCreator extends BasicListener { } private static void useKit(Player player, PersonalKit kit) { - PersonalKit kitUse = PersonalKit.getKitInUse(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()); - if(kitUse != null) kitUse.setInUse(false); kit.setInUse(true); player.closeInventory(); } @@ -304,8 +302,7 @@ public class PersonalKitCreator extends BasicListener { private void close(){ openKitCreators.remove(player); - kit.setInventory(removeBadItems(player.getInventory().getContents())); - kit.setArmor(removeBadItems(player.getInventory().getArmorContents())); + kit.setContainer(removeBadItems(player.getInventory().getContents()), removeBadItems(player.getInventory().getArmorContents())); loadBackup(); player.setGameMode(GameMode.SURVIVAL); useKit(player, kit); -- 2.39.2 From 6cc140ff99d18dc80bd154de5c9f868b50de00dd Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Wed, 27 Jan 2021 12:18:10 +0100 Subject: [PATCH 5/8] Fix Many Typos and use less Inventories --- .../listener/PersonalKitCreator.java | 45 +++++++------------ 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java index 9a85826..5e7c30d 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java @@ -68,16 +68,16 @@ public class PersonalKitCreator extends BasicListener { kits.removeIf(kit -> !kit.getName().toLowerCase().contains(qry.toLowerCase())); List> entries = new ArrayList<>(kits.size()); kits.forEach(kit -> entries.add(new SWListInv.SWListEntry<>(new SWItem(Material.LEATHER_CHESTPLATE, "§e" + kit.getName(), new ArrayList<>(), kit.isInUse(), clickType -> {}), kit))); - SWListInv inv = new SWListInv<>(player, "§eKit wählen", false, entries, (clickType, kit) -> showKit(player, kit)); + SWListInv inv = new SWListInv<>(player, "§eKit wählen", false, entries, (clickType, kit) -> preview(player, kit)); if(entries.isEmpty()) inv.setItem(22, new SWItem(Material.BARRIER, "§cKeine Kits gefunden")); inv.setItem(48, Material.NETHER_STAR, "§eNeues Kit", clickType -> { - SWAnvilInv anvilInv = new SWAnvilInv(player, "§eKit namen eingeben"); + SWAnvilInv anvilInv = new SWAnvilInv(player, "Kitname eingeben"); anvilInv.setItem(Material.LEATHER_CHESTPLATE); anvilInv.setCallback(s -> { SteamwarUser user = SteamwarUser.get(player.getUniqueId()); if(PersonalKit.nameInUse(user.getId(), Config.SchematicType.toDB(), s)) { - player.sendMessage(FightSystem.PREFIX + "§cDieser Kit name wird bereits genutzt!"); + player.sendMessage(FightSystem.PREFIX + "§cDieser Kitname wird bereits genutzt!"); player.closeInventory(); return; } @@ -96,29 +96,8 @@ public class PersonalKitCreator extends BasicListener { inv.open(); } - private static void showKit(Player player, PersonalKit kit) { - SWInventory inv = new SWInventory(player, 9, "§e" + kit.getName()); - inv.setItem(0, Material.LEATHER_CHESTPLATE, "§aKit benutzen", clickType -> useKit(player, kit)); - inv.setItem(1, Material.GLASS, "§bPreview", clickType -> preview(player, kit)); - inv.setItem(4, SWItem.getMaterial("WOOD_AXE"), "§6Kit bearbeiten", clickType -> openKitCreator(player, kit)); - inv.setItem(8, Material.BARRIER, "§cKit Löschen", clickType -> { - player.closeInventory(); - SWInventory conf = new SWInventory(player, 0, "§cKit " + kit.getName() + " wirklich löchen?"); - conf.setItem(8, SWItem.getDye(1), "§cAbbrechen", click -> player.closeInventory()); - conf.setItem(0, SWItem.getDye(10), "§aLöschen", click -> { - player.closeInventory(); - if(kit.isInUse()) { - useKit(player, PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()).get(0)); - } - kit.delete(); - }); - conf.open(); - }); - inv.open(); - } - public static void preview(Player player, PersonalKit kit){ - SWInventory inv = new SWInventory(player, 54, "§e" + kit.getName()); + SWInventory inv = new SWInventory(player, 54, kit.getName()); //36 = Inventargröße for(int i = 0; i < 36; i++){ @@ -139,11 +118,21 @@ public class PersonalKitCreator extends BasicListener { } } - inv.setItem(45, SWItem.getDye(10), (byte)10, "§aKit wählen", (click) -> { + inv.setItem(45, Material.LEATHER_CHESTPLATE, "§aKit benutzen", clickType -> useKit(player, kit)); + inv.setItem(49, SWItem.getMaterial("WOOD_AXE"), "§7Kit bearbeiten", clickType -> openKitCreator(player, kit)); + inv.setItem(53, Material.BARRIER, "§cKit löschen", clickType -> { player.closeInventory(); - useKit(player, kit); + SWInventory conf = new SWInventory(player, 0, "§cKit " + kit.getName() + " wirklich löchen?"); + conf.setItem(8, SWItem.getDye(1), "§cAbbrechen", click -> player.closeInventory()); + conf.setItem(0, SWItem.getDye(10), "§aLöschen", click -> { + player.closeInventory(); + if(kit.isInUse()) { + useKit(player, PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB()).get(0)); + } + kit.delete(); + }); + conf.open(); }); - inv.setItem(53, SWItem.getDye(1), (byte)1, "§cZurück", (click) -> showKit(player, kit)); inv.open(); } -- 2.39.2 From 8ab93315ce1e91979b0649271503a77e8dcca6b8 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Wed, 27 Jan 2021 12:58:18 +0100 Subject: [PATCH 6/8] Fix not existing Method --- .../de/steamwar/fightsystem/listener/PersonalKitCreator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java index 5e7c30d..dd16d57 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java @@ -137,7 +137,7 @@ public class PersonalKitCreator extends BasicListener { } private static void useKit(Player player, PersonalKit kit) { - kit.setInUse(true); + kit.setInUse(); player.closeInventory(); } -- 2.39.2 From a51f03826cae0402dccd468a50ece2f2a510c430 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Fri, 29 Jan 2021 21:27:17 +0100 Subject: [PATCH 7/8] Remove Code Duplication --- .../src/de/steamwar/fightsystem/kit/Kit.java | 20 +++++++++++-------- .../listener/PersonalKitCreator.java | 19 +----------------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/kit/Kit.java b/FightSystem_Main/src/de/steamwar/fightsystem/kit/Kit.java index a7d6d8b..61049a9 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/kit/Kit.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/kit/Kit.java @@ -162,6 +162,18 @@ public class Kit { public void preview(Player player){ SWInventory inv = new SWInventory(player, 54, name); + preview(inv, inventory, armor, effects); + + inv.setCallback(-999, (click) -> player.closeInventory()); + inv.setItem(45, SWItem.getDye(10), (byte)10, "§aKit wählen", (click) -> { + Commands.kit(player, name); + player.closeInventory(); + }); + inv.setItem(53, SWItem.getDye(1), (byte)1, "§cZurück", (click) -> GUI.kitSelection(player)); + inv.open(); + } + + public static void preview(SWInventory inv, ItemStack[] inventory, ItemStack[] armor, Collection effects) { //36 = Inventargröße for(int i = 0; i < 36; i++){ if(inventory[i] == null) @@ -191,13 +203,5 @@ public class Kit { pos--; } } - - inv.setCallback(-999, (click) -> player.closeInventory()); - inv.setItem(45, SWItem.getDye(10), (byte)10, "§aKit wählen", (click) -> { - Commands.kit(player, name); - player.closeInventory(); - }); - inv.setItem(53, SWItem.getDye(1), (byte)1, "§cZurück", (click) -> GUI.kitSelection(player)); - inv.open(); } } diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java index dd16d57..668eb54 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java @@ -99,24 +99,7 @@ public class PersonalKitCreator extends BasicListener { public static void preview(Player player, PersonalKit kit){ SWInventory inv = new SWInventory(player, 54, kit.getName()); - //36 = Inventargröße - for(int i = 0; i < 36; i++){ - if(kit.getInventory()[i] == null) - continue; - SWItem item = new SWItem(); - item.setItemStack(kit.getInventory()[i]); - inv.setItem(i, item); - } - - if(kit.getArmor() != null){ - for(int i = 0; i < 4; i++){ - if(kit.getArmor()[i] == null) - continue; - SWItem item = new SWItem(); - item.setItemStack(kit.getArmor()[i]); - inv.setItem(36 + i, item); - } - } + Kit.preview(inv, kit.getInventory(), kit.getArmor(), null); inv.setItem(45, Material.LEATHER_CHESTPLATE, "§aKit benutzen", clickType -> useKit(player, kit)); inv.setItem(49, SWItem.getMaterial("WOOD_AXE"), "§7Kit bearbeiten", clickType -> openKitCreator(player, kit)); -- 2.39.2 From c41faca8e85e8fd2e2fb818d03400e6174a6afce Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sat, 30 Jan 2021 12:00:08 +0100 Subject: [PATCH 8/8] Fixing Minor Stuff --- .../de/steamwar/fightsystem/listener/PersonalKitCreator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java index 668eb54..ecf9627 100644 --- a/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java +++ b/FightSystem_Main/src/de/steamwar/fightsystem/listener/PersonalKitCreator.java @@ -105,7 +105,7 @@ public class PersonalKitCreator extends BasicListener { inv.setItem(49, SWItem.getMaterial("WOOD_AXE"), "§7Kit bearbeiten", clickType -> openKitCreator(player, kit)); inv.setItem(53, Material.BARRIER, "§cKit löschen", clickType -> { player.closeInventory(); - SWInventory conf = new SWInventory(player, 0, "§cKit " + kit.getName() + " wirklich löchen?"); + SWInventory conf = new SWInventory(player, 9, "Kit wirklich löchen?"); conf.setItem(8, SWItem.getDye(1), "§cAbbrechen", click -> player.closeInventory()); conf.setItem(0, SWItem.getDye(10), "§aLöschen", click -> { player.closeInventory(); -- 2.39.2