Пакет Server --> Client

Версия Minecraft
1.7.10
Начал делать пакет.Делал как в учебнике написано,но вот выходит ошибка когда я в пакете хочу передать GUI . Как это можно сделать правильно,подскаите пожалуйста .1681396247215.pngНе понимаю как можно сделать вообще это и почему не работает .Подозрешаю что это всё может скрываться в
@Override
public void fromBytes(ByteBuf buf) {
}

@Override
public void toBytes(ByteBuf buf) {

}
но я не знаю как мне туда засунуть Gui ....
 
на клиенте игрок ВСЕГДА достается через Minecraft#getMinecraft#thePlayer
Ты достаешь игрока так же, как и на сервере - так в пакетхандлере делать нельзя
Пакет зареган? кастомный пакетный канал есть? Почему код только одного класса? Где логи? Научись пользоваться логгером

Я вижу критическое недоразумение и непонимание, как работает майнкрафт, нежелание понять, как он работает, почему клиент != сервер ты так же не задаешься вопросом, на форуме кладезь примеров, как нужно делать, но нет, мы будем плодить кучу тем по одной и той же проблеме
 
Зачем тебе вообще засовывать GUI в данные пакета?
но я не знаю как мне туда засунуть Gui ....
Тебе просто нужно отправить пакет с сервера определённому игроку, и при обработке этого пакета на клиенте открыть нужный тебе гуи. А вот если этот гуи требует какие-нибудь данные, которые также должны передаваться с сервера, то уже пытайся пакетом и их кинуть
 
на клиенте игрок ВСЕГДА достается через Minecraft#getMinecraft#thePlayer
Ты достаешь игрока так же, как и на сервере - так в пакетхандлере делать нельзя
Пакет зареган? кастомный пакетный канал есть? Почему код только одного класса? Где логи? Научись пользоваться логгером

Я вижу критическое недоразумение и непонимание, как работает майнкрафт, нежелание понять, как он работает, почему клиент != сервер ты так же не задаешься вопросом, на форуме кладезь примеров, как нужно делать, но нет, мы будем плодить кучу тем по одной и той же проблеме
@fukkivdan На самом деле всё что я и делаю - это гуглю.От безысходности прошу постоянно помощи
@nefepito Я не понимаю как просто ,откуда мне взять этот пакет . Просто в голове на самом деле не укладывается.Я прочитал статью из учебника - вот и делаю
 
Я не понимаю как просто ,откуда мне взять этот пакет .
Вот же пример прям в учебнике1681407599728.png

Тебе надо в методе обработки команды отсылать пакет на клиент определённому игроку.
Java:
EntityPlayerMP playerMP = MinecraftServer.getServer().getConfigurationManager().func_152612_a(sender.getCommandSenderName());
Вот так получи игрока, и отсылай ему пакет.
А в обработке пакета на клиенте, просто открывай GUI
 
sender уже является нужным объектом
Только сначала нужно проверить на instanceof EntityPlayer, отправителем также может быть консоль, то есть MinecraftServer, также RCON может быть.
Вот так получи игрока, и отсылай ему пакет.
В CommandBase есть метод getCommandSenderAsPlayer, он делает то что нужно, но увы, сообщение ошибки нельзя настроить. Обработка команды обёртнута в try-catch, исключения рода CommandException можно свободно бросать.
 
Назад
Сверху