Дум, спасибо - положил оплату в один из твоих ящиков с хламом на спауне
А ещё админу нужна помощь с настройкой убийства жителей
Т.к. нам надо килять не просто стандартных жителей, а всех, которые не удовлетворяют нашим условиям (в том числе и устаревших искусственных), то мне нужно настроить правильно командный блок и, если это возможно, яйцо призывания жителей.
1. Яйцо призывания жителей.
- я бы хотел, чтобы жители выдавались не просто командой, а командой, которая бы выдавала яйцо призывания жителя с определёнными параметрами (по примеру выдачи командного блока с уже вписанной командой или спауна мобов с определёнными характеристиками);
- если это возможно, то за пример такой команды выдачи спец.яйца для бессмертного глиномеса я бы заплатил 4 стека изумрудных блоков
2. Проверка жителей по определённым параметрам.
- чтобы контролировать жителей и убивать всех неверных, мы как-то давно придумали их проверять по определённому параметру;
- для примера мы взяли количество жизней: надо убивать всех жителей, у которых количество жизней меньше заданного (что-то мне сейчас кажется, что это невозможно);
- в общем, мне нужен любой универсальный способ идентификации жителей: хоть стандартные параметры, хоть присвоение переменной;
- в итоге нужна команда в командный блок, которая будет телепортить тестового жителя на пару клеток вверх, но только определённого жителя с заданными при спауне из спец.яйца характеристиками:
/tp @e[r=30,type=Villager] ~0 ~3 ~0
Вот, куда тут вписывать проверку и главное - что и как проверять?
Что мы можем сами ручками задавать??
За эту часть работы готов заплатить 8 стеков изумрудных блоков
Может, как-то поможет команда /entitydata??
Решение проблемы: В Minecraft есть возможность добавлять любые entity (жители, дроп, вагонетки, броне-стойки) в scoreboard команды (тимы).
1. Добавляем команду (тиму): /scoreboard teams add SpecVillagers (любое название)
2.Создаем командный блок с командой /kill @e[type=Villager,team=!SpecVillagers]
и ставим его к источнику "каждотиковых" импульсов.
! знак перед названием команды означает что, чтобы команда сработала, объект не должен состоять в команде SpecVillagers.
3. Чтобы создавать таких Спец. Жителей ставим цепочку из двух командных блоков: Первый - /summon Villager ~ ~1 ~ ... Второй - /scoreboard teams join SpecVillagers @e[type=Villager,r=2] - добавляет Жителя в радиусе 2 блоков в команду.
Если создавать жителя не цепочкой, то житель умрет до того как его добавят в команду (тиму).
4.Изменять параметры (цены) не убивая жителя с помощью
/entitydata @e[type=Villager,team=SpecVillagers] {Те же параметры что и в /summon} - Изменяет сразу всех Спец. Жителей
Посмотреть все возможные параметры у жителя можно так:
Ставим командный блок =>
Вбиваем /entitydata @e[r=2] {} =>
Далее ставим жителя на командный блок =>
Активируем командный блок и в нижней строке выдает всю информацию о этом существе.
Плюсы этого механизма:
1. Игроки могут переименовывать жителей.
2.Список всех живых Спец. Жителей (а точнее их UUID) можно узнать командой /scoreboard teams list SpecVillagers
3. Через этот же список можно удалять жителей, которые будучи вне команды (тимы) умрут от /kill
4. Есть возможность удалить сразу всех Спец. Жителей с карты /scoreboard teams empty SpecVillagers.
Насчет яйца призывания можно так:
1.Игрок покупает обычное яйцо призывания с названием "Житель из пробирки"
/give @p spawn_egg 1 120 {display:{Name:"Villager"},}
2.Создаем командный блок с командой
/execute @e[name=Villager] ~ ~ ~ /scoreboard teams join SpecVillagers @e[name=Villager] (параметр name только с маленькой буквы) и ставим его к источнику "каждотиковых" импульсов - и теперь все мобы с именем "Villager" (Только на английском, на русском не получается) при следующей смене цен станет Спец. Жителем.