User Tools

Site Tools


tutorial:sounds

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorial:sounds [2020/05/16 19:35] – activate -> onUse yanis48tutorial:sounds [2023/01/09 18:20] (current) – [Step 4: Register your sound event] 1.19.3 Registries Change slainlight
Line 38: Line 38:
 To play a sound, you first need a sound file. Minecraft uses the ''.ogg'' file format for those.  To play a sound, you first need a sound file. Minecraft uses the ''.ogg'' file format for those. 
 If your sound file is in a different format (like the one in the provided link), you can use an online converter to convert from your format to ''.ogg'' If your sound file is in a different format (like the one in the provided link), you can use an online converter to convert from your format to ''.ogg''
-Now put your .ogg file in the ''resources/assets/modid/sounds'' folder. In the example case the file will be ''resources/assets/tutorial/sounds/my_sound.ogg''.+Make sure your sound has only one channel, otherwise the attenuation effect (gradual loss of volume with distance) won't be applied to it.   
 +Now put your .ogg file in the ''resources/assets/modid/sounds'' folder. In the example case the file will be ''resources/assets/tutorial/sounds/my_sound.ogg'' 
 ==== Step 2: Add a sounds.json file, or add to it if you already have one ==== ==== Step 2: Add a sounds.json file, or add to it if you already have one ====
 Under ''resources/assets/modid'' add a new file named ''sounds.json'', if you do not have one yet. Under ''resources/assets/modid'' add a new file named ''sounds.json'', if you do not have one yet.
Line 69: Line 70:
 public class ExampleMod { public class ExampleMod {
     [...]     [...]
-    public static final Identifier MY_SOUND_ID = new Identifier("tutorial:my_sound"+    public static final Identifier MY_SOUND_ID = new Identifier("tutorial:my_sound"); 
-    public static SoundEvent MY_SOUND_EVENT = new SoundEvent(MY_SOUND_ID);+    public static SoundEvent MY_SOUND_EVENT = SoundEvent.of(MY_SOUND_ID);
 } }
 </code> </code>
 +If you're using version 1.19.2 or below, please replace ''SoundEvent.of'' with ''new SoundEvent''
 ==== Step 4: Register your sound event ==== ==== Step 4: Register your sound event ====
 Register your sound event under the ''SOUND_EVENT'' registry: Register your sound event under the ''SOUND_EVENT'' registry:
Line 79: Line 81:
 public void onInitialize(){ public void onInitialize(){
      [...]      [...]
-     Registry.register(Registry.SOUND_EVENT, ExampleMod.MY_SOUND_ID, MY_SOUND_EVENT);+     Registry.register(Registries.SOUND_EVENT, ExampleMod.MY_SOUND_ID, MY_SOUND_EVENT);
  
 </code> </code>
 +If you're using version 1.19.2 or below, please replace ''Registries'' with ''Registry''
 ==== Step 5: Use your sound event ==== ==== Step 5: Use your sound event ====
 Use the sound event just like we explained at the start (''onUse'' is just an example, use it anywhere you have access to ''World'' instance): Use the sound event just like we explained at the start (''onUse'' is just an example, use it anywhere you have access to ''World'' instance):
tutorial/sounds.1589657755.txt.gz · Last modified: 2020/05/16 19:35 by yanis48