• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Kits für immer freischalten.

Lapura

Kuhfänger
Registriert
28 Dezember 2014
Beiträge
73
Alter
26
Diamanten
314
Guten Tag,
ich bin gerade dabei ein Kit-PvP Plugin zu programmieren, und ich möchte das so machen das man Kits für immer freischalten kann (1 mal kaufen und immer auswählen können.
Ich wollte mal von euch einen Tipp wissen wie ihr das machen würdet. Ich dachte mir das ich das in einer Config abspeicher, und das bei jedem Kit immer dahinter steht true oder false [True = gekauft | false = noch nicht gekauft]
Z.B.:
Schütze: true
Kämpfer: false
Panzer: true

Bitte um hilfe.
LG, lukas
 

Inkemann

Braumeister
Registriert
3 Mai 2015
Beiträge
339
Diamanten
301
Minecraft
Inkemann
1. Wenn du es in der Konfiguration speicherst (an sich möglich, die API bietet da mit Configuration und seinen Unterklassen tolle Möglichkeiten), dann würde ich empfehlen es nicht in der Standarddatei config.yml zu speichern sondern in einer anderen Datei (um dem Benutzer eine bessere Übersicht und Verwaltbarkeit zu gewährleisten). Und da bist du mit true und false ziemlich gut bedient, da das Schreiben und Auslesen von boolschen Werten ja von der API unterstützt wird. 1 und 0 würden hier nur unnötigen Aufwand und reduzierte Lesbarkeit bedeuten.
2. Ansonsten würde ich SQLite empfehlen, eine Programmbibliothek für relationale Datenbanken, die nur eine Datei für die gesamte Datenbank nutzt und für die es auch gute Java-Schnittstellen gibt. Ist ziemlich schmal, aber für Anfänger vielleicht weniger zu empfehlen als die Konfiguration zu benutzen.

Falls du dich für die erste Möglichkeit entscheidest, empfehle ich dir für jeden Nutzer einen Konfigurationspunkt mit seiner UUID anzulegen und dazu dann jeweils Unterpunkte mit den Werten (true/false).

Code:
1c0da02d-27d2-46f1-93c4-ba5b1bef64a8:
  Schuetze: true
  Kaempfer: false
  Kartoffel: true
5d7d1c32-749c-4791-9752-0d0fb102d55a:
  Schuetze: false
  Kaempfer: false
  Kartoffel: true

Dann kannst du in deinem Plugin über die Methode getBoolean leicht an die jeweiligen Werte kommen:

Code:
Player player = irgendsoeinSpieler;
FileConfiguration config = deineConfig;
if(config.getBoolean(player.getUniqueID().toString() + ".Kaempfer"))
{
  System.out.println("Der Spieler ist ein Kämpfer!");
}

Eine zweite Möglichkeit wäre für jedes Kit eine Liste von Spielern zu speichern die es freigeschaltet haben, halte ich zwar für mehr Aufwand für einen Anfänger, ist aber auch machbar.

Code:
Schuetze: [1c0da02d-27d2-46f1-93c4-ba5b1bef64a8]
Kaempfer: []
Kartoffel: [1c0da02d-27d2-46f1-93c4-ba5b1bef64a8, 5d7d1c32-749c-4791-9752-0d0fb102d55a]

Dann würde sich eine Abfrage entsprechend ändern.

Code:
Player player = irgendsoeinSpieler;
FileConfiguration config = deineConfig;
List<String> liste = config.getList("Kaempfer");
if(liste.contains(player.getUniqueID().toString())
{
  System.out.println("Der Spieler ist ein Kämpfer!");
}


Der Code ist frei aus dem Kopf geschrieben, ohne zu testen oder in die Docs zu gucken, ich übernehme keine Gewähr für irgendetwas :D
 
Zuletzt bearbeitet:
Oben