lazurite Опубликовано 1 марта Поделиться Опубликовано 1 марта В общем у меня есть карта и идея, это симулятор. Только вот не получается сделать обменник, допустим кирку за 50 слитков железа. У меня есть такой цикл команд (не обращайте внимание на задний план, это уменьшенная версия) 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"} Я что то не так сделал? Может это не связано с командами, пишите если знаете причину. Других блоков для расчета на карте нет и не было. Ссылка на комментарий Поделиться на другие сайты Поделиться
garmxd Опубликовано 1 марта Поделиться Опубликовано 1 марта Во первых, зачем выполнять команду от лица ближайщего игрока 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"} И во вторых для чего испо льзовать эту змейку из редстоуна? Просто занимает лишнее место, лучше использовать башенку из Цепных безусловных и всегда активных кб Ссылка на комментарий Поделиться на другие сайты Поделиться
lazurite Опубликовано 1 марта Автор Поделиться Опубликовано 1 марта 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"} И во вторых для чего испо льзовать эту змейку из редстоуна? Просто занимает лишнее место, лучше использовать башенку из Цепных безусловных и всегда активных кб сделал как ты сказал, не работает чёт Ссылка на комментарий Поделиться на другие сайты Поделиться
garmxd Опубликовано 1 марта Поделиться Опубликовано 1 марта 1 час назад, TO_LAzuriTE сказал: сделал как ты сказал, не работает чёт Я не знаю может хоть дашь намек что именно не так, на какой команде все обрывается, какой результат выдают кб? Может банально не создал scoreboard iron_count , как я должен понять причину если нет никаких подробностей. Эти команды у меня прекрасно работают - значит ты что-то делаешь не так Ссылка на комментарий Поделиться на другие сайты Поделиться
Лонс Опубликовано 12 марта Поделиться Опубликовано 12 марта вот тебе вариант, не знаю, работает ли он на джаве, но попытка не пытка. я еще новичок на сайте, поэтому я не знаю как вставлять сообщения или иконки КБ, поэтому все текстом. Первый командный блок (импульс | неусловный | требует редстоун) 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 вот и все, главное не забудь то, что на боках у каждого командного блока есть стрелки направления, убедись в том, что каждый командный блок в цепи нацелен на следующий, и тогда даже прошлые варианты сработают. ТАК ЖЕ ПОВТОРЮ, НЕ УВЕРЕН, ЧТО РАБОТАЕТ НА ДЖАВЕ (на всякий случай) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тут не было Supervanya Опубликовано 4 апреля Поделиться Опубликовано 4 апреля В 01.03.2026 в 14:29, lazurite сказал: В общем у меня есть карта и идея, это симулятор. Только вот не получается сделать обменник, допустим кирку за 50 слитков железа. У меня есть такой цикл команд (не обращайте внимание на задний план, это уменьшенная версия) 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 тоже работает, если я не понял твою идею, то прости, а если помог то я могу помочь с другими частями карты(Только у меня тг нет если что)) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тут не было Supervanya Опубликовано 4 апреля Поделиться Опубликовано 4 апреля В 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: Там будут стикеры с кб Например вот: Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 7 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти