diff --git a/src/main/java/fairies/entity/EntityFairy.java b/src/main/java/fairies/entity/EntityFairy.java index 37961be..065c08f 100644 --- a/src/main/java/fairies/entity/EntityFairy.java +++ b/src/main/java/fairies/entity/EntityFairy.java @@ -1895,7 +1895,7 @@ public class EntityFairy extends EntityAnimal { } public String getActualName(int prefix, int suffix) { - final String custom = "";// getCustomName(); + final String custom = getCustomName(); if (custom != null && !custom.isEmpty()) return custom; diff --git a/src/main/java/fairies/event/FairyEventListener.java b/src/main/java/fairies/event/FairyEventListener.java index f6717b8..0207d4b 100644 --- a/src/main/java/fairies/event/FairyEventListener.java +++ b/src/main/java/fairies/event/FairyEventListener.java @@ -20,8 +20,8 @@ public class FairyEventListener { SET_FAIRY_NAME(0, PacketSetFairyName.class); public final byte packet_id; - protected final Class packet_class; - private PacketType(final int id, Class clazz) { + protected final Class packet_class; + private PacketType(final int id, Class clazz) { packet_id = (byte)id; packet_class = clazz; } @@ -38,11 +38,6 @@ public class FairyEventListener { } } - public interface IFairyPacket { - public void init(PacketBuffer buf); - public void handle(NetworkManager networkManager); - } - @SubscribeEvent public void onPacket(ServerCustomPacketEvent event) { if( event.packet.channel().equals(Version.CHANNEL) ) { @@ -63,7 +58,7 @@ public class FairyEventListener { return; } - final IFairyPacket packet; + final FairyPacket packet; try { packet = type.packet_class.newInstance(); } catch (Exception e) { diff --git a/src/main/java/fairies/event/FairyPacket.java b/src/main/java/fairies/event/FairyPacket.java new file mode 100644 index 0000000..f9c0941 --- /dev/null +++ b/src/main/java/fairies/event/FairyPacket.java @@ -0,0 +1,24 @@ +package fairies.event; + +import cpw.mods.fml.common.network.internal.FMLProxyPacket; +import fairies.Version; +import fairies.event.FairyEventListener.PacketType; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.PacketBuffer; + +public abstract class FairyPacket extends FMLProxyPacket { + + protected FairyPacket(PacketType packetType) { + super( new PacketBuffer(Unpooled.buffer()), Version.CHANNEL ); + + final PacketBuffer buf = (PacketBuffer)this.payload(); + buf.writeByte(packetType.packet_id); + } + + protected abstract void pack(); + public abstract void init(PacketBuffer buf); + public abstract void handle(NetworkManager networkManager); + +} diff --git a/src/main/java/fairies/event/PacketSetFairyName.java b/src/main/java/fairies/event/PacketSetFairyName.java index 5055b82..81d9905 100644 --- a/src/main/java/fairies/event/PacketSetFairyName.java +++ b/src/main/java/fairies/event/PacketSetFairyName.java @@ -5,13 +5,13 @@ import java.io.IOException; import cpw.mods.fml.common.network.internal.FMLProxyPacket; import fairies.FairyFactions; import fairies.entity.EntityFairy; -import fairies.event.FairyEventListener.IFairyPacket; +import io.netty.buffer.Unpooled; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.network.NetHandlerPlayServer; import net.minecraft.network.NetworkManager; import net.minecraft.network.PacketBuffer; -public class PacketSetFairyName implements IFairyPacket { +public class PacketSetFairyName extends FairyPacket { public static final int MIN_NAME_LENGTH = 3; public static final int MAX_NAME_LENGTH = 16; @@ -20,8 +20,22 @@ public class PacketSetFairyName implements IFairyPacket { private String name; public PacketSetFairyName(final EntityFairy fairy, final String name) { + super(FairyEventListener.PacketType.SET_FAIRY_NAME); this.fairyID = fairy.getEntityId(); this.name = name; + pack(); + } + + @Override + protected void pack() { + final PacketBuffer buf = (PacketBuffer)this.payload(); + buf.writeInt(this.fairyID); + try { + buf.writeStringToBuffer(this.name); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } @Override diff --git a/src/main/java/fairies/proxy/CommonProxy.java b/src/main/java/fairies/proxy/CommonProxy.java index e27cabe..0802062 100644 --- a/src/main/java/fairies/proxy/CommonProxy.java +++ b/src/main/java/fairies/proxy/CommonProxy.java @@ -97,7 +97,7 @@ public class CommonProxy { public void sendFairyRename(final EntityFairy fairy, final String name) { final PacketSetFairyName packet = new PacketSetFairyName( fairy, name ); - //sendToServer( packet ); + sendToServer( packet ); } // Packet that handles fairy mounting.