Итак, сегодня перед нами стоит достаточно интересная задача — требуется создать механизм, способный изымать определённое количество игровой валюты у игрока и получать сигнал после успешной оплаты. Естественно, если мы говорим о механизмах, которые могут быть построены в выживании, количество вариантов у нас ограничено. В таких случаях чаще всего используются системы сортировки, основанные на особенностях воронок. Однако, если мы имеем доступ к командным блокам, схему приёма оплаты можно реализовать намного проще. Сегодня мы рассмотрим один из возможных вариантов создания подобного механизма.
Итак, сигнал на вход будет подаваться только в том случае, если мы можем изъять у нужного нам игрока определённое количество игровой валюты. В качестве этой валюты будут выступать 2 алмаза (minecraft:diamond). Для реализации такой логики нам потребуется команда /clear, предназначенная для очистки инвентаря игрока. В версии Minecraft 1.8 (Снапшоты) появилась возможность изымать у игрока определённые предметы. Давайте рассмотрим финальную команду:
/clear @p[x=0,y=0,z=0,r=1] minecraft:diamond 0 2
Итак, давайте разберём написанную выше команду по частям: /clear — название команды. Указанное название используется для очистки инвентаря игрока.
@p[x=0,y=0,z=0,r=1] — селектор. С его помощью мы выбираем нужного нам игрока. Критерии x, y и z отвечают за координаты игрока, а r — за радиус, в котором будут искаться новые цели.
minecraft:diamond — алфавитное название изымаемого предмета. В данном случае мы указываем, что будем изымать алмазы. Учтите, использование идентификаторов в данном случае недопустимо.
0 — дополнительный параметр. Например, если мы собираемся изымать определённый цвет шерсти, то мы должны будем указать цифру, соответствующую нужному цвету.
2 — Количество предметов. Поскольку мы собираемся изымать 2 алмаза, мы должны указать эту цифру. Если бы нам требовалось забрать один предмет, указывать цифру 1 было бы необязательно. Отлично! Нам остаётся только снимать сигнал с командного блока с необходимой командой при помощи компаратора. Также, предлагаю Вам посмотреть видео на эту тему: