KubeJS + CC: Tweaked

KubeJS + CC: Tweaked

Mod

KubeJS + CC: Tweaked for Forge 1.20.1 and 1.19.2

Client and server ManagementTechnologyUtility

2,827 downloads
3 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

Credits go to Amygdaloideae (Prunoideae on GitHub). Original mod here
Big thanks to richie3366 for helping to make the port work!
Mod icon made by FooterMan16 \

supported versions required sides

Available on both Curseforge and Modrinth

CurseForge: CurseForge Downloads \Modrinth: Modrinth Downloads

Adds support for KubeJS to add peripherals to any block.

GO VISIT THE WIKI HERE! All things are there!

Example of methods you could add to furnaces:

// priority: 0
// The following code was last updated: April 30th 2024

// Visit the wiki for more info - https://kubejs.com/
ComputerCraftEvents.peripheral(event => {
    // First Param: peripheral type
    // Second Param: What block it goes to
    // Note: you can use regex for the second param
    
    event.registerPeripheral("furnace", "minecraft:furnace")
        // This limits the method to 1 call/tick,
        // as the method is scheduled on main thread.
        // The main thread is synced with the block
        .mainThreadMethod("burnTime", (container, direction, arguments) => {
            // This custom method returns the current
            // remaining burntime the furnace has.
            return container.entityData.getInt("BurnTime")
        })
        .mainThreadMethod("cookingProgress", (container) => {
            // This custom method returns the percentage
            // of the current cooking process going on.
            // A progress of 0 returned during two consecutive
            // ticks means that there is no cooking happening.
            let data = container.entityData
            let cookTime = data.getInt('CookTime')
            let cookTimeTotal = data.getInt('CookTimeTotal')
            if (!cookTimeTotal) return 0;
            return (cookTime / cookTimeTotal) * 100
        })


        // This has no limit on calling
        // however, the method can't access most of the in-world data.
        // For example, it couldn't access the NBT of a tile entity
        .method("say_hi", (container, direction, arguments) => {
            container.up.set("diamond_block")
            return "hi, here's your diamond block"
        })
})

Project members

Wolfieboy09

Member

richie3366

Member

Details

Licensed LGPL-2.1-only
Published 5 months ago
Updated 4 months ago