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

Помогите Объяснение .setMetadata()

BeYkeR

Старожил
Девелопер
Пользователь
Баллы
173
Несмотря на свой какбэ опыт "Продвинутого пользователя" у меня как-то все равно появляются глупые вопросы :D. Вопрос: Объясните мне пожалуйста как пользоваться .setMetadata() и для чего он вообще нужен ?
 
Похоже на ассоциативный массив (key->value) прикреплённый к объекту, обычно упоминается в кросс плагином взаимодействие.
Доки: http://jd.bukkit.org/rb/apidocs/org/bukkit/metadata/Metadatable.html
Но это говорит о не многом.
Присоединяюсь к вопросу. Особенно интересует время жизни (н-р: сохранение после перезахода), внутренние ограничения и скорость.
Вики: http://wiki.bukkit.org/Plugin_Tutorial#Metadata
 
Похоже на ассоциативный массив (key->value) прикреплённый к объекту, обычно упоминается в кросс плагином взаимодействие.
Доки: http://jd.bukkit.org/rb/apidocs/org/bukkit/metadata/Metadatable.html
Но это говорит о не многом.
Присоединяюсь к вопросу. Особенно интересует время жизни (н-р: сохранение после перезахода), внутренние ограничения и скорость.
Вики: http://wiki.bukkit.org/Plugin_Tutorial#Metadata
Так и есть, это key-value хранилище.
Но оно глобальное а не прикреплённое к объекту.
метадата об объекте сбрасываетя при выходе, при уничтожении, при анлоаде энтити, а также при перезагрзке сервера сервера.
Скорость как у хэшапа в хэшпапе, то бишь достаточно быстро.

По крайней мере такая реализация была в 1.6.4, в 1.7.2 не смотрел были ли изменения или нет.

С блоками та же самая байда, только в качестве ключа используется расположение блока, а не сам блок.
 
Всё таки оно крепится к объекту - энтети. Смотрите пример из Вики. Возможно и существует глобальный МетаДата, я не искал ещё. Хотя... похоже там глобальный хешмап с ключами UID в котором хешмап с пользовательскими ключами.

С каких пор ХешМапы быстрые? они всегда были медленными, особенно по не примитивным ключам. А уж хешмапы в хешмапе...
 
В реальности это глобальное хранилище.
А хешмапы достаточно быстрые, хеширование ключа дотаточно быстрое.
 

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

Назад
Верх