SteamWar/FightSystem
Archiviert
13
1

Add Multi Personal Kits #228

Manuell gemergt
Lixfel hat 8 Commits von multi-kits nach master 2021-01-30 16:41:54 +01:00 zusammengeführt
Nur Änderungen aus Commit bd08c9d890 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -75,17 +75,15 @@ public class PersonalKitCreator extends BasicListener {
SWAnvilInv anvilInv = new SWAnvilInv(player, "§eKit namen eingeben"); SWAnvilInv anvilInv = new SWAnvilInv(player, "§eKit namen eingeben");
anvilInv.setItem(Material.LEATHER_CHESTPLATE); anvilInv.setItem(Material.LEATHER_CHESTPLATE);
anvilInv.setCallback(s -> { anvilInv.setCallback(s -> {
Kit prototype = KitManager.getKits(Fight.getFightPlayer(player).isLeader()).get(0); SteamwarUser user = SteamwarUser.get(player.getUniqueId());
PersonalKit.create(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB(), s, prototype.getInventory(), prototype.getArmor()); if(PersonalKit.nameInUse(user.getId(), Config.SchematicType.toDB(), s)) {
List<PersonalKit> kitList = PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.SchematicType.toDB(), s); player.sendMessage(FightSystem.PREFIX + "§cDieser Kit name wird bereits genutzt!");
if(kitList.size() > 1) { player.closeInventory();
List<SWListInv.SWListEntry<PersonalKit>> kitsSelect = new ArrayList<>(kitList.size()); return;
kitList.forEach(kit -> kitsSelect.add(new SWListInv.SWListEntry<>(new SWItem(Material.LEATHER_CHESTPLATE, "§e" + kit.getName()), kit)));
SWListInv<PersonalKit> inv1 = new SWListInv<>(player, "§eWelches Kit bearbeiten", kitsSelect, (clickType1, kit) -> openKitCreator(player, kit));
inv1.open();
} else {
openKitCreator(player, kitList.get(0));
} }
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(); 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(0, Material.LEATHER_CHESTPLATE, "§aKit benutzen", clickType -> useKit(player, kit));
inv.setItem(1, Material.GLASS, "§bPreview", clickType -> preview(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(4, SWItem.getMaterial("WOOD_AXE"), "§6Kit bearbeiten", clickType -> openKitCreator(player, kit));
Review

6 ist kein Teil der SW-Farbpalette, wir haben ja Stil und kein Weihnachtsbaumsyndrom wie nahezu alle anderen MC-Server): 78e (7 schätzungsweise die "korrekte" Farbe)

6 ist kein Teil der SW-Farbpalette, wir haben ja Stil und kein Weihnachtsbaumsyndrom wie nahezu alle anderen MC-Server): 78e (7 schätzungsweise die "korrekte" Farbe)
inv.setItem(5, Material.NAME_TAG, "§6Kit Umbenennen", clickType -> renameKit(player, kit));
inv.setItem(8, Material.BARRIER, "§cKit Löschen", clickType -> { inv.setItem(8, Material.BARRIER, "§cKit Löschen", clickType -> {
player.closeInventory(); player.closeInventory();
SWInventory conf = new SWInventory(player, 0, "§cKit " + kit.getName() + " wirklich löchen?"); SWInventory conf = new SWInventory(player, 0, "§cKit " + kit.getName() + " wirklich löchen?");
@ -120,13 +117,6 @@ public class PersonalKitCreator extends BasicListener {
inv.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){ public static void preview(Player player, PersonalKit kit){
Review

So eine Preview gibt es schon beim normalen Kit wählen, würde dich bitten, das wenn wiederzuverwenden. Ich fände es auch noch gut, wenn diese Ansicht mit den Kitoptionen (showKit) gemergt wird, dass dann im oberen Teil der GUI das Kit zu sehen ist und unten die Optionen dazu angezeigt werden (ich weiß, das macht eine kleine Veränderung der bisherigen Preview-GUI nötig, evtl. lässt du sie dann einfach das SWInventory zurückgeben, dass dann noch nachträglich anklickoptionen hinzugefügt werden können und dann halt die Aufrufende Funktion dann das Inventar .open() muss.

So eine Preview gibt es schon beim normalen Kit wählen, würde dich bitten, das wenn wiederzuverwenden. Ich fände es auch noch gut, wenn diese Ansicht mit den Kitoptionen (showKit) gemergt wird, dass dann im oberen Teil der GUI das Kit zu sehen ist und unten die Optionen dazu angezeigt werden (ich weiß, das macht eine kleine Veränderung der bisherigen Preview-GUI nötig, evtl. lässt du sie dann einfach das SWInventory zurückgeben, dass dann noch nachträglich anklickoptionen hinzugefügt werden können und dann halt die Aufrufende Funktion dann das Inventar .open() muss.
Review

Bitte Code-Duplication entfernen!

Bitte Code-Duplication entfernen!
SWInventory inv = new SWInventory(player, 54, "§e" + kit.getName()); SWInventory inv = new SWInventory(player, 54, "§e" + kit.getName());