Я возился с командными блоками и хочу попробовать сделать торговый автомат XP. Я считаю, что если вы нажмете кнопку с бриллиантом в руке, 1 алмаз будет удален, и вы получите x XP.
Возможно ли это с помощью командных блоков? Если да, то на какие команды мне нужно смотреть? Я уже знаю /xp myAmount @p
, это просто проверка/удаление элементов, которые я не могу получить.
Попробуйте это , Используя /clear
, вы можете сканировать людей на предмет предметов. Если вы хотите удалить определенные элементы, используйте
/clear @p (или )
для Например, на сервере, который не хочет грифинга, у вас могут быть часы, подключенные к командному блоку, установленному на /clear @p minecraft: flint_and_steel
, вы также можете указать, сколько элемента нужно удаления, выполнив /clear @p minecraft: flint_and_steel 3
, это очистит три Flint и Steel.
Я немного опоздал с этим, но это то, что у меня было для меня: в Minecraft 1.8+ у нас есть команда/testfor, вы можете использовать ее для сканирования слотов инвентаря игроков (все или отдельные) для предметов:
example: diamond
/testfor @p {Inventory: [{id: "minecraft : diamond "}]}
для проверки точного количества необходимого элемента, включая:
, Count: #b
в пределах скобок «id»
однако это будет искать только игроков со стопкой точное число, которое вы выберете, что-либо более или менее не подойдет под критерии поэтому для этого приложения это бесполезно.
Для правильной работы вашего торгового автомата я бы рекомендовал установить эту команду в часах поблизости, которые проверяют игроков в определенном диапазоне, чтобы готовая команда выглядела как-то вот так:
/testfor @p [x, y, z, r = 2] {Инвентарь: [{id: "minecraft: diamond"}]}
(xyz находятся прямо перед кнопкой)
подключите это к блоку команд вывода с помощью команды setblock:
/setblock # # # unpowered_repeater
dv для направления вывода, необходимого для кнопки
с пылью красного камня наверху, соединяющейся с torch, который запускает эту команду:
/setblock # # # air
, чтобы очистить пространство, если критерии не соблюдены
то ваш повторитель должен касаться этих команд:
/clear @p diamond 0 3/xp amount @p
Изображение:
Есть разные варианты, которые вы можете есть для сменщика setblock, это всего лишь простая версия для подтверждения концепции.
Вам понадобится 1 кнопка, 3 командных блока и 1 компаратор Redstone.
Первый командный блок:
/clear @p minecraft: diamond 0 1
a компаратор над первым CB и с 2 новыми CB.
Второй командный блок:
/xp @p
последний командный блок:
/fill XYZXYZ minecraft: command_block 0 replace {Command: «/clear @p minecraft: diamond 0 1»}
(Позиция XYZ — позиция первого CB, позиция стыда в команде. X = X)
2
Создайте логический элемент И, используя в качестве A кнопку, а в качестве B — очень быстрые часы, подключенные к командному блоку с
testfor @p { Инвертация: [{id: "minecraft: diamond"}]}
и в качестве вывода
clear @p minecraft: diamond 1 и xp (количество XP) @p
Я не пробовал, но это м должно быть что-то вроде этого. Это также работает, если вы не держите алмаз, а просто имеете его в своем инвентаре.