Нужна помощь с созданием команд в Minecraft
Нужна помощь с созданием команд в Minecraft. Играем на сервере с датапаком blaze and caves и пытаемся создать свою экономику. Мы хотим чтобы за каждое выполненное достижение человек получал следующий предмет: gold_nugget[custom_name='["",{"text":"Чеканы","italic":false,"bold":true}]',enchantments={levels:{unbreaking:1}}]
Нужно чтобы каждый игрок получал награду 1 раз за одно достижение, и, соответственно, чтобы награда выдавалась только ему, а не всем игрокам. Какие есть способы реализации этой системы?
Для реализации системы наград за достижения в Minecraft с использованием команд и датапака Blaze and Caves, можно использовать следующие шаги:
1. Создание достижения: Сначала вам нужно установить достижения. Вы можете использовать команду /advancement для создания пользовательских достижений, если у вас есть доступ к редактированию кода или структуры дата-паков.
2. Использование команд для выдачи награды: Используйте командные блоки или функции, чтобы автоматически выдавать награду при получении достижения. Например, команда для выдачи предмета:
/give @p gold_nugget{CustomModelData:1, display:{Name:'{"text":"Чеканы","italic":false,"bold":true}'}, Enchantments:[{id:"minecraft:unbreaking",lvl:1}]} 1
3. Система отслеживания: Чтобы награда выдавалась только один раз за достижение, вам нужно использовать scoreboard (счетчики). Создайте счетчик для каждого достижения, например:
/scoreboard objectives add получил_чеканы minecraft:custom:minecraft:breach
Здесь breach - это ваше достижение.
4. Условие для выдачи: Используйте условие, чтобы проверить, есть ли у игрока уже данный счетчик:
/execute as @a[scores={получил_чеканы=0}] run give @s gold_nugget{CustomModelData:1, display:{Name:'{"text":"Чеканы","italic":false,"bold":true}'}, Enchantments:[{id:"minecraft:unbreaking",lvl:1}]} 1
/scoreboard players set @s получил_чеканы 1
5. Установка командного блока: Такие команды можно вставить в командный блок, чтобы они выполнялись при выполнении достижения. Вам также может потребоваться настроить повторяющиеся командные блоки или цепочки, чтобы отслеживать достижения и их выполнение.
6. Проверка состояния: Обновите состояние достижения и добавьте логику для проверки, было ли уже выполнено достижение каждым игроком.
Таким образом, вы сможете создать систему наград, основанную на достижениях. Обязательно протестируйте ее, чтобы убедиться, что все работает корректно и что игроков не могут обмануть или получить награду повторно.