Upgrades

Create machine upgrades using KubeJS

Custom Machine upgrades can be made with KubeJS script.

Create a .js file in the kubejs\server_scripts folder (ex: custom_machine_upgrades.js) and look at the example below to see all the available methods to create a Custom Machine upgrade with KubeJS.

If you're not familiar about custom machine upgrades see the wiki page.

Creating custom machine upgrade with KubeJS

Find all requirement types and targets that can be modified here.

//Use the 'cm_upgrades' event to register custom machine upgrades.
CustomMachineryEvents.upgrades(event => {

//Create the upgrade builder and give it the item that will act as upgrade.
//Use Item.of("item_id") to create the item.
event.create(Item item)
//If maxAmount is not specified the default is 64.
event.create(Item item, int maxAmount)

//Add a machine or a list of machines that will accept this upgrade, 
//the machine ID must be "namespace:id" like "custommachinery:my_machine",
//if the json is located in (my_datapack)/data/custommachinery/machines/my_machine.json
.machine(String... machineID)

//You can add a custom tooltip to the machine upgrade item.
.tooltip(String... tooltips)
//Use Text.of("text here") for more formatting options,
//See https://kubejs.com/wiki/kubejs/Text/
.tooltip(Text... tooltips)

//Add a modifier to this upgrade.
//See below for modifier syntax.
.modifier(CMRecipeModifierBuilder modifier)
})

Making a modifier

Examples

A gold ingot put inside the Power Crusher will double it's energy consumption with a maximum of 1000FE but also half it's duration time with a minimum of 100 ticks.

Last updated