Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Статус
Закрыто для дальнейших ответов.

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);
устарел
 
Последнее редактирование:
У меня сразу два вопроса

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

Код:
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);
устарел
Не лезь так далеко, пока ничего не знаешь - http://wiki.vg/Protocol
 
Там тебе все объяснения, для чего этот Integer.
Entity IDVarIntEntity's ID
LocationPositionBlock Position
Destroy StageByte

Все взял оттуда. Пример - new PacketPlayOutBlockBreakAnimation(p.getEntityId(), p.getLocation(), (byte) 5);
хм ... бакит требует 5 integer'ов
The constructor PacketPlayOutBlockBreakAnimation(int, Location, byte) is undefined
Там тебе все объяснения, для чего этот Integer.
Entity IDVarIntEntity's ID
LocationPositionBlock Position
Destroy StageByte

Все взял оттуда. Пример - new PacketPlayOutBlockBreakAnimation(p.getEntityId(), p.getLocation(), (byte) 5);
Код:
@EventHandler
    public void onMove(PlayerMoveEvent e){
        Player p = e.getPlayer();
        PacketPlayOutBlockBreakAnimation pack = new PacketPlayOutBlockBreakAnimation(p.getEntityId(), p.getLocation(), (byte) 5);
    }
Вот код , может я ошибся .
 
хм ... бакит требует 5 integer'ов
The constructor PacketPlayOutBlockBreakAnimation(int, Location, byte) is undefined

Код:
@EventHandler
    public void onMove(PlayerMoveEvent e){
        Player p = e.getPlayer();
        PacketPlayOutBlockBreakAnimation pack = new PacketPlayOutBlockBreakAnimation(p.getEntityId(), p.getLocation(), (byte) 5);
    }
Вот код , может я ошибся .
Хмм, какое у тебя ядро? Под какой NMS пишешь?
 
Хмм, какое у тебя ядро? Под какой NMS пишешь?
rSN6Lsc.png

Не стоит забывать что я нубяра )) но я так понимаю ты про это
Eclipse ....
 
Последнее редактирование:
Но без bukkit не работает (CraftPlayer) и (CraftServer)
А spigot-patched для title'ов , actionbar ...
Уже пытался сделать через ProtocolLib но там все ещё хуже
ПЛИАААААТЬ. НАХЕРА СТОЛЬКО БИБЛИОТЕК? Оставляй только craftbukkit-1.7.5
Все ! Эту тему можно закрывать . Вот в чем была проблема:

Код:
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 ???
 
If you need to display several break animations at the same time you have to give each of them a unique Entity ID.
Maybe?..
 
If you need to display several break animations at the same time you have to give each of them a unique Entity ID.
Maybe?..
Yea , i'm understood this . Но все же ты знаешь русский :D
Я разобрался с этим вроде , если отправить трещины с одним Entity ID на два разных блока то они будут отображаться только на одном .
Теперь тема окончательно закрыта)
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх