▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/KubeJS + CC: Tweaked
KubeJS + CC: Tweaked

KubeJS + CC: Tweaked

Мод KubeJS + CC: Tweaked связывает скрипты KubeJS с компьютерами ComputerCraft. Добавляйте свои периферийные методы к любым блокам в Minecraft 1.19.2 и 1.20.1 на Forge.

Оцените первым
18.7K
18

KubeJS + CC: Tweaked - мод для Майнкрафт, который объединяет два мощных инструмента автоматизации: скриптовый движок KubeJS и программируемые компьютеры из CC: Tweaked. Если вы когда-нибудь хотели, чтобы ваш компьютер на Lua мог напрямую читать прогресс плавки в печке, остаток топлива в генераторе или вообще любые данные из NBT блока - этот bridge-мод именно для этого.

Скачать KubeJS + CC: Tweaked стоит в первую очередь тем, кто строит серьёзные автоматизированные базы и устал от ограничений стандартной периферии ComputerCraft.

В чём суть мода

По умолчанию CC: Tweaked (он же КомпьютерКрафт) умеет взаимодействовать только с теми блоками, для которых кто-то заранее написал периферийное API. Ванильная печка? Мимо. Механизм из стороннего мода? Тоже мимо, если автор не позаботился об интеграции.

KubeJS + CC: Tweaked снимает это ограничение. Через событие ComputerCraftEvents.peripheral вы сами, обычным скриптом KubeJS, регистрируете периферию для любого блока и описываете методы, которые будут доступны с компьютера или черепашки (turtle). Хотите - к одному конкретному блоку по ID, хотите - сразу к группе через регулярное выражение.

По факту это превращает связку KubeJS и ComputerCraft в универсальный инструмент автоматизации: любой тайл-энтити в мире становится программируемым.

Пример: добавляем методы печке

Вот как выглядит регистрация периферии для ванильной печи. Скрипт кладётся в папку kubejs/server_scripts (или startup_scripts, в зависимости от версии KubeJS):

// priority: 0
ComputerCraftEvents.peripheral(event => {
    // Первый параметр: тип периферии
    // Второй параметр: к какому блоку привязываем
    // Во втором параметре можно использовать regex

    event.registerPeripheral("furnace", "minecraft:furnace")
        // mainThreadMethod ограничен 1 вызовом за тик,
        // потому что выполняется в главном потоке,
        // синхронизированном с блоком
        .mainThreadMethod("burnTime", (container, direction, arguments) => {
            // Возвращает оставшееся время горения топлива
            return container.entityData.getInt("BurnTime")
        })
        .mainThreadMethod("cookingProgress", (container) => {
            // Возвращает процент готовности текущего предмета.
            // Если два тика подряд вернулся 0 - печка простаивает
            let data = container.entityData
            let cookTime = data.getInt('CookTime')
            let cookTimeTotal = data.getInt('CookTimeTotal')
            if (!cookTimeTotal) return 0;
            return (cookTime / cookTimeTotal) * 100
        })

        // Обычный method без лимита вызовов,
        // но у него нет доступа к большинству данных мира -
        // например, к NBT тайл-энтити он обратиться не сможет
        .method("say_hi", (container, direction, arguments) => {
            container.up.set("diamond_block")
            return "hi, here's your diamond block"
        })
})

После этого подключаете к печке wired modem, и с компьютера на Lua спокойно вызываете peripheral.call("furnace_0", "burnTime") или cookingProgress. Можно построить систему, которая сама подкидывает уголь, когда топливо на исходе, или переключает входные слоты по расписанию.

Важный нюанс: mainThreadMethod против method

Тут часто спотыкаются новички, поэтому объясню на пальцах:

  • mainThreadMethod - выполняется в главном потоке игры. Можно читать NBT, инвентари, состояние блоков. Цена - максимум один вызов за тик, потому что метод встаёт в очередь основного потока.
  • method - без ограничений по частоте вызовов, но работает вне основного потока. Доступа к данным мира почти нет, зато можно манипулировать самим компьютером и его окружением (как в примере выше с установкой алмазного блока сверху).

Правило простое: читаете данные из блока - берите mainThreadMethod, делаете что-то быстрое и не завязанное на мир - обычный method.

Совместимость и требования

Проект узкоспециализированный, поэтому список требований короткий, но жёсткий:

ПараметрЗначение
Загрузчиктолько Forge
Версии Minecraft1.20.1 - 1.20.2 и 1.19.2
Обязательные зависимостиKubeJS и CC: Tweaked
Сторонаклиент и сервер

Fabric, Quilt и NeoForge не поддерживаются - мод изначально писался под Forge и портировался силами сообщества. Для работы нужны оба родительских проекта: без KubeJS не будет скриптового движка, без CC: Tweaked - самих компьютеров.

Учтите, что проект давно не получал крупных обновлений - последние правки касались в основном мелочей вроде updateJSONURL и улучшений для IDE. Тем не менее на указанных версиях Майнкрафта мод стабилен и используется в сборках до сих пор. Авторство оригинала принадлежит Amygdaloideae (Prunoideae), а порт на актуальные версии вышел при участии richie3366.

Кому реально пригодится

Если вы играете в ванилу или лёгкие сборки - проходите мимо, мод вам ничего не даст. А вот если собираете техно-сборку на Forge 1.20.1, где KubeJS управляет рецептами и механиками, а ComputerCraft отвечает за логистику и контроль - это must-have связка.

Типичные сценарии, где мод раскрывается:

  • мониторинг десятков машин с одного компьютера через wired-сеть;
  • автоматическая подача ресурсов по фактическому состоянию механизма, а не по таймеру;
  • интеграция модовых блоков, у которых вообще нет нативной поддержки ComputerCraft;
  • серверные проекты, где админ через скрипты KubeJS выдаёт игрокам программируемый доступ к механизмам.

Совет из практики: начинайте с простых геттеров вроде burnTime, отладьте их через программу peripherals на компьютере, и только потом городите сложную логику. И не забывайте, что regex во втором параметре registerPeripheral позволяет одной строкой покрыть, например, все печки из модов - что-то вроде ".*:.*furnace.*".

Скачать мод KubeJS + CC: Tweaked для Minecraft 1.20.1 и 1.19.2 можно на этой странице. Ставьте вместе с КубеДЖС и КомпьютерКрафтом - и ваши компьютеры наконец увидят весь мир, а не только его маленький разрешённый кусочек.

Партнёрский материал

Как поиграть с друзьями с модом KubeJS + CC: Tweaked?

Мод KubeJS + CC: Tweaked куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода KubeJS + CC: Tweaked будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.20.x1.19.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки


Детали

Лицензия:
Опубликован:2 года назад
Обновлён:2 года назад
Главная