Posted July 7, 20169 yr I've created 2 classes, KeyBindings and KeyHandler (Both of which are declared in the PreInit stage). I've set up the key "F" to be pressed and wish for it to play a sound at the players location. KeyBindings.java: import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent; import net.mcdecimation.blocks.DecimationBlocks; import net.mcdecimation.blocks.References; import net.mcdecimation.blocks.packet.OpenGuiPacket; import net.minecraft.client.gui.GuiChat; import net.minecraft.client.settings.KeyBinding; import org.lwjgl.input.Keyboard; /** * Created by ScottehBoeh on 07/07/2016. */ public class KeyBindings { public static KeyBinding whistle; public static void init() { //Define the Whistle Key "F" including Description and Category whistle = new KeyBinding("key.Decimation.whistle.desc", Keyboard.KEY_F, "key.Decimation.category"); ClientRegistry.registerKeyBinding(whistle); } } KeyHandler.java: import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent; import net.mcdecimation.blocks.ItemSupplyDropRadio; /** * Created by ScottehBoeh on 07/07/2016. */ public class KeyHandler { @SubscribeEvent public void onKeyInput(InputEvent.KeyInputEvent event) { if(KeyBindings.whistle.isPressed()) System.out.println("*whistle*"); } } What code should I implement to have a sound play on the players location? I tried this: @SubscribeEvent public void onKeyInput(World world, EntityPlayer player, InputEvent.KeyInputEvent event) { if(KeyBindings.whistle.isPressed()) world.playSoundAtEntity(player, "mcdb:item.supplydropradio.radio", 3, 1.0F); } But my game crashed before even getting to the main menu. Any ideas? Thanks! :-) http://i.imgur.com/vmqyxTE.png[/img]
July 7, 20169 yr What was the crash? Also onKeyInput only takes 1 parameter "InputEvent.KeyInputEvent event" Get all the parameters you need from that event and then try something like: world.playSound(player, pos, ModSounds.THE_SOUND, SoundCategory.MASTER, 1.0F, 1.0F);
July 9, 20232 yr The last post here was very long ago, but if I may ask: how do I get these parameters from the event?
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.