Вопросы

Дак PacketCodec - объект, и addDiscriminator - не статичный метод(в Scala нету ничего статичного, есть объекты-синглетоны).
Создай так:
private static PacketCodec codec = new PacketCodec();


method{
codec.addDiscriminator(id, cls)
}
 
anti344 написал(а):
Дак PacketCodec - объект, и addDiscriminator - не статичный метод(в Scala нету ничего статичного, есть объекты-синглетоны).
Создай так:
private static PacketCodec codec = new PacketCodec();


method{
codec.addDiscriminator(id, cls)
}
Это в класс с этим методом пихать?

Перевод где пометка,пожалуйста
Код:
 void init(){
            EnumMap<Side, FMLEmbeddedChannel> channels = NetworkRegistry.INSTANCE.newChannel("rcircuits_channel", codec);
            client = channels.get(Side.CLIENT);
            server = channels.get(Side.SERVER);
            val tpe = classOf[FMLIndexedMessageToMessageCodec[Packet]];//HELP
            client.pipeline().addAfter(client.findChannelHandlerNameForType(tpe), "executor", new PacketHandler(Side.CLIENT))
            server.pipeline().addAfter(server.findChannelHandlerNameForType(tpe), "executor", new PacketHandler(Side.SERVER))
          }
  def getPacketFrom(packet: Packet): MCPacket =//шта?
    server.generatePacketFrom(packet)

// и это
server.attr(args).set(Int.box(dimensionId))
 
Вроде больше проблем нет.  Только перевести скалу(выше). И возможно закончу.
Так потом используя  этот метод   def sendTo(packet: Packet, player: EntityPlayerMP)
отправляем пакет. Суя пакет и ник игрока. (Блин потеряла сообщение,кто-то писал как ник достать,через entityPlayer. Мне кстати его создать или достать ил что?)
 
Код:
void init(){
            EnumMap<Side, FMLEmbeddedChannel> channels = NetworkRegistry.INSTANCE.newChannel("rcircuits_channel", codec);
            client = channels.get(Side.CLIENT);
            server = channels.get(Side.SERVER);
            val tpe = FMLIndexedMessageToMessageCodec.class;
            client.pipeline().addAfter(client.findChannelHandlerNameForType(tpe), "executor", new PacketHandler(Side.CLIENT))
            server.pipeline().addAfter(server.findChannelHandlerNameForType(tpe), "executor", new PacketHandler(Side.SERVER))
          }
  public MCPacket getPacketFrom(Packet packet) {
     return server.generatePacketFrom(packet);
}

server.attr(args).set(Int.box(dimensionId));
 
Dragon2488 написал(а):
Код:
server.attr(args).set(Int.box(dimensionId));
импортить скалу? Int из скалы
[merge_posts_bbcode]Добавлено: 07.06.2014 21:22:42[/merge_posts_bbcode]

Dragon2488 написал(а):
Код:
  public MCPacket getPacketFrom(Packet packet) {
     return server.generatePacketFrom(packet);
}
MCPacket тоже не находит
 
Ищи суть метода и пили сама, очевидно же.
 
Skarlet написал(а):
laz2727 написал(а):
Метода box нет
Не нужен.
Просто передай ему число.
В скале число - объект, там всё объекты. Поэтому надо конвертить значение в ссылку, чтобы передать методу.
Я могу что-то путать, но передавать в метод точно нужно просто число, без всяких box'ов и прочего.
 
Oldestkon написал(а):
Skarlet написал(а):
laz2727 написал(а):
Метода box нет
Не нужен.
Просто передай ему число.
В скале число - объект, там всё объекты. Поэтому надо конвертить значение в ссылку, чтобы передать методу.
Я могу что-то путать, но передавать в метод точно нужно просто число, без всяких box'ов и прочего.
Так осталось разобраться с MCPacket
[merge_posts_bbcode]Добавлено: 07.06.2014 22:11:34[/merge_posts_bbcode]

И вот так я могу достать ник?
Minecraft.getMinecraft().thePlayer.getGameProfile().getName();
правильно ли это будет?

Так что-то ещё регать надо? Или прописывать?
 
Импорты повнимательнее почитай.
[merge_posts_bbcode]Добавлено: 07.06.2014 17:19:19[/merge_posts_bbcode]

И поймешь, что такое MCPacket​
 
Почитал тутор про пакеты и неттти на форуме форджа.  По мне там дохринилионы лишнего кода, и кастомизировать под себя как анти гораздо удобнее и проще.
 
anti344 написал(а):
Импорты повнимательнее почитай.
[merge_posts_bbcode]Добавлено: 07.06.2014 17:19:19[/merge_posts_bbcode]

И поймешь, что такое MCPacket​
переименованный Packet(который майновкий,а не мой)
[merge_posts_bbcode]Добавлено: 08.06.2014 15:46:23[/merge_posts_bbcode]

Так, теперь где-нибудь надо прописать,объявить что-нибудь?
 
TaoGunner написал(а):
Skarlet написал(а):
Мешанину из вопросов не осилил. Тебе нужен пример пакетов для 1.7.2 на Java?
Я уже делаю по примеру Анти.
Актуальные вопросы:
Помимо переведённого со скалы кода,надо регистрировать что-то?
 
Dragon2488 написал(а):
нет, только PacketManager.init();
Это соответственно тоже?
public static final PacketManager packetMan = new PacketManager();
Так,а вот есть
Код:
 registerPacket(classOf[PacketUpdateTile], 0)
 registerPacket(classOf[PacketUpdateInventory], 1)
//типо мой//  registerPacket(classOf[MyPacket], 2)

Регистрирует пакет?
Этот пакет суём в sendTo(new MyPacket,Minecraft.getMinecraft().thePlayer.getGameProfile().getName())
и отправляем игроку
Так?
 
Так,вот я создаю пакет
Код:
//типо мой//  registerPacket(classOf[MyPacket], 2)

Вот, то есть надо создать класс который наследует пакет.
Туда писать,что я буду туда отправлять?
Если так,то где отправлять этот пакет?
Или что писать в MyPacket?
 
Любую инфу писать.
Класс пакета туда.
Где нужно.
 
Как через ник достать MP Игрока?

P.S. ну когда вот мы выпроводим пакет со сервера. Клиент должен встретить пакет и обеспечить ему нужную клиентскую переменную. Тоже ведь вопрос,как всё это сделать.
:/ Не люблю работать со сервером
 
Назад
Сверху