package me.tyler15555.minibosses.network;
import io.netty.buffer.ByteBuf;
import me.tyler15555.minibosses.util.ExtendedPlayerProperties;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ChatComponentText;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
//Heavily based on pahmir's MessageKeyPressed
public class MessageKey implements IMessage, IMessageHandler<MessageKey, IMessage> {
private int keyCode;
public MessageKey() {
}
public MessageKey(int code) {
keyCode = code;
}
@Override
public void fromBytes(ByteBuf buf) {
this.keyCode = buf.readByte();
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeByte(keyCode);
}
@Override
public IMessage onMessage(MessageKey message, MessageContext ctx) {
EntityPlayer player = (EntityPlayer)ctx.getServerHandler().playerEntity;
if(player.getExtendedProperties(ExtendedPlayerProperties.PROP_NAME) != null) {
ExtendedPlayerProperties props = (ExtendedPlayerProperties) player.getExtendedProperties(ExtendedPlayerProperties.PROP_NAME);
props.togglePowers();
player.addChatMessage(new ChatComponentText("Powers have been toggled to state: " + props.getPowersEnabled()));
}
return this;
}
}