Можете написать, пожалуйста, атрибуты к данным командам, или же дать ссылки на них:
/achievement
/blockdata
/clear
/clone
/effect
/enchant
/entitydata
/execute
/fill
/gamerule
/give
/kill
/particle
/playsound
/replaceitem
/scoreboard
/setblock
/setworldspawn
/spawnpoint
/spreadplayers
/stats
/sound
/summon
/tellraw
/testfor
/testforblock
/testforblocks
/time
/title
/tp
/trigger
/weather
/worldborder
/xp?

Голосование за лучший ответ

Штудируй Wiki плагина Essentials, все его команды.

Источник: otvet.mail.ru

Рассматриваем системные атрибуты.

Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(Qnix сломал счётчик популярности :(

Как использовать команду attribute в майнкрафт. Всё о новой команде.




Итак, для редактирования уже заложенных в игру данных, нам потребуется умение работать с NBT тегами. Давайте разберём сами атрибуты — скрытые свойства мобов и предметов.

generic.maxHealth — атрибут, отвечающий за максимальное количество здоровья у моба. Измеряется в половниках сердец.

generic.followRange — атрибут, отвечающий за то, как далеко моб сможет следить за игроками. Измеряется в блоках.

generic.knockbackResistance — атрибут, отвечающий за сопротивление урону. Значение 1.0 даёт полный иммунитет к урону.

generic.movementSpeed — атрибут, отвечающий за скорость перемещения моба. Не стоит забывать, что на моба может влиять и эффект скорости.

generic.attackDamage — атрибут, отвечающий за урон, наносимый мобом. Измеряется в половниках сердец.

Атрибут и где его можно использовать

horse.jumpStrength — атрибут, отвечающий за высоту прыжков лошади. Может применяться только к лошадям.

zombie.spawnReinforcements — атрибут, отвечающий за вероятность того, что при атаке зомби призовёт ещё одного зомби на помощь. Применяется только к зомби.

Изменение атрибутов производится с помощью массива AttributeModifiers и параметров AttributeName (Название атрибута в системе), Name (Любое название атрибута), Amount (Значение), Operation (Алгоритм, по которому будет рассчитываться финальное значение. Описано на WIKI. Это тема отдельного урока.), UUIDMost и UUIDLeast (Расположение параметров в системе. Выбирайте широкий диапазон.).

Читайте также:  Как создать лодку в Майнкрафте с веслами

На этом всё, спасибо за внимание

________________

[ Ссылки могут видеть только зарегистрированные пользователи. ]
[ Ссылки могут видеть только зарегистрированные пользователи. ]
Репутацию и друзей купить нельзя, а для остального есть WebMoney

Источник: zhyk.org

IAttribute DataWatcher/DataManager» />

Здравствуйте. В этом туториале речь пойдёт об атрибутах и менеджере данных, которые используются для реализации свойств сущностей, о том как они применяются в игре и продемонстрирую создание собственного свойства для игрока, аналогичного запасу здоровья или опыта. Рассмотренный здесь пример доступен в моём репозитории: 1.7.10, 1.12.2.


IAttribute & DataWatcher/ DataManager ​

Обычно для добавления новых свойств сущностям используется IExtendedEntityProperties (IEEP)(до 1.9) и Capability (1.9+). Однако если нужно добавить только одно или несколько новых свойств, стоит обратить внимание на то как они реализованы в стандартной игре. На атрибутах (IAttribute) и менеджере данных (DataWatcher до 1.9, DataManager с 1.9) строится ванильная система свойств сущностей и у нас есть возможность использовать её для своих нужд. Преимущества — это проще настройки IEEP/Capability и нет необходимости использовать пакетную систему для синхронизации с клиентом.

Атрибуты или IAttribute

IAttribute представляет собой интерфейс, который использует система атрибутов для сущностей. В игре используется реализация RangedAttribute, представляющая значение типа double, ограниченное верхним и нижним значениями.

Атрибуты – это система свойств для мобов и игроков. Определённый атрибут может управлять заданным свойством объекта. Он имеет базовое значение и границы, в которых это значение заключено и может изменяться с помощью модификаторов.

Так как атрибут (реализация IAttribute) лишь представляет значение с минимальным описанием (имя, базовое значение, границы и т.д.), то для его ассоциации с мобом или игроком используется объект ModifiableAttributeInstance (реализующий IAttributeInstance), хранящийся в регистрах атрибутов AttributeMap.

Для добавления атрибута необходимо создать экземпляр RangedAttribute, и зарегистрировать его в AttributeMap в процессе инициализации с помощью метода EntityLivingBase#getAttributeMap()#registerAttribute(IAttribute) .

Получить существующий атрибут можно вызвав EntityLivingBase#getAttributeMap()#getAttributeInstance(IAttribute) или EntityLivingBase#getAttributeInstance(IAttribute) .

Для модификации аттрибута небходимо создать экземпляр AttributeModifier и применить его используя EntityLivingBase#getAttributeInstance(IAttribute)#applyModifier(AttributeModifier) . Удалить модификатор можно с помощью EntityLivingBase#getAttributeInstance(IAttribute)#removeModifier() используя в качестве параметра либо ссылку на добавленный AttributeModifier, либо его UUID (для 1.7 и более ранних версий только ссылку).

Модификаторы сохраняются в NBT автоматически.

DataWatcher

Для версий до 1.9

DataWatcher – это система управления изменяемыми данными для всех сущностей в игре. Он контролирует некоторые параметры, автоматически синхронизируя значения с клиентом. Каждая сущность может иметь до 32 таких параметров.

В качестве отслеживаемой единицы используются примитивные типы (оболочки) byte, short, int, float , String и ItemStack.

Чтобы добавить для сущности новый параметр нужно использовать метод Entity#getDataWatcher()#addObject() и в качестве параметров задать идентификатор и базовое значение параметра. Так как количество параметров ограничено нужно стараться исключить конфликты с существующими параметрами и теми, которые могут добавлять другие модификации (используя ASM трансформеры можно увеличить максимальное количество параметров с 32 до желаемого).

Для получения текущего значения используются соответствующие методы для поддерживаемых типов данных Entity#getDataWatcher()#getWatchableObjectByte(), Entity#getDataWatcher()#getWatchableObjectShort(), Entity#getDataWatcher()#getWatchableObjectString() и т.д., для изменения Entity#getDataWatcher()#updateObject() . Нужно внимательно следить за используемыми типами данных для избежания ошибок.

Значения собственных параметров требуется вручную сохранять в NBT и загружать оттуда. Делать это удобно при срабатывании эвентов PlayerEvent.SaveToFile и PlayerEvent.LoadFromFile (для игрока).

DataManager

Для версий 1.9+.

DataManager – это система управления изменяемыми данными для всех сущностей в игре, пришедшая на смену DataWatcher. Он контролирует такие параметры как имя, здоровье, урон, активные эффекты и т.д, автоматически синхронизируя значения с клиентом. Каждая сущность может иметь до 255 параметров менеджера данных.

В качестве отслеживаемой единицы используются обощённые объекты DataParameter, способные принимать значения примитивов byte , int , float , boolean (их оболочки), значения String , ItemStack , BlockPos , Facing , NBTCompoundTag и многое другое. Кроме того есть возможность добавить собственный тип данных, однако потребуется написать для него свой DataSerializer.

Чтобы добавить для сущности новый параметр нужно создать экземпляр DataParameter, используя EntityDataManager#createKey(Entity.class, DataSerializer) и зарегистрировать во время инициализации через Entity#getDataManager()#register(DataParameter, baseValue) .

Для получения текущего значения используется метод Entity#getDataManager()#get() , для изменения Entity#getDataManager()#set() .

Значения собственных параметров требуется вручную сохранять в NBT и загружать оттуда. Делать это удобно при срабатывании эвентов PlayerLoggedOutEvent и PlayerLoggedInEvent (для игрока).

Создание нового свойства

Наглядным примером может стать реализация стандартных свойств для сущностей. Например запас здоровья имеет атрибут SharedMonsterAttributes.maxHealth , который определяет его текущий максимальный запас и границы и параметр для DataWatcher с идентификатором 6.

Я покажу как создать аналогичное свойство для игрока на примере «жажды». Жажда будет увеличиваться при беге и ходьбе в присяди, утолить её можно будет поеданием долек арбузов, яблок и питьём воды или зелий. Кроме того у неё будет собственная полоска заполнения над «сытостью».

Начнём с атрибута. Объявление и регистрацию новых атрибутов я разместил в новом классе PropertiesRegistry:

Источник: forum.mcmodding.ru