1 juil. 2016, 15:40

Alors
J’ai fais ça:


public class PacketGuerrier implements IMessage {

public static String name;
public static Minecraft mc;

public PacketGuerrier(){

}
public PacketGuerrier(String name){
this.name = name;
}

@Override
public void fromBytes(ByteBuf buf) {
this.name = ByteBufUtils.readUTF8String(buf);

}

@Override
public void toBytes(ByteBuf buf) {
ByteBufUtils.writeUTF8String(buf, name);

}

public static class Handler implements IMessageHandler <packetguerrier, imessage="">{
@Override
   public IMessage onMessage(PacketGuerrier message, MessageContext ctx) {
EntityPlayer player = mc.thePlayer;
        EnumRank.GUERRIER.name();
        ServerProxy.RANK.put(player.getUniqueID(), EnumRank.GUERRIER);
        return message;
       }
   }

}

Le packet est enregistrer côté serveur:

network.registerMessage(PacketGuerrier.Handler.class, PacketGuerrier.class, 1, Side.SERVER);

Et mon ServerProxy qui a mon avis n’est pas bon:


package net.legacymod.proxy;

import java.util.HashMap;
import java.util.UUID;

import net.legacymod.packets.PacketGuerrier;
import net.legacymod.properties.EnumRank;

public class ServerProxy {

public static final HashMap <uuid, enumrank="">RANK = new HashMap<uuid, enumrank="">();

public ServerProxy(){
EnumRank.valueOf(PacketGuerrier.name);

}

}

```</uuid,></uuid,></packetguerrier,>