61 lines
1.9 KiB
JavaScript
61 lines
1.9 KiB
JavaScript
// priority: 999
|
|
/**
|
|
! This script loads first before the other startup scripts
|
|
* put your util or patches here so that you can access them at other scripts
|
|
*/
|
|
|
|
// see quest_scripts.js
|
|
const cake_reset_time = 60; // in seconds
|
|
|
|
/**
|
|
* Capitalizes the first char of the string
|
|
* @param {string} word
|
|
* @returns
|
|
*/
|
|
const capitalize = (word) => (word[0].toUpperCase() + word.substring(1));
|
|
|
|
/**
|
|
* helper for compressing/decompress crafting
|
|
* @param {Internal.RecipesEventJS_} ev
|
|
* @param {OutputItem_} output output
|
|
* @param {InputItem_} input input
|
|
* @param {boolean} make_uncompacting make uncompacting recipie (default true)
|
|
* @returns {Internal.RecipeTypeFunction}
|
|
*/
|
|
const compacting = (ev, output, input, make_uncompacting) => {
|
|
// kubejs doesnt support nullish coalescing :(
|
|
if (make_uncompacting === undefined || make_uncompacting === null) {
|
|
make_uncompacting = true;
|
|
}
|
|
|
|
if (make_uncompacting) ev.shapeless(`9x ${input}`, [output]);
|
|
|
|
return ev.shaped(output, [
|
|
"aaa",
|
|
"aaa",
|
|
"aaa"
|
|
], { a: input });
|
|
}
|
|
|
|
// Java Classes
|
|
// used to create FluidIngredientJS objects
|
|
const JSONObject = Java.loadClass("com.google.gson.JsonObject")
|
|
// Required to use fluid tags in gregtech recipes
|
|
const FluidIngredientJS = Java.loadClass("com.gregtechceu.gtceu.integration.kjs.recipe.components.GTRecipeComponents$FluidIngredientJS")
|
|
// Required for the rock breaker
|
|
const RockBreakerCondition = Java.loadClass("com.gregtechceu.gtceu.common.recipe.condition.RockBreakerCondition")
|
|
|
|
// Tier enums for easier data handling
|
|
const TIER_ULV = 0; // ulv
|
|
const TIER_LV = 1;
|
|
const TIER_MV = 2;
|
|
const TIER_HV = 3;
|
|
const TIER_EV = 4;
|
|
const TIER_IV = 5;
|
|
const TIER_LUV = 6;
|
|
const TIER_ZPM = 7;
|
|
const TIER_UV = 8;
|
|
const TIER_UHV = 9;
|
|
const TIER_ID_MAPPING = [
|
|
"ULV", "LV", "MV", "HV", "EV", "IV", "LuV", "ZPM", "UV", "UHV"
|
|
]
|