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

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

Discussion in 'Разработка плагинов для новичков' started by konfyciu98, Jul 25, 2014.

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

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

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

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

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

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

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

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

    Trophy Points:
    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 Старожил Пользователь

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

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

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

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

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

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

    Trophy Points:
    153
    Skype:
    FayStaff
    Если еще надо - то вот.
    Code:
    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 Старожил Пользователь

    Trophy Points:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Пасяб ;р
     
  11. BeLkA

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

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

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

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

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

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

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

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

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

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

Share This Page