Проверьте, есть ли у игрока предмет, если да, удалите его

Я возился с командными блоками и хочу попробовать сделать торговый автомат 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  

Я не пробовал, но это м должно быть что-то вроде этого. Это также работает, если вы не держите алмаз, а просто имеете его в своем инвентаре.

Оцените статью
Gamicon.ru
Добавить комментарий