Skip to content

Commit 51bca3b

Browse files
committed
Fix some keybind issues, cleanup later
1 parent 2698b5d commit 51bca3b

File tree

13 files changed

+206
-112
lines changed

13 files changed

+206
-112
lines changed

src/main/java/com/flansmod/api/IControllable.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ public interface IControllable
2222
* @param key the keycode of the key. see @link:KeyInputHandler
2323
* @return boolean to indicate it this key was handled.
2424
*/
25-
boolean pressKey(int key, EntityPlayer player);
25+
boolean pressKey(int key, EntityPlayer player, boolean isOnEvent);
26+
27+
boolean serverHandleKeyPress(int key, EntityPlayer player);
2628

2729
void updateKeyHeldState(int key, boolean held);
2830

src/main/java/com/flansmod/client/ClientProxy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ public void doTutorialStuff(EntityPlayer player, EntityDriveable entityType)
306306
{
307307
FlansModClient.doneTutorial = true;
308308

309-
player.sendMessage(new TextComponentString("Press " + Keyboard.getKeyName(KeyInputHandler.inventoryKey.getKeyCode()) + " to open the menu"));
309+
player.sendMessage(new TextComponentString("Press " + Keyboard.getKeyName(KeyInputHandler.vehicleMenuKey.getKeyCode()) + " to open the menu"));
310310
player.sendMessage(new TextComponentString("Press " + Keyboard.getKeyName(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode()) + " to get out"));
311311
player.sendMessage(new TextComponentString("Press " + Keyboard.getKeyName(KeyInputHandler.controlSwitchKey.getKeyCode()) + " to switch controls"));
312312
player.sendMessage(new TextComponentString("Press " + Keyboard.getKeyName(KeyInputHandler.modeKey.getKeyCode()) + " to switch VTOL mode"));

src/main/java/com/flansmod/client/gui/GuiDriveableController.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void handleMouseInput()
5959

6060
//Right mouse. Fires shells, drops bombs. Is not a holding thing
6161
if(Mouse.isButtonDown(1))
62-
plane.pressKey(8, player);
62+
plane.pressKey(8, player, true);
6363

6464
if(!leftMouseHeld && Mouse.isButtonDown(0)) //Left mouse, for MGs. Is a holding thing
6565
{
@@ -152,67 +152,67 @@ public void handleInput()
152152
{
153153
if(FlansMod.proxy.keyDown(mc.gameSettings.keyBindForward.getKeyCode()))//KeyInputHandler.accelerateKey.getKeyCode()))
154154
{
155-
plane.pressKey(0, player);
155+
plane.pressKey(0, player, true);
156156
}
157157
if(FlansMod.proxy.keyDown(mc.gameSettings.keyBindBack.getKeyCode()))//KeyInputHandler.decelerateKey.getKeyCode()))
158158
{
159-
plane.pressKey(1, player);
159+
plane.pressKey(1, player, true);
160160
}
161161
if(FlansMod.proxy.keyDown(mc.gameSettings.keyBindLeft.getKeyCode()))//KeyInputHandler.leftKey.getKeyCode()))
162162
{
163-
plane.pressKey(2, player);
163+
plane.pressKey(2, player, true);
164164
}
165165
if(FlansMod.proxy.keyDown(mc.gameSettings.keyBindRight.getKeyCode()))//KeyInputHandler.rightKey.getKeyCode()))
166166
{
167-
plane.pressKey(3, player);
167+
plane.pressKey(3, player, true);
168168
}
169169
if(FlansMod.proxy.keyDown(mc.gameSettings.keyBindJump.getKeyCode()))//KeyInputHandler.upKey.getKeyCode()))
170170
{
171-
plane.pressKey(4, player);
171+
plane.pressKey(4, player, true);
172172
}
173173
if(FlansMod.proxy.keyDown(KeyInputHandler.downKey.getKeyCode()))
174174
{
175-
plane.pressKey(5, player);
175+
plane.pressKey(5, player, true);
176176
}
177177
if(FlansMod.proxy.keyDown(mc.gameSettings.keyBindSneak.getKeyCode()))//KeyInputHandler.exitKey.getKeyCode()))
178178
{
179-
plane.pressKey(6, player);
179+
plane.pressKey(6, player, true);
180180
}
181-
if(FlansMod.proxy.keyDown(KeyInputHandler.inventoryKey.getKeyCode()))
181+
if(FlansMod.proxy.keyDown(KeyInputHandler.vehicleMenuKey.getKeyCode()))
182182
{
183-
plane.pressKey(7, player);
183+
plane.pressKey(7, player, true);
184184
}
185185
if(FlansMod.proxy.keyDown(KeyInputHandler.bombKey.getKeyCode()))
186186
{
187-
plane.pressKey(8, player);
187+
plane.pressKey(8, player, true);
188188
}
189189
if(FlansMod.proxy.keyDown(KeyInputHandler.gunKey.getKeyCode()))
190190
{
191-
plane.pressKey(9, player);
191+
plane.pressKey(9, player, true);
192192
}
193193
if(FlansMod.proxy.keyDown(KeyInputHandler.controlSwitchKey.getKeyCode()))
194194
{
195-
plane.pressKey(10, player);
195+
plane.pressKey(10, player, true);
196196
}
197197
if(FlansMod.proxy.keyDown(KeyInputHandler.leftRollKey.getKeyCode()))
198198
{
199-
plane.pressKey(11, player);
199+
plane.pressKey(11, player, true);
200200
}
201201
if(FlansMod.proxy.keyDown(KeyInputHandler.rightRollKey.getKeyCode()))
202202
{
203-
plane.pressKey(12, player);
203+
plane.pressKey(12, player, true);
204204
}
205205
if(FlansMod.proxy.keyDown(KeyInputHandler.gearKey.getKeyCode()))
206206
{
207-
plane.pressKey(13, player);
207+
plane.pressKey(13, player, true);
208208
}
209209
if(FlansMod.proxy.keyDown(KeyInputHandler.doorKey.getKeyCode()))
210210
{
211-
plane.pressKey(14, player);
211+
plane.pressKey(14, player, true);
212212
}
213213
if(FlansMod.proxy.keyDown(KeyInputHandler.modeKey.getKeyCode()))
214214
{
215-
plane.pressKey(15, player);
215+
plane.pressKey(15, player, true);
216216
}
217217

218218
}

src/main/java/com/flansmod/client/handlers/ClientEventHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public void clientTick(TickEvent.ClientTickEvent event)
7777
renderHooks.update();
7878
RenderFlag.angle += 2F;
7979
FlansModClient.tick();
80-
keyInputHandler.checkDrivingKeys();
80+
keyInputHandler.checkTickKeys();
8181
break;
8282
}
8383
}
@@ -112,7 +112,7 @@ public void checkMouseInput(MouseEvent event)
112112
@SubscribeEvent
113113
public void onKeyInput(InputEvent.KeyInputEvent event)
114114
{
115-
keyInputHandler.checkUniversalKeys();
115+
keyInputHandler.checkEventKeys();
116116
}
117117

118118
@SubscribeEvent

src/main/java/com/flansmod/client/handlers/KeyInputHandler.java

Lines changed: 59 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class KeyInputHandler
3737
FlansKeyConflictContext.VEHICLE,
3838
Keyboard.KEY_LCONTROL,
3939
"key.flansmod.category");
40-
public static KeyBinding inventoryKey = new KeyBinding("key.vehicleMenu.desc",
40+
public static KeyBinding vehicleMenuKey = new KeyBinding("key.vehicleMenu.desc",
4141
FlansKeyConflictContext.VEHICLE,
4242
Keyboard.KEY_M,
4343
"key.flansmod.category");
@@ -101,13 +101,21 @@ public class KeyInputHandler
101101
FlansKeyConflictContext.VEHICLE,
102102
Keyboard.KEY_F5,
103103
"key.flansmod.category");
104+
public static KeyBinding primaryVehicleInteract = new KeyBinding("key.primaryVehicleInteract.desc",
105+
FlansKeyConflictContext.VEHICLE,
106+
Minecraft.getMinecraft().gameSettings.keyBindAttack.getKeyCode(),
107+
"key.flansmod.category");
108+
public static KeyBinding secondaryVehicleInteract = new KeyBinding("key.secondaryVehicleInteract.desc",
109+
FlansKeyConflictContext.VEHICLE,
110+
Minecraft.getMinecraft().gameSettings.keyBindUseItem.getKeyCode(),
111+
"key.flansmod.category");
104112

105113
private Minecraft mc;
106114

107115
KeyInputHandler()
108116
{
109117
ClientRegistry.registerKeyBinding(downKey);
110-
ClientRegistry.registerKeyBinding(inventoryKey);
118+
ClientRegistry.registerKeyBinding(vehicleMenuKey);
111119
ClientRegistry.registerKeyBinding(bombKey);
112120
ClientRegistry.registerKeyBinding(gunKey);
113121
ClientRegistry.registerKeyBinding(controlSwitchKey);
@@ -122,11 +130,13 @@ public class KeyInputHandler
122130
ClientRegistry.registerKeyBinding(lookAtGunKey);
123131
ClientRegistry.registerKeyBinding(debugKey);
124132
ClientRegistry.registerKeyBinding(reloadModelsKey);
133+
ClientRegistry.registerKeyBinding(primaryVehicleInteract);
134+
ClientRegistry.registerKeyBinding(secondaryVehicleInteract);
125135

126136
mc = Minecraft.getMinecraft();
127137
}
128138

129-
void checkDrivingKeys()
139+
void checkTickKeys()
130140
{
131141
EntityPlayer player = mc.player;
132142
if(player == null)
@@ -139,43 +149,29 @@ void checkDrivingKeys()
139149
{
140150
IControllable controllable = (IControllable)ridingEntity;
141151
if(mc.gameSettings.keyBindForward.isKeyDown())
142-
controllable.pressKey(0, player);
152+
controllable.pressKey(0, player, false);
143153
if(mc.gameSettings.keyBindBack.isKeyDown())
144-
controllable.pressKey(1, player);
154+
controllable.pressKey(1, player, false);
145155
if(mc.gameSettings.keyBindLeft.isKeyDown())
146-
controllable.pressKey(2, player);
156+
controllable.pressKey(2, player, false);
147157
if(mc.gameSettings.keyBindRight.isKeyDown())
148-
controllable.pressKey(3, player);
158+
controllable.pressKey(3, player, false);
149159
if(mc.gameSettings.keyBindJump.isKeyDown())
150-
controllable.pressKey(4, player);
160+
controllable.pressKey(4, player, false);
151161
if(downKey.isKeyDown())
152-
controllable.pressKey(5, player);
153-
if(mc.gameSettings.keyBindSneak.isPressed())
154-
controllable.pressKey(6, player);
155-
if(mc.gameSettings.keyBindInventory.isPressed() || inventoryKey.isPressed())
156-
controllable.pressKey(7, player);
157-
if(bombKey.isKeyDown())
158-
controllable.pressKey(8, player);
159-
if(gunKey.isKeyDown())
160-
controllable.pressKey(9, player);
161-
if(controlSwitchKey.isPressed())
162-
controllable.pressKey(10, player);
162+
controllable.pressKey(5, player, false);
163+
if(secondaryVehicleInteract.isKeyDown())
164+
controllable.pressKey(8, player, false);
165+
if(primaryVehicleInteract.isKeyDown())
166+
controllable.pressKey(9, player, false);
163167
if(leftRollKey.isKeyDown())
164-
controllable.pressKey(11, player);
168+
controllable.pressKey(11, player, false);
165169
if(rightRollKey.isKeyDown())
166-
controllable.pressKey(12, player);
167-
if(gearKey.isPressed())
168-
controllable.pressKey(13, player);
169-
if(doorKey.isPressed())
170-
controllable.pressKey(14, player);
171-
if(modeKey.isPressed())
172-
controllable.pressKey(15, player);
173-
if(toggleCameraPerspective.isKeyDown())
174-
controllable.pressKey(18, player);
170+
controllable.pressKey(12, player, false);
175171
}
176172
}
177173

178-
void checkUniversalKeys()
174+
void checkEventKeys()
179175
{
180176
if(FMLClientHandler.instance().isGUIOpen(GuiChat.class) || mc.currentScreen != null)
181177
return;
@@ -223,11 +219,13 @@ void checkUniversalKeys()
223219
}
224220
}
225221
}
222+
return;
226223
}
227224
if(lookAtGunKey.isPressed())
228225
{
229226
FlansModClient.getGunAnimations(mc.player, EnumHand.MAIN_HAND).lookAt = LookAtState.TILT1;
230227
FlansModClient.getGunAnimations(mc.player, EnumHand.OFF_HAND).lookAt = LookAtState.TILT1;
228+
return;
231229
}
232230
if(debugKey.isPressed())
233231
{
@@ -237,10 +235,41 @@ void checkUniversalKeys()
237235
{
238236
FlansMod.packetHandler.sendToServer(new PacketRequestDebug());
239237
}
238+
return;
240239
}
241240
if(reloadModelsKey.isPressed())
242241
{
243242
FlansModClient.reloadModels(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT));
243+
return;
244+
}
245+
246+
if(player == null)
247+
{
248+
return;
249+
}
250+
251+
Entity ridingEntity = player.getRidingEntity();
252+
if(ridingEntity instanceof IControllable)
253+
{
254+
IControllable controllable = (IControllable)ridingEntity;
255+
if(mc.gameSettings.keyBindSneak.isPressed())
256+
controllable.pressKey(6, player, true);
257+
if(vehicleMenuKey.isPressed())
258+
controllable.pressKey(7, player, true);
259+
if(primaryVehicleInteract.isPressed())
260+
controllable.pressKey(9, player, true);
261+
if(secondaryVehicleInteract.isPressed())
262+
controllable.pressKey(8, player, true);
263+
if(controlSwitchKey.isPressed())
264+
controllable.pressKey(10, player, true);
265+
if(gearKey.isPressed())
266+
controllable.pressKey(13, player, true);
267+
if(doorKey.isPressed())
268+
controllable.pressKey(14, player, true);
269+
if(modeKey.isPressed())
270+
controllable.pressKey(15, player, true);
271+
if(toggleCameraPerspective.isKeyDown())
272+
controllable.pressKey(18, player, true);
244273
}
245274
}
246275
}

src/main/java/com/flansmod/client/model/RenderMecha.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -388,13 +388,13 @@ private void renderItem(EntityMecha mecha, ItemStack stack, int par3, boolean le
388388
{
389389
toolType.model.render(mecha, dT);
390390
GL11.glPushMatrix();
391-
if((leftHand && mecha.leftMouseHeld) || (!leftHand && mecha.rightMouseHeld))
391+
if((leftHand && mecha.primaryShootHeld) || (!leftHand && mecha.secondaryShootHeld))
392392
{
393393
GL11.glRotatef(25F * (float)mecha.ticksExisted, 1F, 0F, 0F);
394394
}
395395
toolType.model.renderDrill(mecha, dT);
396396
GL11.glPopMatrix();
397-
toolType.model.renderSaw(mecha, dT, (leftHand && mecha.leftMouseHeld) || (!leftHand && mecha.rightMouseHeld));
397+
toolType.model.renderSaw(mecha, dT, (leftHand && mecha.primaryShootHeld) || (!leftHand && mecha.secondaryShootHeld));
398398
}
399399
}
400400
else if(item instanceof ItemGun && ((ItemGun)item).GetType().model != null)

0 commit comments

Comments
 (0)