17w45a

17w45a

 Releasedatum
 Snapshot voor
 Download
 (.json)
 ◄◄ 1.12.2◄ 17w43b

 Dit artikel gaat over de Javaeditie. Voor andere versies, zie Versiegeschiedenis (doorverwijzing).
**17w45a** is de derde gepubliceerde *snapshot* voor *Minecraft* 1.13.

## Toegevoegd

### Opdrachten

Algemeen
* Een gebruikersinterface voor het typen van opdrachten in de chat.
	+ Verschillende componenten van de opdrachten worden afgebeeld in verschillende kleuren.
	+ Fouten worden getoond in rood, zonder dat het opdracht uitgevoerd hoeft te worden.
* Een `nbt`-argument in doelselecteerders.
* De nieuwe opdrachtparserbibliotheek heet *Brigadier*.

`/tag`
* Vervangt `/scoreboard players tag`.
* Behoudt dezelfde syntaxis van het `/scoreboard`-opdracht.
	+ `/tag *<spelers>* add *<tag>*` om *`<tag>`* toe te voegen aan *`<spelers>`*.
	+ `/tag *<spelers>* remove *<tag>*` om *`<tag>`* te verwijderen van *`<spelers>`*.
	+ `/tag *<spelers>* list` om alle tags van `*<spelers>*` op te vragen.

`/team`
* Vervangt `/scoreboard players teams`.
* Behoudt dezelfde syntaxis van het `/scoreboard`-opdracht.
	+ `/team add *<team> [<toon\_naam>]*`
	+ `/team empty *<team>*`
	+ `/team join *<team> [<leden>]*`
	+ `/team leave *<team> [<leden>]*`
	+ `/team list *[<team>]*`
	+ `/team option *<team> <optie> <waarde>*`

## Gewijzigd

### Wezens

Paard
* Niew model, om consistent te zijn vergeleken met andere wezens.

### Opdrachten

#### Algemeen

* Opdrachten werken sneller en efficiënter.
* De meeste opdracht's zijn hoofdlettergevoelig. Kleine letters worden geprefereerd.
	+ `/scoreboard OBjecTiVeS ...` is bijvoorbeeld niet langer toegestaan. Gebruik, in plaats daarvan, `/scoreboard objectives ...`.
* Het uitvoersignaal veranderd van `SuccessCount` naar `result`.

#### Specifieke opdracht's

##### `/advancement`

* `/advancement test` verwijderd.
	+ Entiteitselecteerders zijn daarvoor in de plaats gekomen.

##### `/clear`

* Syntaxis veranderd.
	+ `/clear *[<doel>] [<data>] [<aantal>] [<nbt>]*` wordt `/clear *[<doel>] [<voorwerp>] [<aantal>]*`.
	+ Zie het `voorwerp`-argument voor het gebruik van `*[<voorwerp>]*`.
	+ `*[<data>]*` werd verwijderd ter voorbereiding op de zogenaamde *versimpeling*. Vanwege dit, wordt voorwerpdata verwijderd en voorwerpwaarden wordt NBT-data.

##### `/clone`

* Syntaxis veranderd.

##### `/defaultgamemode` en `/gamemode`

* `/defaultgamemode *[<spelmodus>]*` en `/gamemode *[<spelmodus>]*` accepteren nu alleen de volgende waarden:
	+ `survival`
	+ `creative`
	+ `adventure`
	+ `spectator`

##### `/difficulty`

* `/difficulty *[<moeilijkheidsgraad>]*` accepteert alleen de volgende waarden:
	+ `peaceful`
	+ `easy`
	+ `normal`
	+ `hard`
* Enkel `/difficulty` toont de huidige moeilijkheidsgraad.

##### `/effect`

* Syntaxis opgesplitst om dubbelzinnigheid te voorkomen.
	+ `/effect *<entiteit> <effect>*` is nu `/effect give *<entiteit> <effect>*`
	+ `/effect *<entiteit>* clear` is nu `/effect clear *<entiteit> [<effect>]*`
* Het geven van een effect mislukt als het helemaal niets doet.
	+ Sommige wezens, zoals de Enderdraak, zijn immuun.
	+ Sterkere effecten overschrijven de zwakkere, maar zwakkere niet de sterkere.

##### `/execute`

* Syntaxis opgesplitst.
	+ Aanpassende subopdracht's kunnen wijzigen hoe een opdracht uitgevoerd gaat worden.
		- `/execute as *<entiteit> <gekoppeld opdracht>*` voert een opdracht uit door `*<entiteit>*` te gebruiken, maar verandert het entiteit niet van positie.
		- `/execute at *<entiteit> <gekoppeld opdracht>*` voert een opdracht uit op de positie van `*<entiteit>*`, maar verandert niet het entiteit zelf.
		- `/execute offset *<x y z> <gekoppeld opdracht>*` voert een opdracht uit en maakt gebruik van de positie `*<x y z>*`.
		- `/execute align *<axis> <gekoppeld opdracht>*` voert een opdracht uit nadat de huidige positie uitgelijnd is op het blokgrid, naar beneden afgerond. `*<axis>*` is elke combinatie van `x`, `y` en `z`, bijvoorbeeld `x`, `xz`, `zyx` of `yz`.
			* `x=-1.6; y=8; z=4.7` in combinatie met `x` wordt `x=-2; y=8; z=4.7`.
			* `x=3.4; y=-9.1; z=8.7` in combinatie met `zxy` wordt `x=3; y=-10; z=9`.
	+ Voorwaardelijke subopdracht's kunnen voorkomen dat opdracht's kunnen worden uitgevoerd.
		- `/execute (if|unless) block *<x y z> <blok> <gekoppeld opdracht>*` voert een opdracht uit als (of tenzij) `*<x y z>*` overeenkomt met `*<blok>*`.
		- `/execute (if|unless) blocks *<begin> <einde> <bestemming>* (all|masked) *<gekoppeld opdracht>*` voert een opdracht uit als (of tenzij) het gebied tussen `*<begin>*` en `*<einde>*` overeenkomt met `*<bestemming>*`.
		- `/execute (if|unless) entity *<entiteit> <gekoppeld opdracht>*` voert een opdracht uit als (of tenzij) `*<entiteit>*` bestaat. Geeft als resultaat één of meerdere entiteiten.
	+ Het subopdracht `stats` slaat het resultaat van een opdracht ergens op. Het dient als vervanging voor `/stats`.
		- `/execute store (result|success) *<naam> <taak> <gekoppeld opdracht>*`
		- `result` is het resultaat van het opdracht en vervangt de volgende oude statistieken: `AffectedBlocks`, `AffectedEntities`, `AffectedItems` en `QueryResult`.
		- `success` is het aantal keren dat een opdracht succesvol werd uitgevoerd. Dit is meestal `0` of `1`, maar als het opdracht opgesplitst wordt (bijvoorbeeld `as @a`), kan het meer dan `1` zijn. Het verangt `SuccessCount`.
		- De waarde wordt opgeslagen in het scorebord onder *`<naam>`* en *`<taak>`*
		- Het `doel` moet bestaan, maar, in tegenstelling tot bij `/stats`, hoeft er geen startwaarde te worden ingesteld bij *`<naam>`*.
		- De waarde wordt pas opgeslagen als het volledige opdracht uitgevoerd is.
		- Als het opdracht niet succesvol wordt afgerond (oftewel `success` is `0`), wordt `result` op `0` gezet.
		- Het wordt duidelijk gemaakt wat het verwachte resultaat van elk opdracht is.
	+ Alle subopdracht's kunnen aan elkaar gekoppeld worden.
		- Na elk subopdracht moet nog een subopdracht geschreven worden.
		- Wanneer de speler klaar is met het koppelen van opdracht's, wordt `run` gebruikt om het eigenlijke opdracht uit te voeren.
			* `/` is niet langer toegestaan.
		- Bijvoorbeeld `/execute as iemand at iemand run say Hallo!`
	+ Oude en nieuwe opdracht's
		- `/execute @e ~ ~ ~ detect ~ ~ ~ stone 0 say Steen!` wordt `/execute as @e at @s if block ~ ~ ~ stone run say Steen!`.
		- `/execute @e ~ ~ ~ detect ~ ~ ~ grass 0 summon pig` wordt `/execute at @e if block ~ ~ ~ grass run summon pig`.
		- `/execute @e ~ ~ ~ say Hallo!` wordt `/execute as @e run say Hallo!`

##### `/experience` en `/xp`

* `/xp` is nu een synoniem voor `/experience`.
* Opgesplitst in drie subopdracht's, namelijk
	+ `/experience add *<spelers> <hoeveelheid>* [points|levels]`
		- Voegt een hoeveelheid ervaringspunten of -niveaus aan het totaal van spelers. Is standaard een hoeveelheid punten.
			* Het toevoegen van punten kan ervoor zorgen dat een speler een niveau omhoog gaat.
		- Negatieve nummers zijn toegestaan en worden gebruikt om punten in te nemen.
			* Het verlagen van het puntenaantal kan ervoor zorgen dat een speler een niveau omlaag gaat.
	+ `/experience set *<spelers> <hoeveelheid>* [points|levels]`
		- Zet het aantal ervaringspunten of -niveaus op een bepaald aantal voor bepaalde spelers. Is standaard een hoeveelheid punten.
		- Het puntenaantal kan niet meer zijn dan het huidige niveau toestaat.
		- Wanneer het ervaringsniveau verandert, blijft het aantal ervaringspunten op hetzelfde percentage staan.
	+ `/experience query *<spelers>* [points|levels]`
		- Geeft als uitvoer de hoeveelheid punten of niveaus dat een speler heeft aan ervaringspunten.

##### `/fill`

* Syntaxis gewijzigd.
	+ `/fill *<x y z> <xt yt zt> <blok> <data>* replace *[<vervangBlok>] [<vervangData>]*` is nu `/fill *<x y z> <xt yt zt> <blok>* replace *[<filter>]*`.

##### `/function`

* `/function` accepteert niet langer de argumenten `[if|unless] *<entiteit>*`.
	+ Gebruik hiervoor `/execute`.
	+ `/function foo if @e` is nu `/execute if entity @e run function foo`.

##### `/gamerule`

* Accepteert niet langer onbekende spelregels (*aangepaste spelregels*).
	+ Functies of scoreborden kunnen gebruikt worden. Er is geen verlies van functionaliteit wanneer deze gebruikt worden.
	+ Bestaande aangepaste spelregels zijn niet meer toegankelijk. Enkel ingebouwde spelregels zijn beschikbaar.
* Waarden van spelregels worden gecontroleerd. Als bijvoorbeeld een regel gegeven wordt waar een geheel getal wordt verwacht, geeft dit een foutmelding.

##### `/give`

* Syntaxis gewijzigd.
	+ `/give *<spelers> <voorwerp> [<aantal>] [<data>] [<nbt>]*` wordt `/give *<spelers> <voorwerp> [<aantal>]*`.
	+ Zie het `voorwerp`-argument voor het gebruik van `*[<voorwerp>]*`.
	+ `*[<data>]*` werd verwijderd ter voorbereiding op de zogenaamde *versimpeling*. Vanwege dit, wordt voorwerpdata verwijderd en voorwerpwaarden wordt NBT-data.

##### `/kill`

* Het is verplicht om het doel op te geven.

##### `/locate`

* Het Y-coördinaat is `64` in plaats van `?`.
* Het resultaat van het opdracht, `result` in `/execute store`, is de absolute afstand van de uitvoerder tot het doel.

##### `/particle`

* Het `*<parameter>*`-argument verwijderd. Specificeer, in plaats daarvan, voor partikels als `blockcrack`, parameters gelijk na het `<naam>`-argument door de nieuwe blokargumenten te gebruiken.
	+ Bijvoorbeeld `/particle blockcrack stone [variant=smooth_granite] ~ ~ ~ 0 0 0 0 1`.

##### `/replaceitem`

* Syntaxis gewijzigd.
	+ `/replaceitem block *<positie> <inventarisvakje> <voorwerp> [<aantal>] [<data>] [<nbt>]*` wordt `/replaceitem block *<positie> <inventarisvakje> <voorwerp> [<aantal>]*`.
	+ `/replaceitem entity *<doel> <inventarisvakje> <voorwerp> [<aantal>] [<nbt>]*` wordt `/replaceitem entity *<doel> <inventarisvakje> <voorwerp> [<aantal>]*`.
	+ Zie het `voorwerp`-argument voor het gebruik van `*[<voorwerp>]*`.
	+ `*[<data>]*` werd verwijderd ter voorbereiding op de zogenaamde *versimpeling*. Vanwege dit, wordt voorwerpdata verwijderd en voorwerpwaarden wordt NBT-data.
* Het `<inventarisvakje>`-argument vereist niet langer dat het inventarisvakje naar keuze wordt voorafgegaan door `slot.`.
	+ `slot.hotbar.1` wordt bijvoorbeeld `hotbar.1`.

##### `/scoreboard`

*Zie ook: Verwijderd § Scorebord*
* `*[<dataTag>]*` vervangen door het `nbt`-argument in entiteitselecteerders.

##### `/setblock`

* Syntaxis verwijderd.
	+ `/setblock *<positie> <block> [<data>] [<modus>] [<nbt>]*` wordt `/setblock *<positie> <blok> [<modus>]*`.
	+ Zie het `blokken`-argument voor meer informatie.

##### `/stopsound`

* `*` kan gebruikt worden om alle geluiden te stoppen met een bepaalde naam van alle bronnen in plaats van `source`.

##### `/tp` en `/teleport`

* `/tp` is een synoniem voor `/teleport`.
* Coördinaten zijn releatief tot de uitvoerder, zoals bij alle opdracht's het geval is.
* De syntaxis van `/tp` wordt behouden, maar heeft het gedrag van `/teleport`.

##### `/trigger`

* `/trigger *<taak>*` is een nieuwe syntaxis en dient als afkorting voor `/trigger *<taak>* add 1`.

##### `/weather`

* Wanneer geen tijd wordt gespecificeerd, wordt het ingestelde weertype voor vijf minuten behouden. Hiervoor was het voor een willekeurige tijd.

#### Argumenttypen

##### Doelselecteerders

* Het omgaan met fouten verbeterd.
	+ Dingen als `level=0`, `level=-10` of `gamemode=purple` zijn niet toegestaan.
* Er zijn niet langer aparte `min` en `max`-waarden. Bereiken worden in plaats daarvan ondersteund.
	+ `level=10` is niveau 10.
	+ `level=10..12` zijn de niveaus 10, 11 en 12.
	+ `level=5..` is niveau 5 en hoger.
	+ `level=..15` zijn alle niveaus lager dan of gelijk aan 15.
* Afkorten zijn hernoemd.
	+ `m` is nu `gamemode`.
	+ `l` of `lm` is `level`.
	+ `r` of `rm` is `distance`.
	+ `rx` of `rxm` is `x_rotation`.
	+ `ry` of `rym` is `y_rotation`.
	+ `c` is `limit`.
* `x`, `y`, `z`, `x_rotation` en `y_rotation` zijn decimale waarden en accepteren waarden als `12.34`.
	+ `x` en `z` worden niet langer uitgelijnd op het midden van een blok.
		- Dit betekent dat `x=0` niet meer gelijk is aan `x=0.5`.
* `gamemode` (hiervoor `m`) accepteert niet langer numerieke of korte ID's.
* `limit` (hiervoor `c`) accepteert niet langer negatieve waarden.
	+ Gebruik `sort=furthest` in plaats daarvan.
* `name` ondersteunt spaties, zolang de toegewezen waarden tussen quotes staat.
* Meerdere doelselecteerders zijn mogelijk.
	+ `tag=foo,tag=bar,tag=!baz` komt overeen met dingen die `foo` en `bar` heten, maar niet `baz`.
	+ `target=!cow,target=!chicken` selecteert alles dat niet een koe of kip is.
	+ `target=cow,target=chicken` kan niet, omdat niet twee voorwerpen tegelijk een koe en kip kunnen zijn.
* Sorteervolgorde kan aangepast worden.
	+ `sort=nearest` is de oude standaard en sorteert op basis van afstand (standaard voor `@p`).
	+ `sort=furthest` is het omgekeerde van `sort=nearest`. Hiervoor zou `c=-5` ervoor gebruikt worden.
	+ `sort=random` is voor het willekeurig sorteren. Standaard voor `@r`.
	+ `sort=arbitrary` wordt gebruik om helemaal niet te sorteren. Standaard voor `@e` en `@a`.
* Het specificeren van scores lijkt op `scores={foo=1,bar=1..5}`.
* Er kan op vooruitgangen gecontroleerd worden door middel van `advancements={foo=true,bar=false,aangepast:iets={criterion=true}}`.
	+ Is `true` wanneer de vooruitgang is voltooid, `false` wanneer dit niet zo is.
	+ Er kan ook een heel blok aan criteria worden verstuurd om daarop te controleren. Dit is opnieuw `true` en `false`.

##### Blokken

* `*[<data>]*` en`*[<nbt>]*` verwijderd. Het is nu een enkel blok, en lijkt op de volgende voorbeelden.
	+ `stone`
	+ `minecraft:redstone_wire[power=15,north=up,south=side]`
	+ `minecraft:jukebox{RecordItem:{...}}`
	+ `minecraft:furnace[facing=north]{BurnTime:200}`
* Een ID is vereist. Als de naamruimte niet bepaald is, wordt standaard `minecraft:` gebruikt.
* Blokstatussen staan tussen `[]`, gescheiden door komma's en moeten waarden of eigenschappen zijn die door het blok ondersteund worden. Ze zijn optioneel.
	+ `minecraft:stone[doesntexist=purpleberry]` is een syntaxisfout, omdat `doesntexist` niet ondersteund wordt door steen.
	+ `minecraft:redstone_wire[power=tuesday]` is ook een syntaxisfout, omdat de kracht van Redstone tussen de `0` en `15` is.
* De NBT-tag staat binnen `{}` en werkt zoals verwacht. Is optioneel.
* Enkel de statussen die gegeven worden, worden getest.
	+ `redstone_wire[power=15]` controleert bijvoorbeeld alleen of het stuk Redstone een kracht heeft van 15 en controleert verder geen enkele andere status, zoals in welke richting het stuk ligt.
* Elke status die wordt bepaald door de speler, wordt op het blok uitgevoerd. Andere statussen worden de standaard, afhankelijk van welk blok het is.
	+ `redstone_wire[power=15]` zet de eigenschap `power` op `15`, maar voor elke andere status wordt de standaardwaarde gebruikt.
* Blokdata is er niet langer. Het is óf een ander blok of een andere status.

##### Voorwerpen

* Waar bij `<voorwerp>` eerst de optionele `*[<data>]*` en `*[<nbt>]*` vereist was, is het nu versimpeld tot `<voorwerp>`. Waarden zijn bijvoorbeeld
	+ `stone`
	+ `minecraft:stick{display:{Name:"Stok der onwaarheden"}}`
* Een ID is vereist. Waar geen naamruimte wordt gebruikt, is dit standaard `minecraft:`.
* NBT-tags bevinden zich tussen `{}` en werken zoals verwacht. Optioneel.
	+ Elke andere informatie is óf een apart voorwerp óf eigenschap in NBT.

## Verwijderd

### Algemeen

#### Opdrachten

`/enchant`
* Vervangen door `/modifyitem`.

`/scoreboard`
* `/scoreboard players tag` en `/scoreboard teams` verwijderd.
	+ Vervangen door respectievelijk `/tag` en `/team`.
* `/scoreboard players test` verwijderd.
	+ Vervangen door `/execute (if|unless) score`, entiteitsselecteerders en `/scoreboard players get *<doel> <taak>*`.

`/stats`
* Verwijderd. Is nu onderdeel van `/execute`.
	+ Het `/execute`-gedeelte is niet een volledige substitutie van `/stats`, omdat het gedrag gewijzigd is.
		- `/execute` werkt per opdracht en niet per entiteit of blok.
		- Enkel `result` en `success` zijn beschikbaar, maar werken met alle oude statustypen.

`/testfor`, `/testforblock` en `/testforblocks`
* Alledrie zijn verwijderd en zijn onderdeel geworden van `/execute`.

`/toggledownfall`
* Verwijderd. Gebruik, in plaats van dit opdracht, `/weather`.

## Opgeloste bugs

28 bugs opgelost
Van de releases voor 1.13
* MC-32972 – `/summon` accepteert argumenten die negeert zullen worden.
* MC-80893 – `c=1` werkt niet zoals verwacht.
* MC-80928 – Speler zit te ver naar voren op een paard/ezel/muilezel.
* MC-101113 – `/playsound` controleert argumenten incorrect.
* MC-101135 – Verwarrend foutbericht voor relatieve coördinaten met te hoge nummers.
* MC-102682 – Paardenhoeven en -benen zijn gescheiden van elkaar.
* MC-115957 – Vooruitgangen-, buittabellen-, bronpakketten- en wereldnamenmappen vereisen niet dat de naam in kleine letters wordt geschreven.
* MC-116045 – Volgens `/banlist` zijn alle argumenten die geen IP-adres zijn, spelers.
* MC-118308 – Verteller wordt in- of uitgeschakeld wanneer in sommige tekstbestanden getypt wordt.
* MC-118565 – Vier mintekens in een selecteerder, die enkel één entiteit kan selecteren, zorgen ervoor dat het opdracht de selecteerder wilt parseren als UUID en mislukt daarin.
* MC-119142 – Meerdere selecteerders kunnen niet in een opdracht gebruikt worden.

Van de ontwikkelingsversies van 1.13
* MC-121281 – Scrollbalk in het Creative- en servermenu werkt niet met de muis.
* MC-121283 – Overlay van water en lava ontbreekt.
* MC-121284 – Bronpakket- en wereldmapknoppen werken niet.
* MC-121288 – Filmische camera werkt niet goed.
* MC-121302 – 'Direct verbinden'-knop wordt in- of uitgeschakeld op verkeerde momenten.
* MC-121314 – 'FS Resolution'-tekst (Resolutie volledig scherm) past niet in het daarvoor bedoelde tekstvakje.
* MC-121328 – Gebruikersinterface wordt incorrect geschaald.
* MC-121329 – Het drukken op de chatknop selecteert niet langer de zoekmodus in de Creative-inventaris of in het receptenboek.
* MC-121334 – `1` tot `9` in de zoekmodus van de Creative-inventaris zorgt ervoor dat deze toetsaanslagen ook in de zoekbalk verschijnen.
* MC-121396 – `W` `A` `S` `D`-toetsen staan in een vreemde volgorde.
* MC-121418 – Crash wanneer geprobeerd wordt een niet-regel te kopiëren naar het klembord.
* MC-121419 – Tekstvakken staan op de verkeerde plaats.
* MC-121421 – Het drukken op `↵ Enter` in het tekstvak voor de naam van een wereld of *seed*vak voor de *seed* van een wereld, creëert niet langer de wereld.
* MC-121456 – Chunks verdwijnen na het overschakelen op de volledig scherm-modus in Windows.
* MC-121468 – Statistieken kunnen niet meer gesorteerd worden door te klikken op icoontjes.

Van de vorige ontwikkelingsversie
* MC-121517 – De volledig scherm-knop werkt niet zoals verwacht.
* MC-121587 – `/reload feedback` zegt dat alle buittabellen, vooruitgangen en functies zijn herladen in plaats van dat alle datapakketten zijn herladen.

## Referenties

1. ↑ https://minecraft.net/nl-nl/article/minecraft-snapshot-17w45a

◄ 1.12 •  • 1.14 ►