Plugin YAML/no

From BukkitWiki
Jump to: navigation, search
This page has been suggested for inclusion in the Official Documentation

This page has been marked for inclusion in the Bukkit Official Documentation section, Docs. You can deliberate about its inclusion on it's Talk page.

Når Bukkit laster inn en plugin, må den vite litt grunnleggende informasjon om det. Den leser denne informasjonen fra en YAML-fil, 'plugin.yml'. Denne filen består av et sett attributter, hver definert på en ny linje og uten innrykk.

Attributes
Egenskap Nødvendig Beskrivelse Eksempel Merknader
name ja Navnet på pluginen din. name: MyPlugin
  • Må bestå av alle alfanumeriske tegn og understrek (a-z, A-Z, 0-9, _)
  • Brukes til å bestemme navnet på plugin-datamappen. Datamapper plasseres som standard i katalogen ./plugins/.
  • Det er god praksis å navngi din .jar på samme måte som dette, for eksempel 'MyPlugin.jar'
version ja Versjonen av denne plugin. version: 1.4.1
  • Versjon er en vilkårlig streng, men det vanligste formatet er MajorUtgivelse.MindreUtgivelse.Bygge (f.eks: 1.4.1).
  • Vanligvis vil du øke dette hver gang du slipper en ny funksjon eller bug fix.
  • Vises når en bruker skriver /version PluginName
description nei En menneskelig vennlig beskrivelse av funksjonaliteten din plugin gir. description: Denne pluginen er så 31337. Du kan sette deg i brann.
  • Beskrivelsen kan ha flere linjer.
  • Vises når en bruker skriver /version PluginName
load nei Oppgi eksplisitt når plugin-en skal lastes. hvis ikke levert, vil standardverdien være postworld load: STARTUP Har to mulige verdier
  • STARTUP
  • POSTWORLD
author nei Identifiserer entydig hvem som har utviklet denne pluginen. author: CaptainInflamo
  • Gir kreditt til utvikleren.
  • Brukes i noen serverfeilmeldinger for å gi nyttige tilbakemeldinger om hvem de skal kontakte når en feil oppstår.
  • Et bukkit.org forumhåndtak eller e-postadresse anbefales.
  • Vises når en bruker skriver /version PluginName
authors nei Lar deg liste flere forfattere, hvis det er et samarbeidsprosjekt. Se author. authors: [Cogito, verrier, EvilSeph]
  • Du kan definere både forfatter og forfattere, men de vil bli slått sammen til en liste internt.
website nei Plugins eller forfatterens nettsted. website: http://forums.bukkit.org/threads/MyPlugin.31337/
  • Hvis du ikke har noe dedikert nettsted, anbefales det en kobling til Bukkit foruminnlegg der denne pluginen er oppført.
  • Vises når en bruker skriver /version PluginName
main ja Peker på klassen som utvider JavaPlugin main: org.bukkit.plugin.MyPlugin
  • Legg merke til at dette må inneholde hele navneområdet inkludert selve klassefilen.
  • Hvis navnefeltet ditt er org.bukkit.plugin, og klassefilen din heter MyPlugin, må dette være org.bukkit.plugin.MyPlugin
database nei Sett til true hvis denne pluginen bruker en database. database: false
depend nei En liste over plugins som pluginen krever å laste inn. depend: [OnePlugin, AnotherPlugin]
  • Verdien må være i YAML-listeformat (se http://en.wikipedia.org/wiki/YAML#Lists)
  • Bruk attributtet "name" til ønsket plugin for å spesifisere avhengighet.
  • Hvis noen plugin som er oppført her ikke blir funnet, lastes ikke plugin-en.
  • Hvis flere plugins viser hverandre som en avhengighet, så det ikke er noen plugins uten nedlastbar avhengighet, vil ikke alle laste.
  • (Se: Wiki: Plugin_Dependencies)
prefix nei Navnet som skal brukes når du logger på konsoll i stedet for plugin-navnet. prefix: ex-why-zee
softdepend nei En liste over plugins som kreves for at plugin-en din skal ha full funksjonalitet. softdepend: [OnePlugin, AnotherPlugin]
  • Verdien må være i YAML-listeformat (se http://en.wikipedia.org/wiki/YAML#Lists)
  • Bruk "navn" -attributtet til ønsket plugin for å spesifisere avhengigheten.
  • Plugin-en din lastes inn etter eventuelle plugins som er oppført her.
  • Sirkulære myke avhengigheter lastes vilkårlig.
  • (Se: Wiki: Plugin_Dependencies)
loadbefore nei En liste over plugins bør lastes etter plugin-modulen din. loadbefore: [OnePlugin, AnotherPlugin]
  • Verdien må være i YAML-listeformat (se http://en.wikipedia.org/wiki/YAML#Lists)
  • Behandles som om den listede plugin-myken avhenger av den spesifiserende plugin.
  • Bruk "navn" -attributtet til ønsket plugin for å spesifisere målet.
  • Plugin-en din lastes før noen plugins som er oppført her.
  • Sirkulære myke avhengigheter lastes vilkårlig.
  • (Se: Wiki: Plugin_Dependencies)
commands nei Navnet på en kommando plugin-en ønsker å registrere, i tillegg til en valgfri liste over kommandoattributter.

commands:
 flagrate:
   [optional command attributes]

  • Kommandonavnet skal ikke inneholde den ledende '/' som kreves for å utstede en kommando.
  • Du kan velge hvilket som helst kommandonavn du ønsker, men 'vanlige' kommandoer som /kick er ofte allerede registrert. Bruk kommandoeattributtet 'alias' for å oppgi alternative navn.
permissions nei Tillatelser som pluginen ønsker å registrere. Hver node representerer en tillatelse til å registrere. Hver tillatelse kan ha flere attributter.
permissions:
  inferno.*:
    [optional permission attributes]
  inferno.flagate:
    [optional permission attributes]
  inferno.burningdeaths:
    [optional permission attributes]
  • Tillatelsesregistrering er valgfri, kan også gjøres fra kode
  • Tillatelsesregistrering lar deg angi beskrivelser, mislighold og foreldreforhold
  • Tillatelsesnavn skal holdes i stilen med <pluginname>.[Kategori].[Kategori].<tillatelse>


En kommandoblokk starter med kommandans navn, og har deretter en liste over attributter.

Kommandoattributt Nødvendig Beskrivelse Eksempel Merknader
description nei En kort beskrivelse av hva kommandoen gjør. description: Sett deg i brann
  • Kan brukes i forbindelse med /help
aliases nei Alternative kommandonavn en bruker kan bruke i stedet
aliases: combust_me OR 
aliases: [combust_me, combustMe, cm]
permission nei Den mest grunnleggende tillatelsesnoden som kreves for å bruke kommandoen
permission: inferno.flagrate
  • Denne tillatelsesnoden kan brukes til å bestemme om en bruker skal kunne se denne kommandoen
  • Noen plugins vil bruke denne noden til å konstruere en personlig /help
permission-message nei Melding uten tillatelse permission-message: Du har ikke /<permission>
  • Vises for en spiller som prøver å bruke en kommando, men ikke har den tilhørende tillatelsen
  • <tillatelse> er en makro som erstattes med tillatelsesnoden som kreves for å bruke kommandoen.
  • Du kan bruke tomme anførselstegn for å indikere at ingenting skal vises.
usage nei En kort beskrivelse av hvordan du bruker denne kommandoen. usage: Syntax error! Perhaps you meant /<command> PlayerName?
  • Vises for den som har utstedt kommandoen når programmets styrehåndterer (onCommand) ikke kommer tilbake.
  • <kommando> er en makro som erstattes med kommandoen som er gitt uansett hvor den forekommer.
  • For å bruke strengen "Bruk:" (dvs. usage: Bruk: /gud [spiller] , omgir du teksten etter bruken: etikett med doble anførselstegn:
    usage: " Bruk: / gud [spiller] "


En tillatelsesblokk starter med tillatelsens navn og blir fulgt av noder med attributter

Tillatelsesattributt Nødvendig Beskrivelse Eksempel Merknader
description nei En kort beskrivelse av hva denne tillatelsen tillater
description: Allows you to set yourself on fire
  • Tillater programmatisk tilgang, og hjelper serveradministratorer
default nei Angir standardverdien for tillatelsen
default: true
  • Hvis node ikke eksisterer, er tillatelsen standard for å op
  • Tillatte standardverdier er: true, false, op, not op
  • op standard vil være sant hvis spilleren er op
  • Ingen op standard er motsatt oppførsel (av op)
children nei Lar deg stille barn til tillatelse. Barneknuter er tillatelsesnavn
children:
  inferno.flagrate: true
  inferno.burningdeaths: true
  • Hver underordnede node må være satt til sann eller usann
    • en barnesnutt av ekte arver foreldretillatelsen
    • en falsk barnknute arver den omvendte foreldrenes tillatelse
  • Kan også inneholde andre tillatelsesnoder {1}


Eksempel:

 name: Inferno
 version: 1.4.1
 description: This plugin is so 31337. You can set yourself on fire.
 # Vi kunne plassere hver forfatter på forfatterlisten, men valgte å ikke gjøre det for illustrerende formål
 # Å ha en forfatter skiller også den personen som prosjektleder, og sikrer deres 
 # navn vises først
 author: CaptainInflamo
 authors: [Cogito, verrier, EvilSeph] 
 website: http://forums.bukkit.org/threads/MyPlugin.31337/
 
 main: com.captaininflamo.bukkit.inferno.Inferno
 database: false
 depend: [NewFire, FlameWire]
 
 commands:
   flagrate:
     description: Sett deg i brann.
     aliases: [combust_me, combustMe]
     permission: inferno.flagrate
     usage: Syntax error! Simply type /&lt;command&gt; to ignite yourself.
   burningdeaths:
     description: Liste over hvor mange ganger du har dødd av brann.
     aliases: [burning_deaths, burningDeaths]
     permission: inferno.burningdeaths
     usage: |
       /&lt;command&gt; [player]
       Example: /&lt;command&gt; - se hvor mange ganger du har brent i hjel
       Example: /&lt;command&gt; CaptainIce - se hvor mange ganger CaptainIce har brent i hjel
 
 permissions:
   inferno.*:
     description: Gir tilgang til alle Inferno-kommandoer
     children:
       inferno.flagrate: true
       inferno.burningdeaths: true
       inferno.burningdeaths.others: true
   inferno.flagrate:
     description: Lar deg tenne deg selv
     default: true
   inferno.burningdeaths:
     description: Lar deg se hvor mange ganger du har brent i hjel
     default: true
   inferno.burningdeaths.others:
     description: Lar deg se hvor mange ganger andre har brent seg i hjel
     default: op
     children:
       inferno.burningdeaths: true
Language   EnglishбеларускаяDeutschespañolsuomifrançaisitaliano한국어Nederlandsnorskpolskiportuguêsрусскийlietuviųčeština