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

Помогите Отменить гравитацию для песка

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

DmitriyMX

Старожил
Пользователь
Баллы
153
Доброго времени суток, разработчики и просто умные люди:)

Сталкнулся тут с проблемой отмены "физики" для песка/гравия, но вылучается какая-то чушь. Написал вот такой простой код:
Код:
@EventHandler
public void onBlockPhysics(BlockPhysicsEvent event){
  event.setCancelled(true);
}
Казалось бы, куда уже проще: любое физическое событие "выключается". А вот фигушки! Песок продолжает падать как и раньше(т.е. ставлю песок, а он падает вниз).

Есть идеи, почему так происходит и как всё таки "отключить графитацию" для песка и/или гравия?

для особо умных...
- не мучайся и возьми {имя_плагина}, там это реализовано!
Спасибо, но я здесь по вопросу разработки, а не по поиску плагинов.

- конфликт с другими плагинами
Какие еще "другие плагины", когда на локальном сервере только один плагин работает?

- Гугл в помощь
Если бы Великий Google ответил бы мне на этот вопрос, не стал бы здесь просить помощи

- моды мешают
Исключено. Чистый CraftBukkit 1.2.5-R4.0
 
Куда код пихал? Редактировать скорее всего надо сам блок в клиенте...
 
А там эта настройка помогает? Физика отключается?Кстати когда новые уроки?
 
В WG тоже не работает(как надо). Сейчас ковыряюсь в кишках сервера(CraftBukkit/BukkitAPI) пытаясь найти причину... Предлагаете закрыть тему?
 
Можно попробовать прописать что-то вроде этого:
Код:
@EventHandler()
public void onEntityEvent(EntityEvent e){
    if(e.getEntity.equals(entity.FallingSand)e.setCancelled(true);
}
 
Код:
entity.FallingSand
Это из какого импорта?

Код:
e.setCancelled(true);
У EntityEvent нет метода setCancelled

Плюс ко всему на событие EntityEvent нельзя поставить обработчик. Обычным способом(сейчас пытаюсь через костыль)
 
physics:
no-physics-gravel: false
no-physics-sand: false
allow-portal-anywhere: false
disable-water-damage-blocks:
заменяем на:
physics:
no-physics-gravel: true
no-physics-sand: false
allow-portal-anywhere: false
disable-water-damage-blocks:
 
Пролистал забугорные форумы - никак. Только через костыль из камня(например). Отправлять нужно при установке блока, а через пару таков восстанавливать.
 
находится в папке worldguard файл config.yml
Ты сам проверял? Нет? Вот и не умничай. И читай внимательнее: при установки блока, а не когда блок уже поставлен, балбес...:fp:

Пролистал забугорные форумы - никак. Только через костыль из камня(например). Отправлять нужно при установке блока, а через пару таков восстанавливать.
Не, это всё таки костыль, при чем не качественный:), но спасибо за попытку помочь
 
Ты сам проверял? Нет? Вот и не умничай. И читай внимательнее: при установки блока, а не когда блок уже поставлен, балбес...:fp:


Не, это всё таки костыль, при чем не качественный:), но спасибо за попытку помочь
Можно ещё как-то попытаться. Допустим создать свои события...
P.S. А по моему это косяк самого craftbukkit'а.
 
Можно ещё как-то попытаться. Допустим создать свои события...
P.S. А по моему это косяк самого craftbukkit'а.
Это и есть косяк буккита (даже где-то наодил жалобу в багтрекере), который я нашел(нашел багнутый код) и сейчас пытаюсь исправить.

В связи с этим, тему можно закрывать.
 
Падающий песок - это энтити (грубо говоря моБ). Просто в коде убрать превращение в энтити, если под ним нету блока.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх