Java tutorial
package com.savageboy74.savagetech.network.message; /* * MessageKeyPressed.java * Copyright (C) 2015 Savage - github.com/savageboy74 * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ import com.savageboy74.savagetech.init.ArmorRegistry; import com.savageboy74.savagetech.item.armor.SavageArmorUpgraded; import com.savageboy74.savagetech.util.IKeyBound; import com.savageboy74.savagetech.util.Keys; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import java.security.Key; public class MessageKeyPressed implements IMessage, IMessageHandler<MessageKeyPressed, IMessage> { public byte keyPressed; public MessageKeyPressed() { } public MessageKeyPressed(Keys key) { if (key == Keys.SPEED_BOOST) { this.keyPressed = (byte) Keys.SPEED_BOOST.ordinal(); } } @Override public void fromBytes(ByteBuf buf) { this.keyPressed = buf.readByte(); } @Override public void toBytes(ByteBuf buf) { buf.writeByte(keyPressed); } @Override public IMessage onMessage(MessageKeyPressed message, MessageContext ctx) { EntityPlayer entityPlayer = ctx.getServerHandler().playerEntity; if (entityPlayer != null && entityPlayer.getCurrentEquippedItem() != null && entityPlayer.getCurrentEquippedItem().getItem() instanceof IKeyBound) { if (message.keyPressed == Keys.MULTI_TOOL.ordinal()) { ((IKeyBound) entityPlayer.getCurrentEquippedItem().getItem()).doKeyBindingAction(entityPlayer, entityPlayer.getCurrentEquippedItem(), Keys.MULTI_TOOL); } } return null; } }