ATM9-Vocality/kubejs/server_scripts/mods/chemlib/blocks.js
2024-06-13 23:34:56 -05:00

52 lines
2.2 KiB
JavaScript

// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 9.
// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.
const ItemRegistry = Java.loadClass('com.smashingmods.chemlib.registry.ItemRegistry')
// List Gen
/*
/chemlibhelper
OP permission required
only should need to be run on mod changes,
generates a new chemlibCompat.json file
helps add chemlib tooltips to items unified away from chemlib
*/
ServerEvents.commandRegistry(allthemods => {
const { commands: Commands, arguments: Arguments, builtinSuggestions: Suggestions } = allthemods;
allthemods.register(
Commands.literal("chemlibhelper")
.requires(source => source.getServer().isSingleplayer() || source.hasPermission(2))
.executes((ctx) => Chemlib(ctx.source))
)
})
function Chemlib(source) {
let replaced = {}
// dust, nugget, ingot, plate, storage_block
let tags = global.auTags.filter(function (val) {
return /forge:(dust|nugget|ingot|plate|storage_block)s/.test(val)
})
tags.forEach(tagString => {
let material = tagString.replace(/forge:(dust|nugget|ingot|plate|storage_block)s\//, '')
let oElement = ItemRegistry.getElementByName(material)
if (oElement.isPresent()) {
let element = oElement.get()
let tooltip = []
tooltip.push(Text.of(`${element.getAbbreviation()} (${element.getAtomicNumber()})`).aqua())
let group = element.getGroupName()
if (group != "") {
tooltip.push(Text.of(group).gray())
}
let item = AlmostUnified.getPreferredItemForTag(tagString)
if (!item.isEmpty() && item.idLocation.namespace != 'chemlib') {
replaced[item.id] = tooltip
}
}
})
JsonIO.write('kubejs/client_scripts/chemlibCompat.json', replaced)
return 1
}
// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 9.
// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.