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

Помогите Увеличение

JustBlender

Старожил
Девелопер
Пользователь
Баллы
123
Имя в Minecraft
JustBlender
Приветствую вас! Мне нужна ваша помощь, сейчас я занимаюсь одним плагином и хочу реализовать "прицел" (увеличение) с помощью эффект Slowness переключающийся левым кликом по деревянной мотыге, но я не знаю как :/ Надеюсь поможите, желательно с уже готовым кодом ;) Плагины остальные не предлагать!
 
Лови нажатие левой кнопкой мыши на воздух и блок деревянной мотыгой и давай эффект медлительности.
 
PlayerInteractEvent и затем проверяйте условие event.getAction()
 
PlayerInteractEvent и затем проверяйте условие event.getAction()
Да это я знаю, мне еще нужна возможность переключения (включил левым кликом прицел, то если еще раз нажму, мне нужно чтобы эффект убрался с игрока! Как мне сделать переключение? Мои знания Java становятся все хуже и хуже...
 
Попробуйте при включении проверять есть ли у этого игрока определенная метадата. Если нет, добавляй ее и включай прицел. Если есть, удаляй ее и выключай ее. Метадата добавляется:
Код:
(Metadatable)object.setMetadata(String название, FixedMetadataValue значение). FixedMetadataValue = new FixedMetadataValue(Plugin плагин, Object значение)
Убирается:
Код:
(Metadatable)object.removeMetadata(String название, Plugin плагин)
 
Попробуйте при включении проверять есть ли у этого игрока определенная метадата. Если нет, добавляй ее и включай прицел. Если есть, удаляй ее и выключай ее. Метадата добавляется:
Код:
(Metadatable)object.setMetadata(String название, FixedMetadataValue значение). FixedMetadataValue = new FixedMetadataValue(Plugin плагин, Object значение)
Убирается:
Код:
(Metadatable)object.removeMetadata(String название, Plugin плагин)
Запутанно, такое мне не нужно. Посмотрим другие варианты.

ЗЫ. Негодяй, подписи воровать! ;)
 
В хешмапе хранить тру/фолс в зависимости от приближения. Или проверять наличие эффекта.
 
ЗЫ. Негодяй, подписи воровать! ;)
:whistle:
В хешмапе хранить тру/фолс в зависимости от приближения. Или проверять наличие эффекта.
Через Хешмапу не пробовал. Проверять наличие эффекта: его могут и зельем наложить.

Советую попробовать обеими способами. Метадата хороша тем, что удаляется при исчезновении носителя, т. е. игрок вышел и все, метадаты как не бывало. А с хешмапой труднее. Там при заходе на сервер проверять есть ли такой игрок в хешмапе, если есть то включен ли эффект... А если плагин годами не вырубается!
 
При выходе игрока у меня все хешмапы сохраняются в БД и при входе восстанавливаются. При смерти большинство очищается.
 
Еще один плюс метадаты: хешмапа может разрастаться до огромных размеров если куча игроков один раз зашли и вышли через 5 минут...
 

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

Назад
Верх