Jump to content

[1.8]how to binding keyboard keys to funtion in mi mod. <SOLVED>


perromercenary00

Recommended Posts

good

in other days play whith applets i cand bind a keyboard key to some funcion in java using an actionListener

like jump when hit spacebar

 

but in minecraft what is the name of the class in charge of this, ?

 

and there is this menu to change the keybinds that every mod uses

how do you do for the mod to be settable in the options / controls menu

Link to comment
Share on other sites

jumm

i just folow this http://www.minecraftforge.net/wiki/Key_Binding

 

soo in mi folder forge-1.8-11.14.0.1261-1.8-src/src/main/java/mercenarymod/utilidades/

 

i create

//KeyBindings.java

//__________________________________________________________

package mercenarymod.utilidades;

 

 

import org.lwjgl.input.Keyboard;

//import net.java.games.input.Keyboard;

import net.minecraft.client.settings.KeyBinding;

import net.minecraftforge.fml.client.registry.ClientRegistry;

 

public class KeyBindings {

 

    // Declare two KeyBindings, ping and pong

    public static KeyBinding ping;

    public static KeyBinding pong;

 

    public static void init() {

        // Define the "ping" binding, with (unlocalized) name "key.ping" and

        // the category with (unlocalized) name "key.categories.mymod" and

        // key code 24 ("O", LWJGL constant: Keyboard.KEY_O)

        ping = new KeyBinding("key.ping", Keyboard.KEY_O, "key.categories.MercenaryMod");

        // Define the "pong" binding, with (unlocalized) name "key.pong" and

        // the category with (unlocalized) name "key.categories.mymod" and

        // key code 25 ("P", LWJGL constant: Keyboard.KEY_P)

        pong = new KeyBinding("key.pong", Keyboard.KEY_P, "key.categories.MercenaryMod");

 

        // Register both KeyBindings to the ClientRegistry

        ClientRegistry.registerKeyBinding(ping);

        ClientRegistry.registerKeyBinding(pong);

    }

 

}

//_____________________________________________________________

 

//and create too

//KeyInputHandler.java

//_____________________________________________________________

package mercenarymod.utilidades;

 

import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

import net.minecraftforge.fml.common.gameevent.InputEvent;

 

//import cpw.mods.fml.common.eventhandler.SubscribeEvent;

//import cpw.mods.fml.common.gameevent.InputEvent;

 

public class KeyInputHandler {

 

    @SubscribeEvent

    public void onKeyInput(InputEvent.KeyInputEvent event) {

        if(KeyBindings.ping.isPressed())

            System.out.println("ping");

        if(KeyBindings.pong.isPressed())

            System.out.println("pong");

    }

 

}

//_____________________________________________________________

 

 

¿but where the fucks goes this line?

 

FMLCommonHandler.instance().bus().register(new mercenarymod.utilidades.KeyBindings());

 

putit in preinit, noting happen when press 'p' or 'o' nothing in the controls menu

putit in      init, noting happen when press 'p' or 'o' nothing in the controls menu

putit in postinit, noting happen when press 'p' or 'o' nothing in the controls menu

 

all the code seems to be rigth in eclipse.

 

 

  • Like 1
Link to comment
Share on other sites

i just get this fixed in google i found  another tutorial but this was complete the trouble is there is a mising line

 

FMLCommonHandler.instance().bus().register(new mercenarymod.utilidades.KeyInputHandler());

mercenarymod.utilidades.KeyBindings.init();  and the two lines must be in preinit.

 

so first create  KeyBindings.java

then second create  KeyInputHandler.java

 

thirth put the two lines in the preinit of the principal class in my case Mercenary.java

 

the other tutorial.

http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2112337-1-7-2-forge-help-gui-tutorial

 

 

and my principal class

 

//________________________________________________________-

// Mercenary.java

package mercenarymod;

 

import mercenarymod.blocks.MercenaryModBlocks;

import mercenarymod.items.MercenaryModItems;

import net.minecraft.client.Minecraft;

import net.minecraft.client.resources.model.ModelResourceLocation;

import net.minecraft.init.Blocks;

import net.minecraft.init.Items;

import net.minecraft.item.Item;

import net.minecraftforge.common.config.Configuration;

import net.minecraftforge.fml.common.FMLCommonHandler;

import net.minecraftforge.fml.common.Mod;

import net.minecraftforge.fml.common.event.FMLInitializationEvent;

import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;

import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

import net.minecraftforge.fml.relauncher.Side;

import net.minecraftforge.fml.relauncher.SideOnly;

import net.minecraft.creativetab.CreativeTabs;

 

 

@Mod(modid = Mercenary.MODID, version = Mercenary.VERSION)

public class Mercenary

{

    public static final String MODID = "modmercenario";

    public static final String VERSION = "1.1";

   

 

    @Mod.EventHandler

    public void preInit(FMLPreInitializationEvent event) {

    Configuration config = new Configuration(event.getSuggestedConfigurationFile());

    MercenaryModBlocks.init();

    MercenaryModItems.init();

    MercenaryModRecipes.init();

   

    FMLCommonHandler.instance().bus().register(new mercenarymod.utilidades.KeyInputHandler());

    mercenarymod.utilidades.KeyBindings.init();

    }

 

    @Mod.EventHandler

    public void init(FMLInitializationEvent event) {

 

    MercenaryModTexturas.init();

    }

 

    @Mod.EventHandler

    public void postInit(FMLPostInitializationEvent event) {

    }

 

    public static CreativeTabs herramientas = new CreativeTabs("Herraminetas armas y armaduras mercenarias") {

        @Override

        @SideOnly(Side.CLIENT)

        public Item getTabIconItem() {

            return MercenaryModItems.aceroMercenario;

        }

    };

 

    public static CreativeTabs materiales = new CreativeTabs("materiales mercenarios") {

        @Override

        @SideOnly(Side.CLIENT)

        public Item getTabIconItem() {

            return MercenaryModItems.nokiaMercenaria;

        }

    };

 

    }//fin de la clase

 

Link to comment
Share on other sites

  • 1 month later...

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.