Aangepaste schilderijen en muziekplaten zonder de originelen te vervangen
Beide zijn datapack-registers geworden, dus je kunt nieuwe toevoegen in plaats van vanilla te overschrijven. Hier zijn de twee bestanden die elk nodig heeft en de afmetingsregel die schilderijen moeten volgen.
De oude manier om een aangepast schilderij te krijgen was het overschrijven van paintings_kristoffer_zetterstrand.png and lose a vanilla one. Both paintings and music discs are now registers, dus je voegt toe in plaats van te vervangen.
Schilderijen hebben twee bestanden nodig
Een datapack-vermelding die het schilderij definieert:
data/<namespace>/painting_variant/my_art.json
{
"asset_id": "my_pack:my_art",
"width": 2,
"height": 2,
"title": { "text": "My Art" },
"author": { "text": "Me" }
}
En een resourcepack dat de afbeelding levert:
assets/my_pack/textures/painting/my_art.png
width and height are in blokken, en de textuur moet overeenkomen met die verhouding op 16 pixels per blok. Een schilderij van 2×1 heeft een textuur van 32×16 nodig. Als de verhouding niet klopt, rekt deze uit; er is geen automatische aanpassing.
Vanilla-afmetingen zijn 1×1 tot en met 4×4. Groter werkt, maar heeft een bijpassende muur nodig.
Het verkrijgbaar maken
Het toevoegen van de variant plaatst deze nog niet in het spel. Twee manieren:
- De plaatsingstag — voeg deze toe aan
#minecraft:placeableso a normal painting item can
willekeurig dit worden.
- Direct —
/give @p painting[entity_data={id:"minecraft:painting",variant:"my_pack:my_art"}]
De meeste kaartenmakers willen het tweede: een specifiek schilderij, geen willekeurige.
Muziekplaten hebben er drie nodig
data/<namespace>/jukebox_song/my_song.json
{
"sound_event": { "sound_id": "my_pack:music/my_song" },
"description": { "text": "My Artist - My Song" },
"length_in_seconds": 154,
"comparator_output": 12
}
Plus sounds.json mapping that sound id to a file, plus the .ogg itself:
assets/my_pack/sounds.json
assets/my_pack/sounds/music/my_song.ogg
Drie details zijn belangrijk:
length_in_secondsmust be right. Het bepaalt wanneer de jukebox stopt en wanneer de
deeltjesstroom eindigt, niet de audio. Een verkeerde waarde betekent stilte aan het einde of een plotselinge onderbreking.
comparator_outputis 1–15 en is wat een vergelijker leest. Vanilla-platen hebben elk
een unieke waarde; hergebruik er een en redstone kan ze niet uit elkaar houden.
- Stream de ogg.
"stream": trueinsounds.jsonfor anything music-length.
Geef het vervolgens:
/give @p music_disc_13[jukebox_playable="my_pack:my_song"]
Elk muziekplaatitem werkt als drager — het component bepaalt wat er wordt afgespeeld.
Waarom dit beter is dan overschrijven
Een pack dat vanilla-assets vervangt, botst met elk ander pack dat hetzelfde doet, en breekt wanneer Mojang de naam van een bestand wijzigt. Registertoevoegingen hebben een eigen namespace, waardoor twee packs die schilderijen toevoegen naast elkaar kunnen bestaan. Het is ook de enige aanpak die een versie-update overleeft zonder bewerkingen.
Bouw schilderijvarianten, jukeboxnummers, totems en chat-emoji's in één kant-en-klare resourcepack-zip met de Aangepaste contentpackmakers.