Betterjakers Posted May 31, 2016 Posted May 31, 2016 Hello! I am trying to add a sound, but cannot seem to get it to work. I right click the iPod, but do not hear the "ipodsong" sound. The sound is at src/assets/mymod/sound. It is named "ipodsong.ogg". Here is my code: Reveal hidden contents RegisterSounds class: Reveal hidden contents package mymod.sound; import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.event.ForgeSubscribe; public class RegisterSounds { @ForgeSubscribe public void onSound(SoundLoadEvent event) { event.manager.addSound("mymod:ipodsong.ogg"); } } iPod class: Reveal hidden contents package mymod.items; import java.awt.Color; import java.awt.Event; import java.awt.TrayIcon.MessageType; import java.util.Random; import javax.xml.ws.handler.MessageContext; import org.lwjgl.input.Keyboard; import com.google.common.eventbus.Subscribe; import mymod.Main; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatMessageComponent; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.client.ClientCommandHandler; import net.minecraftforge.event.ForgeSubscribe; import cpw.mods.fml.common.network.Player; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class MyItem3 extends Item { // Set default values for variables public int ipod_cooldown = 0; public int ipod_cooldown_seconds = 0; private String texturePath = "mymod:"; public MyItem3(int ItemID, String textureName) { super(ItemID); this.setUnlocalizedName(textureName); this.setCreativeTab(CreativeTabs.tabMaterials); texturePath += textureName; } public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int X, int Y, int Z, int par7, float par8, float par9, float par10) { // See if it has been less than 5 seconds (100 ticks) since last use if(ipod_cooldown < 100) { // Converts the time since last use from ticks to seconds, and changes from since last use to time until can use ipod_cooldown_seconds = 5 - (ipod_cooldown / 20); par2EntityPlayer.addChatMessage("§cYou can check your iPod again in " + "§c§l" + ipod_cooldown_seconds + " §cseconds!"); } if (!par3World.isRemote) { // See if it has been 5 seconds (100 ticks) since last use if(ipod_cooldown >= 100) { // Set the cooldown value ipod_cooldown = 0; par3World.playSoundAtEntity(par2EntityPlayer, "mymod:ipodsong", 1.0F, 1.0F); // Send this message par2EntityPlayer.addChatMessage("§aNow playing §a§lcat §arecord!"); return true; } return true; } return true; } // Run the following code every tick (onUpdate = 1 tick) public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { // See if it has been less than 5 seconds (100 ticks) since last use if(ipod_cooldown < 100) { // If it was, add 1 tick to the time since last use ipod_cooldown++; } } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) { this.itemIcon = iconRegister.registerIcon(texturePath); } } ClientProxy: Reveal hidden contents /** * Used to register sounds and textures that we want to load before our Mod is initialized */ package mymod.proxies; import mymod.sound.RegisterSounds; import net.minecraftforge.common.MinecraftForge; public class ClientProxy extends CommonProxy { public void registerRenders() { MinecraftForge.EVENT_BUS.register(new RegisterSounds()); } } Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.