Jump to content
  • Home
  • Files
  • Docs
  • Merch
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [1.8]how to binding keyboard keys to funtion in mi mod. <SOLVED>
1.13 Update Notes for Mod Creators
Sign in to follow this  
Followers 0
perromercenary00

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

By perromercenary00, December 8, 2014 in Modder Support

  • Reply to this topic
  • Start new topic

Recommended Posts

perromercenary00    2

perromercenary00

perromercenary00    2

  • Dragon Slayer
  • perromercenary00
  • Members
  • 2
  • 561 posts
Posted December 8, 2014

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

  • Quote

Share this post


Link to post
Share on other sites

Ernio    598

Ernio

Ernio    598

  • Reality Controller
  • Ernio
  • Forge Modder
  • 598
  • 2638 posts
Posted December 8, 2014

You have to make KeyHandler with subscription to Forge Tick Event (client side) and make KeyBinding.

Look for KeyBinding tutorials.

 

Alredy gave some example in other thread, link: http://www.minecraftforge.net/forum/index.php/topic,25751.msg131395.html#msg131395

  • Quote

Share this post


Link to post
Share on other sites

perromercenary00    2

perromercenary00

perromercenary00    2

  • Dragon Slayer
  • perromercenary00
  • Members
  • 2
  • 561 posts
Posted December 9, 2014

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
  • Quote

Share this post


Link to post
Share on other sites

perromercenary00    2

perromercenary00

perromercenary00    2

  • Dragon Slayer
  • perromercenary00
  • Members
  • 2
  • 561 posts
Posted December 9, 2014

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

 

  • Quote

Share this post


Link to post
Share on other sites

AlekBardzo    0

AlekBardzo

AlekBardzo    0

  • Tree Puncher
  • AlekBardzo
  • Members
  • 0
  • 23 posts
Posted February 5, 2015

Yes, that solves the problem, and yet nobody of You guys bothered to fix the wiki page :/ so I did, shame on You !

  • Quote

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

  • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 0
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • JMAS
      pointing to MCP folder instead of MDK ???

      By JMAS · Posted just now

      Thank you for the input, DaemonUmbra, and DavidM.    To DaemonUmbra:  As I had shared with Diesieben07 in a different ticket, I have devoured (McJty's) Jorrit Tyberghein's "Modding Tutorial 1.14: Episode 1 (IDEA setup, basic mod and first block) after you re-routed me away from 1.7.10.  Prior to that I did the first 7 Mr. Crayfish tuts on mod building with a grain of salt as that series is for 1.7.10 but still has good fundamentals, I hope.   To DavidM:  Sounds good to me, but I am little hesitant only because of uncertainty with the complexity of fixing "all the mapping changes and other changes with your IDE. "   If you had a video/tutorial to recommend it would be appreciated.   Thanks to you both for your feedback and input. JMAS 
    • geekles
      [Forge 1.14.4] Loading saved world

      By geekles · Posted 1 minute ago

      I'm calling the Minecraft#launchIntegratedServer() function since the CreateWorldScreen class does the same when creating a world. I'm merely trying to replicate the actions used to create/load a new or existing world.    CreateWorldScreen#createWorld()   
    • Oliviafrostpaw
      [1.14.4] Injecting into Existing Loot Tables, Blocks

      By Oliviafrostpaw · Posted 14 minutes ago

      Ah, thank you very very much. Having attempted to look and find the correct bus/subscriber and or examples for its usage I found no instance of @Mod.EventBusSubscriber on the classes, is this necessary or am I just looking in the wrong places? Any Guidance would be appreciated 
    • bluey418
      Error with running modpack on twitch

      By bluey418 · Posted 26 minutes ago

      I have opened up minecraft for the first time in a while, and I wanted to run a modpack off of the twitch launcher. Every time I try to run MC, and I've tried this for a few modpacks, I get the following error in my game output tab:   OpenJDK 64-Bit Server VM warning: Ignoring option PermSize; support was removed in 8.0 Error: Could not find or load main class = Caused by: java.lang.ClassNotFoundException: =   Any idea what is causing this? I am running on a Mac, FYI.   Thanks!
    • Draco18s
      [1.14.4] Injecting into Existing Loot Tables, Blocks

      By Draco18s · Posted 52 minutes ago

      @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)   That is not the correct bus for that event.
  • Topics

    • JMAS
      9
      pointing to MCP folder instead of MDK ???

      By JMAS
      Started Thursday at 09:21 PM

    • geekles
      2
      [Forge 1.14.4] Loading saved world

      By geekles
      Started Yesterday at 02:37 AM

    • Oliviafrostpaw
      10
      [1.14.4] Injecting into Existing Loot Tables, Blocks

      By Oliviafrostpaw
      Started December 8

    • bluey418
      0
      Error with running modpack on twitch

      By bluey418
      Started 26 minutes ago

    • RaphGamingz
      2
      [1.14.4] Dimensions

      By RaphGamingz
      Started Yesterday at 07:45 AM

  • Who's Online (See full list)

    • AnonymousVoidF
    • Oliviafrostpaw
    • bluey418
    • Edivad99
    • geekles
    • J0WAY
    • Skyriis
    • PrinceRaiden
    • Kerman
    • LexManos
    • ErdbeerbaerLP
    • Draco18s
    • hohserg
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [1.8]how to binding keyboard keys to funtion in mi mod. <SOLVED>
  • Theme
  • Contact Us
  • Discord

Copyright © 2019 ForgeDevelopment LLC · Ads by Curse Powered by Invision Community