equivalent-exchange-3/ee3_common/com/pahimar/ee3/network/packet/PacketKeyPressed.java

57 lines
1.5 KiB
Java

package com.pahimar.ee3.network.packet;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import com.pahimar.ee3.item.IKeyBound;
import com.pahimar.ee3.network.PacketTypeHandler;
import cpw.mods.fml.common.network.Player;
/**
* PacketKeyPressed
*
* Packet specifically for notifying the server of client key pressed events
*
* @author pahimar
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
*
*/
public class PacketKeyPressed extends PacketEE {
public String key;
public PacketKeyPressed() {
super(PacketTypeHandler.KEY, false);
}
public PacketKeyPressed(String key) {
super(PacketTypeHandler.KEY, false);
this.key = key;
}
public void writeData(DataOutputStream data) throws IOException {
data.writeUTF(key);
}
public void readData(DataInputStream data) throws IOException {
this.key = data.readUTF();
}
public void execute(INetworkManager manager, Player player) {
EntityPlayer thePlayer = (EntityPlayer) player;
if ((thePlayer.getCurrentEquippedItem() != null) && (thePlayer.getCurrentEquippedItem().getItem() instanceof IKeyBound)) {
((IKeyBound) thePlayer.getCurrentEquippedItem().getItem()).doKeyBindingAction(thePlayer, thePlayer.getCurrentEquippedItem(), this.key);
}
}
}