Вы используете устаревший браузер

Ваш браузер устарел, и поэтому некоторые важные функции этого сайта могут не работать. Пожалуйста, обновитесь до более современного браузера. :(

Командные блоки МАЙНКРАФТ:)

    Лололошка2288822
    не в сети

    Новички

    Звание: Зелёный

    Трофеев: 1

    Сообщений: 6

    При считывание даты командного блока мне выдаёт текст и в нём виден "Предыдущий вывод" возьмём 1 и 0 и допустим у нас в выводе будет написано 1. И мне нужно сделать так что бы другой командный блок считал то что было написано в поле "Предыдущий вывод" то есть сейчас у нас в выводе написана единичка и надо так что бы другой командный блок понял что там написана единичка и на основание этого выполнил какую то команду
    Ну и естественно если в выводе будет 0 то команда не будет выполнена
    Версия от 1.12.2 до 1.17.1
    При ответе прошу указать для какой версии эта команда или что то другое

    Объяснил как смог, если не понятна цель вопроса пишите, отвечу.

    #1 | 19 декабря 2021 - 02:20

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Лололошка2288822, для (1.13)-1.14+ для проверки значений NBT-тегов блока-сущности можно воспользоваться командой execute if data block x y z {полный путь до тега, как выдает data get} run ...
    Например:
    execute if data block 0 1 0 {customName: '{"text":"Test"}'} run say 1 (пример взят с реддита, работает-нет не проверял)
    Сообщение отредактировал forkstudio 19 декабря 2021 - 08:17

    #2 | 19 декабря 2021 - 08:14

    Лололошка2288822
    не в сети

    Новички

    Звание: Зелёный

    Трофеев: 1

    Сообщений: 6

    Вот дата командного блока
    {auto: 0b, powered: 0b, LastExecution 42826L, SuccessCount:1, UpdateLastExecution: 1b, conditionMet: 1b, CustomName: '{"text":"@"}', Command: "Тут команда", x: -17, y: 71, z: 273, id: "minecraft:command_block", LastOutput: '{"extra":[{"text":"1"}],"text":"[12:53:36] "}', TrackOutput: 1b}
    и в разделе LastOutput указан вывод и время, мне нужно ЭТО написать после execute if x y z?

    В общем я подключил ардуино к майнкрафту через MCreator link и командой link digitalRead 6 спрашивает у 6 пина есть напряжение(1) или нет(0) к 6 пину подключена кнопка. И в выводе выдаёт 1 или 0 и мне нужно сделать так что бы на основе этого вывода подавался редстоун сигнал

    forkstudio,
    Вот дата командного блока
    {auto: 0b, powered: 0b, LastExecution 42826L, SuccessCount:1, UpdateLastExecution: 1b, conditionMet: 1b, CustomName: '{"text":"@"}', Command: "Тут команда", x: -17, y: 71, z: 273, id: "minecraft:command_block", LastOutput: '{"extra":[{"text":"1"}],"text":"[12:53:36] "}', TrackOutput: 1b}
    и в разделе LastOutput указан вывод и время, мне нужно ЭТО написать после execute if x y z?

    В общем я подключил ардуино к майнкрафту через MCreator link и командой link digitalRead 6 спрашивает у 6 пина есть напряжение(1) или нет(0) к 6 пину подключена кнопка. И в выводе выдаёт 1 или 0 и мне нужно сделать так что бы на основе этого вывода подавался редстоун сигнал

    forkstudio,
    Вот дата командного блока
    {auto: 0b, powered: 0b, LastExecution 42826L, SuccessCount:1, UpdateLastExecution: 1b, conditionMet: 1b, CustomName: '{"text":"@"}', Command: "Тут команда", x: -17, y: 71, z: 273, id: "minecraft:command_block", LastOutput: '{"extra":[{"text":"1"}],"text":"[12:53:36] "}', TrackOutput: 1b}
    и в разделе LastOutput указан вывод и время, мне нужно ЭТО написать после execute if x y z?

    В общем я подключил ардуино к майнкрафту через MCreator link и командой link digitalRead 6 спрашивает у 6 пина есть напряжение(1) или нет(0) к 6 пину подключена кнопка. И в выводе выдаёт 1 или 0 и мне нужно сделать так что бы на основе этого вывода подавался редстоун сигнал

    forkstudio,
    Вот дата командного блока
    {auto: 0b, powered: 0b, LastExecution 42826L, SuccessCount:1, UpdateLastExecution: 1b, conditionMet: 1b, CustomName: '{"text":"@"}', Command: "Тут команда", x: -17, y: 71, z: 273, id: "minecraft:command_block", LastOutput: '{"extra":[{"text":"1"}],"text":"[12:53:36] "}', TrackOutput: 1b}
    и в разделе LastOutput указан вывод и время, мне нужно ЭТО написать после execute if x y z?

    В общем я подключил ардуино к майнкрафту через MCreator link и командой link digitalRead 6 спрашивает у 6 пина есть напряжение(1) или нет(0) к 6 пину подключена кнопка. И в выводе выдаёт 1 или 0 и мне нужно сделать так что бы на основе этого вывода подавался редстоун сигнал

    Я случайно так много натыкал, думал не отправляется ахахах
    Сообщение отредактировал Лололошка2288822 19 декабря 2021 - 12:22

    #3 | 19 декабря 2021 - 11:09

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Лололошка2288822,
    Да, придется всё это вставлять: execute if data block x y z {LastOutput: '{"extra":[{"text":"1"}],"text":"[12:53:36] "}'} run ...
    Можно попробовать вставить без времени, но я не уверен, что будет работать.
    Кстати, пробовал поставить сверху блока ещё один, условный цепной, не активируется в зависимости от вывода предыдущего?

    #4 | 19 декабря 2021 - 14:19

    Лололошка2288822
    не в сети

    Новички

    Звание: Зелёный

    Трофеев: 1

    Сообщений: 6

    Извините, а вам не сложно перейти в дискорд, просто здесь картинки не могу прикрепить
    и очень долго ждать ответа как от вас так и от меня

    Если можете то вот мой дс:
    I am cat?#7373

    Спасибо, 1 способ работает но есть проблема из за времени
    Сообщение отредактировал Лололошка2288822 19 декабря 2021 - 22:22

    #5 | 19 декабря 2021 - 22:11

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Лололошка2288822,
    В дискорд, к сожалению, не смогу.
    По идее, можно поэкспериментировать, поставить второй блок, и запускать любую команду, которая выбьет единицу (аналогичную дату вывода), затем первым цепным кб подменить на основную (команду) и командой /execute if blocks коорды_подменяемого_блока коорды_подменяемого_блока коорды_тестируемого блока run ... сравнить два блока. Но чтобы не было рассинхрона на тик или даже больше на активации доп. механизма, придётся всё запихнуть в одну цепь, сделав и тестирующий и тестируемый блок цепным. Но это всё очень теоретически, во 1 я не уверен, что оно вообще будет учитывать дату, во 2 очень сомневаюсь, что будет учитывать только задаваемую дату (т.е не будет учитывать координаты блоков и ещё какой мусор).

    Так что есть ещё один всё ещё теоретический, но более правдоподобный способ: одновременно запустить и тестируемый и тестирующий блок (который выдает всегда 1), куда-нибудь (или в блок-сущность или в сущность) скопировать дату вывода и сравнивать уже их. Команды без Майнкрафта тут уже не подскажу, википедия и видео zerocaty по /data вам в помощь.

    А вообще, ещё раз проверьте:
    1) Не реагирует ли на сигнал блока компаратор.
    2) Что выдает команда при исполнении через чат, если выдает число, результат можно поймать и записать с помощью execute store.

    Для загрузки фото внизу есть кнопка 'загрузить файлы'.
    Сообщение отредактировал forkstudio 20 декабря 2021 - 03:36

    #6 | 20 декабря 2021 - 03:34

    Лололошка2288822
    не в сети

    Новички

    Звание: Зелёный

    Трофеев: 1

    Сообщений: 6

    Выдаёт число, но к сожалению я так и не понял как использовать команду execute store

    #7 | 20 декабря 2021 - 09:38

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Лололошка2288822,
    Нужно создать задачу (scoreboard), куда будет записываться значение, затем
    /execute store result score цель задача run команда (значение которой нужно записать)
    Сообщение отредактировал forkstudio 20 декабря 2021 - 09:58

    #8 | 20 декабря 2021 - 09:54

    Лололошка2288822
    не в сети

    Новички

    Звание: Зелёный

    Трофеев: 1

    Сообщений: 6

    И компаратор никак не реагирует
    Можно каким то образом просто отключить время в кб что бы выдавалось только 1 или 0

    #9 | 20 декабря 2021 - 10:08

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Лололошка2288822,
    По поводу отключения времени не знаю, но если команда при исполнении через чат выбивает число, это число можно записать в переменную (скорборд), и затем уже сравнивать с любым другим, читайте предыдущее сообщение, ищите туториалы на ютюбе, если сами не можете разобраться.

    #10 | 20 декабря 2021 - 11:57

    Лололошка2288822
    не в сети

    Новички

    Звание: Зелёный

    Трофеев: 1

    Сообщений: 6

    Можно ещё вопрос?
    Мне нужно что бы это всё было автоматизированно, то есть что бы на выходе я получал чистый редстоун сигнал. Это будет автоматизировано или нет?
    Заранее спасибо

    Знаете, можно куда проще сделать, так как командный блок пишет время опираясь на пк время, нужно просто остановить доступ к времени майнкрафту, для этого мне нужна прямая ссылка запуска forge майнкрафта любой версии, возьмём 1.14.4
    Сообщение отредактировал Лололошка2288822 20 декабря 2021 - 20:30

    #11 | 20 декабря 2021 - 17:50

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Лололошка2288822,
    Это не проще, это уже бред. Я вам ответил как лучше и проще сделать это двумя командами, всё будет работать автоматически, если запихнете их в цикл.

    #12 | 21 декабря 2021 - 03:20

    Caman86
    не в сети

    ТруЪ Олдфаги-с

    Звание: Чоткий паря

    Трофеев: 12

    Сообщений: 1937

    Симпатий: 322

    Лололошка2288822,
    1) Сделай как написал форк. Ставишь execute на исполняемую штуку (предположим, ты ставишь блок по координатам c), затем по этим координатам через другой execute проверяешь на нужный тебе блок, и допускаешь дальше работу. Первый кб синий условный, второй зелёный условный.
    Ещё можно через компаратор, но тогда схема длиннее, однако не придётся жмакать кнопку "условный" в меню кб;
    2) Если ты отрубишь доступ к времени майну, он тупо зависнет. Не буду вдаваться в подробности, там свои приколы, но серверная часть майна берёт свои тики от времени.

    Мои сборки:
    MystMag (1.12.2)
    ReachForTheStars (1.12.2)
    TechGears (1.16.5)

    #13 | 21 декабря 2021 - 15:51

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Caman86, Лололошка2288822,
    Так он его просто так не проверит, там время меняется каждую секунду, а сам вывод от времени не оторвать. В теории можно как-нибудь запустить такой же блок, но с другой командой, которая всегда выдает 1 в выводе, быстренько подменить команду и в ту же секунду сравнить. НО! Это долго, сложно, не факт что будет вообще работать.

    Проще и куда правильнее будет записать значение команды в переменную - при помощи /execute store:

    /scoreboard objectives add pindetect dummy - ввести в чат

    Первый КБ - цикличный, НЕ условный, всегда активен:
    /execute store result score pin6 pindetect run link digitalRead 6
    Второй КБ - цепной, НЕ условный, ВСЕГДА АКТИВЕН, стоит сверху первого и стрелкой направлен на него (соединен с ним):
    /execute if score pin6 pindetect matches 1.. run команда, которую нужно выполнять, когда напряжение подано на 6й пин.
    Сообщение отредактировал forkstudio 21 декабря 2021 - 19:14

    #14 | 21 декабря 2021 - 17:52

    Caman86
    не в сети

    ТруЪ Олдфаги-с

    Звание: Чоткий паря

    Трофеев: 12

    Сообщений: 1937

    Симпатий: 322

    forkstudio,
    А зачем вам там время? Некоторые NBT теги можно игнорировать. Если записать условный тег JJ, то он будет искать все тайлы с этим тегом. Т.е. туда попадут и {"JJ", CustomName:...}, и {"Display":{Lore:"JAJAJ"}, "JJ"} и т.д.

    Мои сборки:
    MystMag (1.12.2)
    ReachForTheStars (1.12.2)
    TechGears (1.16.5)

    #15 | 22 декабря 2021 - 02:36

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Caman86, если бы было всё так просто, вопрос бы решился на третьем сообщении. В том то и дело, что по сути это один тег, значения которого заключены в кавычки и вырвать их оттуда нельзя.
    LastOutput: '{"extra":[{"text":"1"}],"text":"[12:53:36] "}'

    #16 | 22 декабря 2021 - 02:50

    Caman86
    не в сети

    ТруЪ Олдфаги-с

    Звание: Чоткий паря

    Трофеев: 12

    Сообщений: 1937

    Симпатий: 322

    forkstudio,
    Ах, вот оно что. Тогда только через scoreboard и никак более.

    Мои сборки:
    MystMag (1.12.2)
    ReachForTheStars (1.12.2)
    TechGears (1.16.5)

    #17 | 22 декабря 2021 - 08:26

Статистика форума

Создано тем
14229
Написано сообщений
866056
Пользователей
376708
Новый участник
zxcursedkaneki2012

Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички

Последние сообщения с форума

Название темы
Статистика
Последнее сообщение

Просмотров: 135755

Ответов: 655

Просмотров: 4401

Ответов: 25

Просмотров: 2167

Ответов: 17

Ищу кодера Java 1.20+

Тема в разделе: Проекты

Просмотров: 704

Ответов: 5