MCGamepad is a small Forge mod that uses the LWJGL JInput bindings to provide gamepad controls to Minecraft. Currently the mod only correctly XInput-like controllers (including those provided by the ScpServer PS3 and PS4 bluetooth controller interface on Windows) and has no button reconfiguration options. The mod is being developed for the Forge beta for 1.8. Forge for 1.8 is required.
You can use the mod on any platform that JInput has modules for, but the mod is only tested for Windows. Future versions may alternatively use an XInput binding for rumble support on Windows.
Simply drop the jar in the mods/1.8 folder for your prefix (usually %AppData%/.minecraft). See the mods FAQs on this forum for info on how to install mods.
Features
In-engine hook rather than external application to provide controller input. This means the mod can provide context-sensitive controls (including rumble events, though they are not implemented yet)
Sits seamlessly with regular PC bindings, even when those bindings are changed.
Smooth acceleration curve for view rotation (similar to console FPS acceleration curves) -- allows for a balance between fast and precise aiming.
Analog movement speed -- the movement speed exactly matches the left stick rather than being sampled to WASD like most controller bindings.
GUIs are navigated by virtual mouse. Right click is simulated by holding the Left Trigger.
Uses no coremod/ASM code, should be mostly future-proof.
Controls
Ingame:
Left stick to move, Right Stick to look. Looking is accelerated (acceleration curve will be configurable in future versions).
A - Jump
B - Sneak
Y - Open inventory
LB/RB - Cycle items on hotbar
RT - Attack/dig
LT - Place/use
LS - Sprint (stick button)
RS - Pick block (in Creative) (stick button)
Menus and GUI:
Left stick: aim mouse (on acceleration curves, less than that of the view curve)
A - Left Click
B - Escape
LT+A - Right Click (for splitting stacks in inventory)
Known Issues
It is currently not possible to open horse inventories via the controller while riding them. Use the PC controls to do this.
Not possible to drag sliders in GUIs with controller
Not possible to click on list items in GUIs with controller (notably the World Select). Please use the mouse to select them for now.
The viewmodel flickers a lot when panning the view.
There may be some issues with mounted entities.
The controller state is not zeroed out on startup and may present various issues i.e. uncloseable main menu, cursor locked to top left corner. Workaround: press all buttons and manipulate all analogs at the main menu.
On another note, could you suggest that one drop the mod in .minecraft/mods/1.8 ? this has worked since... 1.6 I think, and helps solve some confusion as to which mod files belong to which versions
You managed to decompile and continue without me giving source code? O_O Bro, you are a god. Of course do whatever the [REDACTED] you want!!!! Good luck on it
This seemed to be fixed after I removed the J from the end of "net.minecraft.client.Minecraft.getSystemTime()J" in MCGamepadMod.class
--EDIT--
Nevermind, just stopped loading the mod altogether...
java.lang.NoSuchMethodError: net.minecraft.client.Minecraft.getSystemTime()J
at com.idolagames.mcgamepad.MCGamepadMod.handleControllerInput(MCGamepadMod.java:68)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_MCGamepadMod_handleControllerInput_ClientTickEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:140)
at net.minecraftforge.fml.common.FMLCommonHandler.onPreClientTick(FMLCommonHandler.java:366)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1617)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1028)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:345)
at net.minecraft.client.main.Main.main(SourceFile:120)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
MCGamepad
MCGamepad is a small Forge mod that uses the LWJGL JInput bindings to provide gamepad controls to Minecraft. Currently the mod only correctly XInput-like controllers (including those provided by the ScpServer PS3 and PS4 bluetooth controller interface on Windows) and has no button reconfiguration options. The mod is being developed for the Forge beta for 1.8. Forge for 1.8 is required.You can use the mod on any platform that JInput has modules for, but the mod is only tested for Windows. Future versions may alternatively use an XInput binding for rumble support on Windows.
Simply drop the jar in the mods/1.8 folder for your prefix (usually %AppData%/.minecraft). See the mods FAQs on this forum for info on how to install mods.
Features
Controls
Known Issues
Downloads
Click the version number to download.
Changelog
1.0
On another note, could you suggest that one drop the mod in .minecraft/mods/1.8 ? this has worked since... 1.6 I think, and helps solve some confusion as to which mod files belong to which versions
Patreon
Looks like a great plugin, but whenever I try to run minecraft with it I get this error: http://pastebin.com/Je1BBQuD. I am running linux, thanks!
crashes with this error every time:
--EDIT--
This seemed to be fixed after I removed the J from the end of "net.minecraft.client.Minecraft.getSystemTime()J" in MCGamepadMod.class
--EDIT--
Nevermind, just stopped loading the mod altogether...
java.lang.NoSuchMethodError: net.minecraft.client.Minecraft.getSystemTime()J
at com.idolagames.mcgamepad.MCGamepadMod.handleControllerInput(MCGamepadMod.java:68)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_MCGamepadMod_handleControllerInput_ClientTickEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:140)
at net.minecraftforge.fml.common.FMLCommonHandler.onPreClientTick(FMLCommonHandler.java:366)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1617)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1028)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:345)
at net.minecraft.client.main.Main.main(SourceFile:120)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Check it out NOW!
If you need a Mac beta tester just say it, I have a PS4 and a 360 controller.
GENERATION 9006: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment