提供: Minecraft Modding Wiki
2014年5月24日 (土) 10:42時点におけるShift (トーク | 投稿記録)による版
移動先: 案内検索

この記事は"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:hoge.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のイベントバスに登録。