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

Помогите АНИМАЦИЯ РАЗРУШЕНИЕ БЛОКА (УРОН БЛОКУ)

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

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

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    ПЛИЗЗЗ помогите я пишу плагин надо запретить анимацию определенного блока как это сделать
    @EventHandler
    public void onBlockDamage(BlockDamageEvent e){ // От мусора

    int x=e.getBlock().getX();
    int y=e.getBlock().getY();
    int z=e.getBlock().getZ();
    String user=e.getPlayer().getName();

    try {
    if (DB.ReadDB(user,x, y, z))
    {e.getPlayer().sendMessage("Твой блок");}
    else
    {
    e.getPlayer().sendMessage("Это не твой блок");

    // [ ОТМЕНИТЬ АНИМАЦИЮ БЛОКА]

    }
    } catch (ClassNotFoundException | SQLException e1) {}


    }
     
  2. Хостинг MineCraft
    <
  3. unlimited

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

    Баллы:
    123
    Имя в Minecraft:
    infinity
    e.SetCanceled(true);
     
  4. Автор темы
    almohax

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    сам то пробовал, это не катит[DOUBLEPOST=1417293001,1417292957][/DOUBLEPOST]вообще на нее не реагирует и продолжает разрушать блок
     
  5. unlimited

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

    Баллы:
    123
    Имя в Minecraft:
    infinity
    Вроде этот эвент работает на все блоки, кроме не solid'ных(стекло, полублоки, глоустоун и т.д.)
     
  6. Автор темы
    almohax

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    от этого анимация не пропадет, я хочу избавится от гр****ных промежутков между сломанным блоком и восстановленном, игроки поставить кровать или открыть сундук или в чужой прибор зайти , от этого спасает только избавление анимации , или на игрока какой то эффект повесить чтоб он не мог блоки ломать[DOUBLEPOST=1417293990,1417293868][/DOUBLEPOST]или может сменить параметры блока , есть идеи?[DOUBLEPOST=1417301512][/DOUBLEPOST]кароче я нашел решение эфект вешать

    PotionEffect weak = PotionEffectType.SLOW_DIGGING.createEffect(999999999, 10);
    p.addPotionEffect(weak, true);
    ну я считаю все равно это не правильно
     
  7. makssof

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

    Баллы:
    103
    Skype:
    makssofez
    Как вариант - менять гм на адвенчур, а потом обратно.
     
  8. Автор темы
    almohax

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    хм неплохой вариант возникает другой вопрос какое событие отвечает за обжатие кнопки мыши[DOUBLEPOST=1417374292,1417366327][/DOUBLEPOST]не катит некоторые блоки все токи ломаются
     
  9. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    2 единственных варианта - эффект зелья и мод клиента
     
  10. Автор темы
    almohax

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    есть еще вариант преоброзовывать блок в бедрок когда ломают, но есть одно но когда игрок перестает бить надо блок восстановить , какое событие отвечает за отжатие левой кнопки мыши , я уже все перерысскал .
    И еще вопрос , я понимаю анимация это только мод но вообще реально как то передать данные моду чтоб анимация прекращалась? это было бы идеальным решением , кто то может помочь в этом вопросе.
     
  11. BeYkeR

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

    Баллы:
    173
    Может пакеты ?
     
  12. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Мод общается с сервером и в случае отрицательного ответа на вопрос "можно ли ломать?" отменять поломку блока(модом).
     
  13. Автор темы
    almohax

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    это и ежу понятно, но к чему мод обращаться должен чтобы проверку делать
    надо переменную отмены куда то запихивать в самого игрока[DOUBLEPOST=1417427645,1417423840][/DOUBLEPOST]я просто пишу плагин типа LWC (так как LWC работает не корректно иногда пропадают приваты) но чтобы блоки нельзя были рушить с анимацией + самое главное авто чистка мира от блоков игрока если игрок не играет в течение 15 дней
    регестрируются все установленные блоки но те которые указаны в конфиге будут защищены от разрушения.
    и самая недостающая деталь это именно убирать анимации блока разрушение
    Кто может помочь с частью мода на проверку и отмены разрушения
     
  14. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    А как тогда по вашему узнать, можно ли ломать или нет? Хотите этого или нет, но моду получить информацию понадобится с сервера, неважно какую, но понадобится.
     
  15. Автор темы
    almohax

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    это понимаю кто помочь может? именно с момом а плагинную часть я навояю
     
  16. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    пакетом отправить игроку этот блок как падающий песок без движения с тайлом блока.
    Костыльно, муторно, убожественно, с кучей говнокода, но это всё же более привлекательное решение, чем вешать эффект/писать мод/стоять за спиной игрока.
     
  17. Автор темы
    almohax

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    А пример можеш дать как это реализовать
     
  18. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Я только догадываюсь, поскольку под ведро мало кодил. Но чую, соплей много будет :D
     
  19. Автор темы
    almohax

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

    Баллы:
    68
    Имя в Minecraft:
    almohax
    эффект я уже сделал , а то что на 1 тик это как то не очень прокатывает я просто снимаю эффект когда он клацает в другом месте.

    в общем что сделано
    1)все установленные блоки игроком регистрируются в базе - готовность 100%
    2)приватные блоки считаются только те которые указанны в конфиге (в любой момент можно добавить id блока и он автоматом станет заприваченным) - готовность 100%
    3)нет пустых приватных блоков как в LWC - готовность 100%
    4)при попытки сломать чужой блок или открыть его накладывается эффект - готовность 100%
    5)авто чистка мира от блоков игрока если он отсутствует более 15 дней либо закончился срок действия випа
    работает с базой как на сервере так и привязка к сайту - готовность 50%
    6)если заприваченный блок падает он ригестрируется в месте падения - готовность 00%
    7)подвязка к CreeperHeal - нельзя установить блок на месте взрыва

    8) хочу переделать 4 пункт чтоб не эффект было а не посредственно блочило удары игрока ПОМОГИТЕ С ЭТИМ ПУНКТОМ
     
  20. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Мысль свою не закончил, но имел в виду именно при ударе. А чтобы нельзя было пройти через падающий блок, мы... оставим оригинальный блок, или же поставим другой. А падающий блок поставим так, чтобы нельзя было достучаться до оригинального блока.
     
  21. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    PlayerInteractEvent?
     

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