methoden werden kleingeschrieben
isItemAboveMaxAge
ich hatte nur das Max noch einfügen wollen, nicht das 'isItem' streichen.
Wenn das Markieren von Items hier als Logik in der Appliance liegt, sollte das testen auf markierte Items auch hier liegen. Dann ist die Logik "was ist ein markiertes Item?" hier zusammen und…
ProjectStart to use a unified GameRuleSetting record, eliminating redundant methods and improving code clarity.
ProjectStart to use a unified GameRuleSetting record, eliminating redundant methods and improving code clarity.
der Check, ob heute Neujahr ist, gilt als Logik, und sollte daher in die Appliance ausgelagert werden. Einfach eine Methode, die true zurück gibt, wenn Feuerwerk kommen soll. Und hier dann einfach (!Appliance#shouldSpawnFirework) return
statt dem Nullcheck wäre ein PersistentDataContainer#has check schöner mit early return...
dieser Weg ist sehr sehr Hacky... Und es gibt einen viel besseren Weg: es gibt PlayerDeathEvent#getDrops. Dort können direkt alle ItemStacks welche resultiertend aus dem Tod gedroppt werden. Kein Distance-Check, keine Race conditions, mit Items die zufällit normal in dem Bereich im selbigen Tick gedroppt werden.
dieses Vorgehen wird schwirig, sobal mal mehr als ein Spieler Pro Spiel-Tick sterben sollten...
die klasse kann package-private sein, dann sieht nur die Appliance den Listener, und nicht das ganze Projekt. Dazu einfach das Public ersatzlos wegnehmen.