69 lines
1.8 KiB
Java
69 lines
1.8 KiB
Java
package electroblob.wizardry;
|
|
|
|
import org.lwjgl.input.Keyboard;
|
|
|
|
import electroblob.wizardry.client.ClientProxy;
|
|
import electroblob.wizardry.packet.PacketControlInput;
|
|
import electroblob.wizardry.packet.WizardryPacketHandler;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
import net.minecraftforge.fml.common.gameevent.InputEvent;
|
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
|
|
|
public class WizardryKeyHandler {
|
|
|
|
boolean NkeyPressed = false;
|
|
boolean BkeyPressed = false;
|
|
boolean NkeyAlreadyPressed = false;
|
|
boolean BkeyAlreadyPressed = false;
|
|
|
|
@SubscribeEvent
|
|
public void onKeyInput(InputEvent.KeyInputEvent event){
|
|
|
|
// Key pressed
|
|
if(Keyboard.getEventKeyState()){
|
|
|
|
if(Wizardry.proxy instanceof ClientProxy){
|
|
|
|
if(ClientProxy.NEXT_SPELL.isPressed() && Minecraft.getMinecraft().inGameHasFocus){
|
|
if(!NkeyPressed){
|
|
NkeyPressed = true;
|
|
}else{
|
|
NkeyAlreadyPressed = true;
|
|
}
|
|
if(!NkeyAlreadyPressed){
|
|
// Packet building
|
|
IMessage msg = new PacketControlInput.Message(PacketControlInput.ControlType.NEXT_SPELL_KEY);
|
|
WizardryPacketHandler.net.sendToServer(msg);
|
|
}
|
|
}
|
|
|
|
if(ClientProxy.PREVIOUS_SPELL.isPressed() && Minecraft.getMinecraft().inGameHasFocus){
|
|
if(!BkeyPressed){
|
|
BkeyPressed = true;
|
|
}else{
|
|
BkeyAlreadyPressed = true;
|
|
}
|
|
if(!BkeyAlreadyPressed){
|
|
// Packet building
|
|
IMessage msg = new PacketControlInput.Message(
|
|
PacketControlInput.ControlType.PREVIOUS_SPELL_KEY);
|
|
WizardryPacketHandler.net.sendToServer(msg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Key released
|
|
else{
|
|
if(NkeyPressed){
|
|
NkeyPressed = false;
|
|
NkeyAlreadyPressed = false;
|
|
}else if(BkeyPressed){
|
|
BkeyPressed = false;
|
|
BkeyAlreadyPressed = false;
|
|
}
|
|
}
|
|
}
|
|
}
|