Возникла необходимость в пакетной системе. Воспользовался forgedocs. Все по гайду сделал, но при входе в игру ничего не происходит, в логах тоже ничего нет.Помогите, не могу найти ошибку.
Код:
public class MyMessage implements IMessage {
public MyMessage(){}
public int toSend;
public MyMessage(int toSend) {
this.toSend = toSend;
}
@Override public void toBytes(ByteBuf buf) {
buf.writeInt(toSend);
}
@Override public void fromBytes(ByteBuf buf) {
toSend = buf.readInt();
}
}
Код:
public class MyMessageHandler implements IMessageHandler<MyMessage, IMessage> {
public MyMessageHandler() {}
@Override public IMessage onMessage(MyMessage message, MessageContext ctx) {
EntityPlayerMP serverPlayer = ctx.getServerHandler().player;
int amount = message.toSend;
serverPlayer.getServerWorld().addScheduledTask(() -> {
serverPlayer.inventory.addItemStackToInventory(new ItemStack(Items.DIAMOND, amount));
});
return null;
}
}
Код:
public class GCSPacketHandler {
public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel("gcs");
public GCSPacketHandler() {}
}
Код:
public class EventsHandler
{
@SubscribeEvent
public void onPlayerLogsIn(PlayerLoggedInEvent event)
{
GCSPacketHandler.INSTANCE.sendToServer(new MyMessage(10));
}
}
Код:
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event)
{
GCSPacketHandler.INSTANCE.registerMessage(MyMessageHandler.class, MyMessage.class, 0, Side.SERVER);
MinecraftForge.EVENT_BUS.register(new EventsHandler());
}
}
Последнее редактирование: