Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Пакет моба

Тема в разделе "Разработка плагинов для новичков", создана пользователем konfyciu98, 25 июл 2014.

  1. Автор темы
    konfyciu98

    konfyciu98 Старожил Пользователь

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Я понимаю это так:
    пакет Destroy
    пакет NamedEntitySpawn(myEntity)
     
  2. Хостинг MineCraft
    <
  3. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Skype:
    makssofez
    iDisguise:
    Код:
    PacketPlayOutEntityDestroy packetDestroy = new PacketPlayOutEntityDestroy(new int[] { player.getEntityId() });
    PacketPlayOutNamedEntitySpawn packetSpawn = new PacketPlayOutNamedEntitySpawn(((CraftPlayer)player).getHandle());
     
  4. Автор темы
    konfyciu98

    konfyciu98 Старожил Пользователь

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Я уже делал.[DOUBLEPOST=1406550357,1406549547][/DOUBLEPOST]Игрок застывает на месте
     
  5. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Skype:
    makssofez
    Такая же фигня была, когда я "игрался" с пакетами. Самому игроку, который "переодевается" не надо посылать эти пакеты. Только другим игрокам.[DOUBLEPOST=1406550633,1406550556][/DOUBLEPOST]И вообще, NamedEntitySpawn это пакет, который отправляется клиенту когда игрок входит в поле зрения другого игрока. Т.е. появляется на карте для клиента другого игрока.[DOUBLEPOST=1406550864][/DOUBLEPOST]This packet is sent by the server when a player comes into visible range, not when a player joins.
     
  6. Автор темы
    konfyciu98

    konfyciu98 Старожил Пользователь

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Черт, а как в пакете спавна задать EntityHuman?
     
  7. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Skype:
    makssofez
    Ты про это?:
    new PacketPlayOutNamedEntitySpawn(((CraftPlayer)player).getHandle());
     
  8. Автор темы
    konfyciu98

    konfyciu98 Старожил Пользователь

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Да, он создает игрока, а не моба. Как туда моба впихнуть?[DOUBLEPOST=1406626563,1406553503][/DOUBLEPOST]Ап
     
  9. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    Если еще надо - то вот.
    Код:
    CraftPlayer player = (CraftPlayer) p;
    PacketPlayOutNamedEntitySpawn npc = new PacketPlayOutNamedEntitySpawn(player.getHandle());
                        try {
                            Field f = npc.getClass().getDeclaredField("a");
                            f.setAccessible(true);
                            f.setInt(npc, /*ID Моба (Можно посмотреть ID яиц спавна, они сходятся с этими)*/);
                            f.setAccessible(!f.isAccessible());
                        } catch(Exception x) {
                            x.printStackTrace();
                       }
                        // Так отправляется пакет \/\/\/ Только самому игроку. Так же как то еще нужно игрока убрать. И посылать пакет шедулером все время. Чтобы показать игрока в виде моба всем остальным - getOnlinePlayers()
                        player.getHandle().playerConnection.sendPacket(npc);
    
     
  10. Автор темы
    konfyciu98

    konfyciu98 Старожил Пользователь

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Пасяб ;р
     
  11. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    Ходили слухи о DestroyEntity - тоже нужно, чтобы игрока скрыть. Но я этот пакет не нашел
     
  12. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Мало того что это каша из NMS и рефлексий, так ещё и f.setAccessible(!f.isAccessible()) :cry:
     
  13. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    По тутору из офф. баккита делал. Уже понял, что там ничего нормального. Но нашел другой способ, тоже с НМС.
     
  14. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Баллы:
    173
    Ты меня поражаешь : PacketPlayOutEntityDestroy
    Список новых пакетов
     
  15. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    ОХ ТЫ Ж ЕМАНА! СПАСИБО ТЕБЕ ЗА ЭТУ ВЕЛИКОЛЕПНУЮ ССЫЛКУ!
     

Поделиться этой страницей