Skip to content

Pattern Pane (Dutch)

stefvanschie edited this page Jun 7, 2021 · 2 revisions

Talen: Engels (English)

Met het patronenpaneel kan je makkelijk een patroon aangeven waarop het paneel wordt gevuld met de bijbehorende items. Dit zorgt ervoor dat je makkelijk een ingewikkelde formatie van items kan specificeren, die anders veel handmatig werk zou kosten. Een patroon voor het paneel kan je maken door meerdere regels tekens neer te zetten, waarin elk teken voor een item staat. Bijvoorbeeld, het volgende patroon heeft een rand van items, één los item in het midden en de middelste rij bestaat uit weer een ander item.

111111111
100020001
111111111

Om een patroon te maken roep je de constructor aan en specificeer je het patroon door middel van meerdere strings, waarin elke string één rij in het patroon aanduidt.

Pattern patroon = new Pattern(
    "111111111",
    "100020001",
    "111111111"
);

Je kan deze dan gebruiken om je paneel te maken door de standaard constructor aan te roepen voor PatternPane. Houd er rekening mee dat de grootte van het patroon en het paneel hetzelfde moeten zijn.

PatternPane paneel = new PatternPane(0, 0, 9, 3, patroon);

Om ervoor te zorgen dat ons paneel een item kan tonen, moeten we aangeven welk teken tot welk item behoort. We kunnen dit doen door een specifiek item te koppelen aan een teken in het paneel.

paneel.bindItem('1', new GuiItem(new ItemStack(Material.GRAY_STAINED_GLASS_PANE)));

Nu zullen alle enen in ons paneel een grijze glazen ruit zijn. Tekens die in het patroon voorkomen maar niet gekoppeld zijn zullen niet worden getoond.

Je kan ook de items in het paneel horizontaal of verticaal spiegelen. Wanneer je de items horizontaal spiegelt worden all items bewogen over de z-as en als je deze verticaal spiegelt worden deze bewogen over de y-as. Je kan deze als volgt spiegelen.

paneel.flipHorizontally(true);
paneel.flipVertically(true);

Je kan ook een rotatie aangeven voor vierkante panelen. Er zijn vier verschillende rotaties: 0, 90, 180 en 270. Deze rotaties zijn in graden. Elke rotatie is met de klok mee; als je tegen de klok in wil draaien moet je zelf de juiste hoeveelheid graden berekenen.

paneel.setRotation(90);

Dit verandert de rotatie van het paneel naar negentig graden.

XML

Alles van Panes kan ook hier gebruikt worden.

De naam voor een patronenpaneel is patternpane.

<patternpane x="0" y="0" length="9" height="3"/>

Elk paneel moet een pattern-element hebben om het patroon aan te egeven voor het patronenpaneel. In deze tag kan je rijen hebben met de tekens voor die rij als tekst.

<patternpane x="0" y="0" length="9" height="3">
  <pattern>
    <row>111111111</row>
    <row>100020001</row>
    <row>111111111</row>
  </pattern>
</patternpane>

Optionele attributen

Om items te koppelen kan je een binding-element gebruiken. Het teken dat wordt gekoppeld is gerepresenteerd via een char-attribuut. In dit binding-element kan je het item plaatsen die je wil koppelen. Dit kan een item zijn zoals op de Gui Item pagina.

<patternpane x="0" y="0" length="9" height="3">
  <pattern>
    <row>111111111</row>
    <row>100020001</row>
    <row>111111111</row>
  </pattern>
  <binding char="1">
    <item type="stone" />
  </binding>
</patternpane>

Je kan ook het paneel horizontaal en verticaal spiegelen door de volgende attributen aan het paneel toe te voegen.

<patternpane x="0" y="0" length="9" height="3" flipHorizontally="true"/>
<patternpane x="0" y="0" length="9" height="3" flipVertically="true"/>

En je kan ook de rotatie aangeven door het rotate-attribuut toe te voegen aan het paneel. Standaard heeft het paneel geen rotatie.

<patternpane x="0" y="0" length="9" height="3" rotation="90"/>
Clone this wiki locally