Files
ATM8/minecraft/kubejs/startup_scripts/mekanismStartup.js
2023-12-18 20:22:40 +00:00

53 lines
1.9 KiB
JavaScript

/*
Mekanism items for processing stack
Authored by EnigmaQuip
if using existing dust, dust must be defined until kjs tag loading fixed
material at a minimum should have an ore associated with it at #forge:ores/material
*/
global.mekStackAdditions = [
{material:'crimson_iron', color:'#fc9aad', makeDust: false},
{material:'azure_silver', color:'#e89ffc', makeDust: false},
{material:'iridium', color:'#c9c9c9', makedust: false}
]
// DO NOT EDIT BELOW THIS LINE
const $Slurry = Java.loadClass('mekanism.api.chemical.slurry.Slurry')
const $SlurryBuilder = Java.loadClass('mekanism.api.chemical.slurry.SlurryBuilder')
StartupEvents.registry('item', event => {
const mekItems = ['clump', 'crystal', 'dirty_dust', 'shard']
function mekStack(name, color) {
mekItems.forEach(type => {
event.create(`${type}_${name}`)
.texture('layer0', 'mekanism:item/empty')
.texture('layer1', `mekanism:item/${type}`)
.texture('layer2', `mekanism:item/${type}_overlay`)
.color(1, color)
.tag(`mekanism:${type}s`)
.tag(`mekanism:${type}s/${name}`)
})
}
global.mekStackAdditions.forEach(entry => {
mekStack(entry.material, entry.color)
if (entry.makeDust) {
event.create(`dust_${entry.material}`)
.texture('layer0', 'mekanism:item/empty')
.texture('layer1', `mekanism:item/dust`)
.color(1, entry.color)
.tag(`forge:dusts`)
.tag(`forge:dusts/${entry.material}`)
}
})
})
StartupEvents.registry('mekanism:slurry', event => {
global.mekStackAdditions.forEach(entry => {
event.createCustom(`clean_${entry.material}`, () => $Slurry($SlurryBuilder.clean().ore(`forge:ores/${entry.material}`).color(Color.of(entry.color).getRgbJS())))
event.createCustom(`dirty_${entry.material}`, () => $Slurry($SlurryBuilder.dirty().ore(`forge:ores/${entry.material}`).color(Color.of(entry.color).getRgbJS())))
})
})