提供: Minecraft Modding Wiki
この記事は"Minecraft Forge Universal 9.10.0.xxx~"を前提MODとしています。 |
1.6のサウンドの追加
1.6でのサウンドの追加方法
ソースコード
- SoundSample.java
package mods.soundsample; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.event.FMLInitializationEvent; import net.minecraftforge.common.MinecraftForge; @Mod(modid="SoundSampleMod", name="SoundSampleMod", version="1.0") @NetworkMod(clientSideRequired=true, serverSideRequired=false) public class SoundSample { @Mod.EventHandler public void load(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new SoundHandler()); } }
- SoundHandler.java
package mods.soundsample; import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.event.ForgeSubscribe; public class SoundHandler { @ForgeSubscribe public void onSound(SoundLoadEvent event) { try { event.manager.addSound("soundsample:sample.ogg"); } catch (Exception e) { System.err.println("Failed to register one or more sounds."); } } }
解説
SoundHandler.java
@ForgeSubscribe public void onSound(SoundLoadEvent event) { try { event.manager.addSound("soundsample:hoge.ogg"); } catch (Exception e) { System.err.println("Failed to register one or more sounds."); } }
イベントによる登録。addSoundメソッドの引数で登録される音声ファイルのファイルパスは
"/assets/soundsample/sound/hoge.ogg"
となる。また、playsoundメソッド等に渡す文字列引数は
"soundsample:hoge"
となる。
SoundSample.java
@Mod.EventHandler public void load(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new SoundHandler()); }
先ほどのSoundHandlerクラスをForgeのイベントバスに登録。