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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    173
    Может пакеты ?
     
  12. Den_Abr

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

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

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

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

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

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

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

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

    Dereku Старожил

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

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

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

    Dereku Старожил

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

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

    Trophy Points:
    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 Старожил

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

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

    Trophy Points:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    PlayerInteractEvent?
     

Share This Page