-
Notifications
You must be signed in to change notification settings - Fork 98
Updating from previous versions (Dutch)
Talen: Engels (English)
Hier is een lijst met veranderingen die niet compatibel zijn met vorige versies en aanpassingen vereisen als een nieuwere versie wordt gebruikt. Houd er rekening mee dat als je meerdere versies tegelijk update je alle stappen van versies er tussenin ook moet volgen (als je van 0.1.0 naar 0.3.0 update moet je zowel de stappen voor 0.2.0 en 0.3.0 volgen).
Elk XML-attribuut die eerder onClick heette, heet nu onLocalClick. Alle methodes die eerst setOnClick heette zijn verandered naar setOnLocalClick.
GuiLocation is verwijderd. Alle plekken waar deze klasse werd gebruikt zijn nu verandert door twee getallen te vereisen in plaats van één GuiLocation. Pane is verplaatst van pane.util naar pane. X en y voor panelen zijn niet langer verplicht; hoewel huidige codering nog steeds blijft werken, wil je misschien je eigen panelen aanpassen om dit ook toe te staan. Eigen panelen die spiegelbaar, oriënteerbaar of roteerbaar zijn kunnen nu de aangeleverde interfaces hiervoor gebruiken.
Elk paneel heeft nu een clear methode nodig. Deze methode moet alle panelen of items die aan het paneel zijn toegevoegd verwijderen. Als je paneel geen items of panelen heeft, kan je deze methode leeg laten.
De display en click methodes zijn aangepast en de display methode heeft nu ook een Gui en PlayerInventory parameter en de click methode heeft een Gui parameter. In het Gui is onLocalClick hernoemd naar onTopClick en hetzelfde geldt voor het XML. In de panelen is onLocalClick verandert naar onClick en hetzelfde voor het XML.
In Pane setOnLocalClick is veranderd naar setOnClick. Wanneer je een eigen eigenschap toevoegd moet registerProperty gebruikt worden in plaats van aan getPropertyMappings toe te voegen. De methodes om een callback op te vragen (getOnClose, getAction, getOnTopClick, etc.) zijn vervangen door een methode die direct deze callback aanroept met foutafhandelingsfunctionaliteit.
In Gui kopieert de copy methode nu ook de interne UUID.
Referenties naar Gui moeten worden vervangen door ChestGui. Eigen panelen moeten hun display en click methodes aan passen om de volgende parameters te hebben: (InventoryComponent inventoryComponent, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight) en (Gui gui, InventoryClickEvent event, int slot, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight) respectievelijk. Eigen panelen moeten hun items in de gegeven InventoryComponent tonen in plaats van direct in de inventaris. Codering om te kiezen of een item in de spelerinventaris of gewone inventaris moet worden geplaatst moet wordne verwijdered: inventariscomponenten behandelen beiden als één en spelerinventarisrijen zijn toegevoeegd aan de gewoneinventarisrijen. Codering die de staat van de hui verandert moet ook worden verwijderd: dit is nu verouderd. Klik-codering zou ongeveer hetzelfde als eerst werekn, maar moet niet gebruikmaken van de slot van het InventoryClickEvent, maar het gegeven slot omdat deze het slot in relatie tot jouw inventarisgedeelte representeerd. Dit slot is ook correct in relatie tot de spelerinventaris; spelerinvenarissen worden gezien als direct onder de normale inventaris.
De constructor voor guis kunnen niet langer worden aangeroepen met een Plugin: verwijder deze parameter.
Codering gerelateerd aan het veranderen van de gui staat moet worden verwijderd; het framework doet dit nu zelf en heeft geen extra code nodig om de staat te bepalen. De click methode in panelen hebben nu de bovenliggende InventoryComponent waarin het paneel zich bevindt als parameter. Voeg deze parameter toe aan je parameterlijst voor eigen panelen.
Gui#setTitle en ChestGui#setRows updaten niet meer automatische de gui en moeten handmatig worden ge-updatet nadat deze gebruikt worden. Gui#getInventory en Gui#createInventory zijn verplaatst naar InventoryBased. NamedGui#createInventory(String) bestaat niet meer.
Minecraft versie 1.14 en 1.15 worden niet langer ondersteund.
Minecraft versies 1.16.1-1.16.4, 1.17.0, 1.18.0-1.18.1 en 1.19.0-1.19.3 worden niet langer ondersteund.
De pagina's in PaginatedPane moeten nu opeenvolgend zijn. Bijvoorbeeld, pagina 0, 1, 2, etc.
InventoryComponent heet nu GuiComponent. Je kan alle vorige referenties wijzigen naar de nieuwe naam om dit op te lossen.
Verouderde methodes zijn verwijderd, zoals Pane#getX, Pane#getY, Pane#setX en Pane#setY. Panelen hebben nu zelf geen slot meer, maar alleen de container waar ze aan worden toegevoegd. Als je de locatie van een paneel wil weten, moet deze bij de container worden opgevraagd.
De Plugin parameter op load methodes in panelen is nu verplicht. Door je eigen plugin als derde argument toe te voegen kan je gebruik maken van de andere load methode.
Pane#loadItem is verplaatst naar GuiItem.
Label heeft nu Pane als superklasse in plaats van OutlinePane.
Verschillende hulpmethodes in StaticPane werken nu voor alle soorten slots, in plaats van alleen het soort slot dat gespecificeerd wordt. Het wordt niet aangeraden om verschillende soorten slots met elkaar te combineren, maar mocht je toch alleen één specifiek soort slot willen, dan kan je deze eruit filteren.
Wanneer een item wordt gedropped of een gui gesloten wordt zullen interne identificeercodes worden verwijderd van deze items.
Pane#draw en Pane#click hebben andere parameters en retourneerwaardes. Bekijk de wikipagina over het maken van je eigen panelen voor de bijgewerkte documentatie.
Slots worden niet langer gedefinieerd op panelen, maar op de container waar ze aan worden toegevoegd. Je kan het slotargument van de constructor van een paneel weghalen en deze toevoegen aan de methode die je gebruikt om een paneel aan een container toe te voegen.