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

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

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

Thread Status:
Not open for further replies.
  1. Автор темы
    kvqplay

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

    Trophy Points:
    66
    Имя в Minecraft:
    kvq_play
    У меня сразу два вопроса

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

    Code:
    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 .

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

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

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

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

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

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

    Trophy Points:
    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 Активный участник Пользователь

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

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

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

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

    Trophy Points:
    66
    Имя в Minecraft:
    kvq_play
    [​IMG]
    Не стоит забывать что я нубяра )) но я так понимаю ты про это
    Eclipse ....
     
    Last edited: Oct 26, 2014
  9. BeLkA

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

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

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

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

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

    Trophy Points:
    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 Активный участник Пользователь

    Trophy Points:
    66
    Имя в Minecraft:
    kvq_play
    Yea , i'm understood this . Но все же ты знаешь русский :D
    Я разобрался с этим вроде , если отправить трещины с одним Entity ID на два разных блока то они будут отображаться только на одном .
    Теперь тема окончательно закрыта)
     
Thread Status:
Not open for further replies.

Share This Page