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

Помогите Отправка анимации ломания блока

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

Статус темы:
Закрыта.
  1. Автор темы
    kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    У меня сразу два вопроса

    Первое мне нужно отправить пакет с остановленной анимацией трещин блока
    Вот что у меня получилось

    Код:
    int x;
            int y;
            int z;
            int damage = -1;
            PacketPlayOutBlockBreakAnimation pack = new PacketPlayOutBlockBreakAnimation(0, x, y, z, damage);
            ((CraftPlayer) p).getHandle().playerConnection.sendPacket(pack);
    Не получается переделать из PacketPlayOutBlockBreakAnimation в Packet , и еще я не совсем понимаю зачем мне первый int .

    А второй вопрос (скорее всего полегче) мне нужно отправить замену блока для игрока .
    Метод
    Код:
    p.sendBlockChange(arg0, arg1, arg2);
    устарел
     
    Последнее редактирование: 26 окт 2014
  2. Хостинг MineCraft
    <
  3. BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    Не лезь так далеко, пока ничего не знаешь - http://wiki.vg/Protocol
     
  4. Автор темы
    kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    ну нужно с чего-то начинать
     
  5. BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    Там тебе все объяснения, для чего этот Integer.[DOUBLEPOST=1414338681,1414338537][/DOUBLEPOST]Entity IDVarIntEntity's ID
    LocationPositionBlock Position
    Destroy StageByte

    Все взял оттуда. Пример - new PacketPlayOutBlockBreakAnimation(p.getEntityId(), p.getLocation(), (byte) 5);
     
  6. Автор темы
    kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    хм ... бакит требует 5 integer'ов
    The constructor PacketPlayOutBlockBreakAnimation(int, Location, byte) is undefined[DOUBLEPOST=1414339408][/DOUBLEPOST]
    Код:
    @EventHandler
        public void onMove(PlayerMoveEvent e){
            Player p = e.getPlayer();
            PacketPlayOutBlockBreakAnimation pack = new PacketPlayOutBlockBreakAnimation(p.getEntityId(), p.getLocation(), (byte) 5);
        }
    Вот код , может я ошибся .
     
  7. BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    Хмм, какое у тебя ядро? Под какой NMS пишешь?
     
  8. Автор темы
    kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    [​IMG]
    Не стоит забывать что я нубяра )) но я так понимаю ты про это
    Eclipse ....
     
    Последнее редактирование: 26 окт 2014
  9. BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    ПЛИАААААТЬ. НАХЕРА СТОЛЬКО БИБЛИОТЕК? Оставляй только craftbukkit-1.7.5
     
  10. Автор темы
    kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    Но без bukkit не работает (CraftPlayer) и (CraftServer)
    А spigot-patched для title'ов , actionbar ...
    Уже пытался сделать через ProtocolLib но там все ещё хуже[DOUBLEPOST=1414391586,1414389267][/DOUBLEPOST]
    Все ! Эту тему можно закрывать . Вот в чем была проблема:

    Код:
    net.minecraft.server.v1_7_R4.PacketPlayOutBlockBreakAnimation pack = new net.minecraft.server.v1_7_R4.PacketPlayOutBlockBreakAnimation(0, p.getLocation().getBlockX(), p.getLocation().add(0, -1, 0).getBlockY(), p.getLocation().getBlockZ(), 5);
             ((CraftPlayer) p).getHandle().playerConnection.sendPacket(pack);
    Все оказалось слишком просто , а я слишком ленивым чтобы пролистать список решений которые предлагал компилятор в самый низ . Хотя неет рано тему закрывать , мне кто-нибудь скажет зачем первый integer ???
     
  11. aceJKE

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

    Баллы:
    123
    If you need to display several break animations at the same time you have to give each of them a unique Entity ID.
    Maybe?..
     
  12. Автор темы
    kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    Yea , i'm understood this . Но все же ты знаешь русский :D
    Я разобрался с этим вроде , если отправить трещины с одним Entity ID на два разных блока то они будут отображаться только на одном .
    Теперь тема окончательно закрыта)
     
Статус темы:
Закрыта.

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