Перейти к содержанию

Не получается сделать систему счистления с наградой (1.21.11)


Рекомендуемые сообщения

В теме 7 сообщений

В общем у меня есть карта и идея, это симулятор. Только вот не получается сделать обменник, допустим кирку за 50 слитков железа.

У меня есть такой цикл команд (не обращайте внимание на задний план, это уменьшенная версия)

image.png.7fc7416e4ffd1bad8305e04fe87506b8.png

 

1 блок считывает кол-во слитков

/execute as @p store result score @p iron_count run clear @p minecraft:iron_ingot 0

 

2 убирает 50 слитков если они есть

/execute as @p if score @p iron_count matches 50.. run clear @p minecraft:iron_ingot 50

 

3 дает кирку если кол-во слитков > 50 или = 50

/execute as @p if score @p iron_count matches 50.. run give @p diamond_pickaxe

 

4 считывает кол-во и если оно 49 и меньше то пишет в чат "Не хватает слитков!"

/execute as @p if score @p iron_count matches ..49 run tellraw @s {"text":"Не хватает слитков!","color":"red"}

 

5 считывает кол-во слитков и если оно 50 и больше то пишет в чат "Успешно!"

/execute as @p if score @p iron_count matches 50.. run tellraw @s {"text":"Успешно!","color":"green"}

 

Я что то не так сделал? Может это не связано с командами, пишите если знаете причину. Других блоков для расчета на карте нет и не было.

Ссылка на комментарий
Поделиться на другие сайты

Во первых, зачем выполнять команду от лица ближайщего игрока as @p , а потом использовать в качестве селектора вместо @s опять @p? командой execute as @p ты выбираешь игрока от лица которого будут выполняться все последующие команды
Нужно во так:
/execute as @p store result score @s iron_count run clear @s minecraft:iron_ingot 0

/execute as @p if score @s iron_count matches 50.. run clear @s minecraft:iron_ingot 50

/execute as @p if score @s iron_count matches 50.. run give @s diamond_pickaxe
/execute as @p if score @s iron_count matches ..49 run tellraw @s {"text":"Не хватает слитков!","color":"red"}
/execute as @p if score @s iron_count matches 50.. run tellraw @s {"text":"Успешно!","color":"green"}


И во вторых для чего испо льзовать эту змейку из редстоуна? Просто занимает лишнее место, лучше использовать башенку из Цепных безусловных и всегда активных кб

image.png.e24eb12f24339899b4639a6c2a9503c0.png

Ссылка на комментарий
Поделиться на другие сайты

30 минут назад, garmxd сказал:

Во первых, зачем выполнять команду от лица ближайщего игрока as @p , а потом использовать в качестве селектора вместо @s опять @p? командой execute as @p ты выбираешь игрока от лица которого будут выполняться все последующие команды
Нужно во так:
/execute as @p store result score @s iron_count run clear @s minecraft:iron_ingot 0

/execute as @p if score @s iron_count matches 50.. run clear @s minecraft:iron_ingot 50

/execute as @p if score @s iron_count matches 50.. run give @s diamond_pickaxe
/execute as @p if score @s iron_count matches ..49 run tellraw @s {"text":"Не хватает слитков!","color":"red"}
/execute as @p if score @s iron_count matches 50.. run tellraw @s {"text":"Успешно!","color":"green"}


И во вторых для чего испо льзовать эту змейку из редстоуна? Просто занимает лишнее место, лучше использовать башенку из Цепных безусловных и всегда активных кб

image.png.e24eb12f24339899b4639a6c2a9503c0.png

сделал как ты сказал, не работает чёт

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, TO_LAzuriTE сказал:

сделал как ты сказал, не работает чёт

Я не знаю может хоть дашь намек что именно не так, на какой команде все обрывается, какой результат выдают кб? Может банально не создал scoreboard iron_count , как я должен понять причину если нет никаких подробностей. Эти команды у меня прекрасно работают - значит ты что-то делаешь не так

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

вот тебе вариант, не знаю, работает ли он на джаве, но попытка не пытка.

я еще новичок на сайте, поэтому я не знаю как вставлять сообщения или иконки КБ, поэтому все текстом.

 

Первый командный блок (импульс | неусловный | требует редстоун)

execute as (@p) [hasitem={item=iron_ingot,quantity=50..}] run give (@s) diamond_pickaxe

 

Второй командный блок (цепь | неусловный | работает всегда)

execute as (@p) [hasitem={item=iron_ingot,quantity=..49}] run tellraw (@s) {"text":"Не хватает слитков!","color":"red"}

 

Третий командный блок (цепь | неусловный | работает всегда

execute as (@p) [hasitem={item=iron_ingot,quantity=..49}] run tellraw (@s) {"text":"Успешно!","color":"green"}

 

Третий командный блок (цепь | неусловный | работает всегда)

execute as (@p) [hasitem={item=iron_ingot,quantity=50..}] run clear (@s) iron_ingot 50

 

вот и все, главное не забудь то, что на боках у каждого командного блока есть стрелки направления, убедись в том, что каждый командный блок в цепи нацелен на следующий, и тогда даже прошлые варианты сработают.

ТАК ЖЕ ПОВТОРЮ, НЕ УВЕРЕН, ЧТО РАБОТАЕТ НА ДЖАВЕ (на всякий случай)

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
В 01.03.2026 в 14:29, lazurite сказал:

В общем у меня есть карта и идея, это симулятор. Только вот не получается сделать обменник, допустим кирку за 50 слитков железа.

У меня есть такой цикл команд (не обращайте внимание на задний план, это уменьшенная версия)

image.png.7fc7416e4ffd1bad8305e04fe87506b8.png

 

1 блок считывает кол-во слитков

/execute as @p store result score @p iron_count run clear @p minecraft:iron_ingot 0

 

2 убирает 50 слитков если они есть

/execute as @p if score @p iron_count matches 50.. run clear @p minecraft:iron_ingot 50

 

3 дает кирку если кол-во слитков > 50 или = 50

/execute as @p if score @p iron_count matches 50.. run give @p diamond_pickaxe

 

4 считывает кол-во и если оно 49 и меньше то пишет в чат "Не хватает слитков!"

/execute as @p if score @p iron_count matches ..49 run tellraw @s {"text":"Не хватает слитков!","color":"red"}

 

5 считывает кол-во слитков и если оно 50 и больше то пишет в чат "Успешно!"

/execute as @p if score @p iron_count matches 50.. run tellraw @s {"text":"Успешно!","color":"green"}

 

Я что то не так сделал? Может это не связано с командами, пишите если знаете причину. Других блоков для расчета на карте нет и не было.

Ты видишь для себя все слишком сложным. Есть вариант в несколько раз легче:

Введи в чат эту команду:

Спойлер

/summon villager ~ ~ ~ {VillagerData:{type:plains,profession:toolsmith,level:99},Offers:{Recipes:[{buy:{id:iron_ingot,count:50},sell:{id:diamond_pickaxe,count:1}}]},CustomName:["Обменник"],NoAI:1b}

Она призовет жителя с именем "Обменник" который продает алмазную кирку за 50 железных слитков (Изменить можно тут: {Recipes:[{buy(Что купит):{id:твой предмет,count:твое количество},sell(Что даст):{id:твой предмет,count:твое количество}}]},), также он обездвижен, но для красоты можно построить ему лавку.

Надеюсь я тебе помог, если что я проверял на 26.1 но я думаю на 1.21.11 тоже работает, если я не понял твою идею, то прости, а если помог то я могу помочь с другими частями карты(Только у меня тг нет если что))

Ссылка на комментарий
Поделиться на другие сайты

В 12.03.2026 в 10:11, Лонс сказал:

вот тебе вариант, не знаю, работает ли он на джаве, но попытка не пытка.

я еще новичок на сайте, поэтому я не знаю как вставлять сообщения или иконки КБ, поэтому все текстом.

 

Первый командный блок (импульс | неусловный | требует редстоун)

execute as (@p) [hasitem={item=iron_ingot,quantity=50..}] run give (@s) diamond_pickaxe

 

Второй командный блок (цепь | неусловный | работает всегда)

execute as (@p) [hasitem={item=iron_ingot,quantity=..49}] run tellraw (@s) {"text":"Не хватает слитков!","color":"red"}

 

Третий командный блок (цепь | неусловный | работает всегда

execute as (@p) [hasitem={item=iron_ingot,quantity=..49}] run tellraw (@s) {"text":"Успешно!","color":"green"}

 

Третий командный блок (цепь | неусловный | работает всегда)

execute as (@p) [hasitem={item=iron_ingot,quantity=50..}] run clear (@s) iron_ingot 50

 

вот и все, главное не забудь то, что на боках у каждого командного блока есть стрелки направления, убедись в том, что каждый командный блок в цепи нацелен на следующий, и тогда даже прошлые варианты сработают.

ТАК ЖЕ ПОВТОРЮ, НЕ УВЕРЕН, ЧТО РАБОТАЕТ НА ДЖАВЕ (на всякий случай)

Я про то как сделать иконки кб: нажми на смайлик над писанием сообщения, там нажми на категории и выбери Minecraft: Там будут стикеры с кб

Только что, SUPERVANYA5796 сказал:

Я про то как сделать иконки кб: нажми на смайлик над писанием сообщения, там нажми на категории и выбери Minecraft: Там будут стикеры с кб

Например вот: :Impulse_Unconditional::Chain_Unconditional::Chain_Unconditional::Chain_Unconditional:

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...