Benutzerdefinierte Sounds erstellen
Benutzerdefinierte Sounds erstellen
Deine Audio-Dateien müssen auf eine bestimmte Weise formatiert werden. OGG Vorbis ist ein offenes Containerformat für Multimediadaten, wie zum Beispiel Audio, und wird für die Sounddateien von Minecraft verwendet. Um Probleme mit der Distanzierung in Minecraft zu vermeiden, darf deine Audio nur einen einzigen Kanal besitzen (Mono).
Viele moderne DAWs (Digital Audio Workstation) können dieses Dateiformat importieren und exportieren. Im folgenden Beispiel wird die freie und Open Source Software "Audacity" verwendet, um die Audio-Datei in das richtige Format zu bringen, aber auch jede andere DAW sollte ausreichen.

In diesem Beispiel wird ein Pfeifton in Audacity importiert. Sie ist derzeit als .wav-Datei gespeichert und hat zwei Audiokanäle (Stereo). Bearbeite den Sound nach deinem Geschmack und stelle sicher, dass du einen der Kanäle mit dem Dropdown-Element oben im "Spurkopf" löschst.


Achte beim Exportieren oder Rendern der Audio-Datei darauf, dass du das Dateiformat OGG wählst. REAPER, unterstützen mehrere OGG-Audio-Layer-Formate. In diesem Fall sollte OGG Vorbis sehr gut funktionieren.

Denke auch daran, dass Audio-Dateien die Dateigröße deines Mods drastisch erhöhen können. Falls erforderlich, komprimiere die Audiodaten beim Bearbeiten und Exportieren der Datei, um die Dateigröße des fertigen Produkts so gering wie möglich zu halten.
Laden der Audio-Datei
Füge das neue Verzeichnis resources/assets/example-mod/sounds für die Sounds in deinem Mod hinzu, und lege die exportierte Audio-Datei metal_whistle.ogg dort hinein.
Fahre mit der Erstellung der Datei resources/assets/example-mod/sounds.json fort, falls sie noch nicht existiert und füge deinen Sound zu den Sound-Einträgen hinzu.
json
{
"metal_whistle": {
"subtitle": "sound.example-mod.metal_whistle",
"sounds": ["example-mod:metal_whistle"]
},
"engine": {
"subtitle": "sound.example-mod.engine",
"sounds": ["example-mod:engine"]
}
}1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Der Untertiteleintrag bietet dem Spieler mehr Kontext. Der Name des Untertitels wird in den Sprachdateien im Verzeichnis resources/assets/example-mod/lang verwendet und wird angezeigt, wenn die Untertitel-Einstellung im Spiel aktiviert ist und dieser benutzerdefinierte Sound abgespielt wird.
Registrieren des benutzerdefinierten Sounds
Um den benutzerdefinierten Sound zu dem Mod hinzuzufügen, registriere ein SoundEvent in deinem Mod-Initialisierer.
java
Registry.register(BuiltInRegistries.SOUND_EVENT, Identifier.fromNamespaceAndPath(MOD_ID, "metal_whistle"),
SoundEvent.createVariableRangeEvent(Identifier.fromNamespaceAndPath(MOD_ID, "metal_whistle")));1
2
2
Das Chaos aufräumen
Je nachdem, wie viele Einträge in der Registry vorhanden sind, kann dies schnell unübersichtlich werden. Um dies zu vermeiden, können wir eine neue Hilfsklasse verwenden.
Füge zwei neue Methoden zu der neu erstellten Hilfsklasse hinzu. Eine, die alle Sounds registriert, und eine, die dazu dient, diese Klasse überhaupt erst zu initialisieren. Danach kannst du bequem neue benutzerdefinierte statische Klassenvariablen der Klasse SoundEvent nach Bedarf hinzufügen.
java
No lines matched.1
Auf diese Weise, muss der Mod-Initialisierer nur eine Zeile zur Registrierung aller benutzerdefinierten SoundEvents implementieren.
java
No lines matched.1
Das benutzerdefinierte SoundEvent nutzen
Verwende die Hilfsklasse, um auf das benutzerdefinierte SoundEvent zuzugreifen. Auf der Seite Sounds abspielen erfährst du, wie man Sounds abspielt.

