
KubeJS + CC: Tweaked
Активный0.0
Установок
Последнее обновление
Версии
KubeJS + CC: Tweaked - Интеграция KubeJS с ComputerCraft
Этот мод создает мост между KubeJS и модификацией CC: Tweaked, позволяя разработчикам добавлять пользовательские периферийные устройства к любым блокам в Minecraft. С помощью JavaScript вы можете расширять функциональность существующих механизмов и создавать собственные взаимодействия.
Основные возможности
Мод предоставляет инструменты для создания кастомных периферийных устройств, которые можно привязывать к различным блокам. Вы можете добавлять собственные методы, которые будут доступны через компьютеры ComputerCraft.
Пример использования
Вот как можно добавить дополнительные методы к печи:
// приоритет: 0
// Последнее обновление кода: 30 апреля 2024
ComputerCraftEvents.peripheral(event => {
// Первый параметр: тип периферийного устройства
// Второй параметр: к какому блоку применяется
// Примечание: можно использовать регулярные выражения для второго параметра
event.registerPeripheral("furnace", "minecraft:furnace")
// Ограничивает вызов метода до 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
})
// Не имеет ограничений на вызов,
// однако метод не может получить доступ к большинству данных в мире.
// Например, он не может получить доступ к NBT сущности тайла
.method("say_hi", (container, direction, arguments) => {
container.up.set("diamond_block")
return "привет, вот твой алмазный блок"
})
})
Этот пример демонстрирует, как можно получить информацию о времени горения и прогрессе приготовления в печи, а также добавить простой метод для взаимодействия.