• 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!

RewardSystem coden? Was muss ich machen?

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Hallo.
Ich wollte euch mal fragen wie ihr ein RewardSystem coden würdet (VillagerRechtsklick) und dann eben die Rewards. Was muss ich einbauen, worauf muss ich achten? Dankee

Achso noch ne kleine Frage nebenbei: Nehmen wir an, die UUID eines Spielers ist in der Config. Diese soll resettet werden. Der Spieler aber ist nicht online. Wie mach ich das? Sollte ich dann am besten die komplette Config leeren? Wenn ja, wie?
 
D

deleted202832

Guest
Zu deiner kleinen Frage:
Du kannst dir durch einen Spielernamen den OfflinePlayer holen und durch diesen OfflinePlayer dann die UUID des Spielers.
Damit kannst du dann die UUID in der Config auf null setzen damit diese gelöscht wird.
Code:
OfflinePlayer player = Bukkit.getOfflinePlayer("Chronex");
player.getUniqueId();

Zu dem RewardSystem:
Meinst du sowas wie DailyRewards oder was genau?
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Zu deiner kleinen Frage:
Du kannst dir durch einen Spielernamen den OfflinePlayer holen und durch diesen OfflinePlayer dann die UUID des Spielers.
Damit kannst du dann die UUID in der Config auf null setzen damit diese gelöscht wird.

Warum sollte man hier den sich jederzeit ändernden Namen verwenden wenn schon alles über die UUID gespeichert wird?
 
D

deleted202832

Guest
Wer will denn bitte über einen Befehl immer eine UUID eingeben?
Niemand.
Also verwendet man als BEISPIEL /delete Chronex --> OffllinePlayer holen mit dem Beispiel von mir und dann löscht man so die UUID raus.

Anderes Beispiel zu deiner Frage:
Wer entbannt Spieler über die UUID wenn man selbst ein Bannsystem programmiert?
Keiner, jeder holt sich die UUID über den Spielernamen...

Natürlich kann man den Eintrag manuell löschen aber dann ist die Frage unnötig.

//Edit
Vor allem keiner kennt die UUID von Spielern auswendig?

Aber gerne zähle ich noch weitere Möglichkeiten auf:
(Ich gehe davon aus das man die UUID über Befehl löschen will)

1. UUID über Spielername holen - wie schon gesagt
2. UUID über UUID löschen:
/delete 172f1917-273f-4cef-a3f6-15be79e2c0eb
- UUID uuid = UUID.fromString(args[0]);
3. Eintrag manuell löschen - Plugin Ordner - Config - UUID löschen - speichern
 
Zuletzt bearbeitet von einem Moderator:

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Gut, ich ging jetzt nicht davon aus, dass man es manuell entfernt, sondern z.B. zeitgesteuert. Für Befehle macht es natürlich Sinn, mit Namen zu arbeiten und die UUID dazu zu bestimmen. Wenn man die UUID kennt, dann arbeitet man natürlich mit dieser.
 
D

deleted202832

Guest
Warum sollte man z.B. bei DailyRewards nach einer Zeit Einträge löschen?
Man speichert einfach entweder das Datum und vergleicht das alte mit dem neuen oder man nimmt einfach den Tag des Jahres und vergleicht diese dann. Nachteil daran wäre das wenn man erst nach genau 365 Tage erneut die Belohnung will das es nicht geht.
Oder man arbeitet mit den currentTimeMillis
 
Oben