Added mod files
This commit is contained in:
111
overrides/kubejs/client_scripts/JEI.js
Normal file
111
overrides/kubejs/client_scripts/JEI.js
Normal file
@@ -0,0 +1,111 @@
|
||||
ClientEvents.highPriorityAssets(event=>{
|
||||
let json = {
|
||||
added: [
|
||||
{
|
||||
"stack": "item:tconstruct:tinkers_anvil{'texture':'create:zinc_block'}",
|
||||
"after": "item:tconstruct:modifier_worktable"
|
||||
},
|
||||
{
|
||||
"stack": "item:tconstruct:scorched_anvil{'texture':'create:zinc_block'}",
|
||||
"after": "item:tconstruct:tinkers_anvil"
|
||||
}
|
||||
]
|
||||
}
|
||||
event.add("emi:index/stacks/kubejs_added_stacks", json)
|
||||
|
||||
// Hide Multiblock'd strainer category since it doesn't play well with EMI
|
||||
json = {
|
||||
"filters": [
|
||||
{
|
||||
"category": "mbd2:strainer"
|
||||
}
|
||||
]
|
||||
}
|
||||
event.add("emi:recipe/filters/strainer", json)
|
||||
})
|
||||
|
||||
// JEIEvents.groupEntries( event => {
|
||||
|
||||
// event.groupItemsByTag('kubejs:rei_groups/supplementaries/hanging_signs', 'Sign Posts', 'supplementaries:hanging_signs')
|
||||
// event.groupItemsByTag('kubejs:rei_groups/supplementaries/sign_posts', 'Sign Posts', 'supplementaries:sign_posts')
|
||||
|
||||
// trades cards need a rework first
|
||||
// event.groupItemsByTag('kubejs:rei_groups/kubejs/transaction_cards/profession', 'Trade Card: Profession', "kubejs:transaction_cards/profession")
|
||||
// event.groupItemsByTag('kubejs:rei_groups/kubejs/transaction_cards/import', 'Trade Card: Import', "kubejs:transaction_cards/import")
|
||||
|
||||
|
||||
// const useNbt = [
|
||||
// 'reliquary:potion',
|
||||
// 'reliquary:potion_essence',
|
||||
// 'reliquary:splash_potion',
|
||||
// 'reliquary:lingering_potion',
|
||||
// 'reliquary:tipped_arrow',
|
||||
// 'tconstruct:crafting_station',
|
||||
// 'tconstruct:tinker_station',
|
||||
// 'tconstruct:part_builder',
|
||||
// 'tconstruct:modifier_worktable',
|
||||
// 'tconstruct:tinkers_anvil',
|
||||
// 'tconstruct:scorched_anvil',
|
||||
// 'tconstruct:seared_drain',
|
||||
// 'tconstruct:seared_duct',
|
||||
// 'tconstruct:seared_chute',
|
||||
// 'tconstruct:scorched_drain',
|
||||
// 'tconstruct:scorched_duct',
|
||||
// 'tconstruct:scorched_chute',
|
||||
// 'tconstruct:smeltery_controller',
|
||||
// 'tconstruct:foundry_controller',
|
||||
// 'tconstruct:repair_kit',
|
||||
// 'tconstruct:slime_helmet'
|
||||
// ]
|
||||
|
||||
// useNbt.forEach(id => {
|
||||
// const item = Item.of(id)
|
||||
// const { namespace, path } = Utils.id(item.id)
|
||||
// event.groupSameItem(`kubejs:rei_groups/${namespace}/${path}`, item.name, item)
|
||||
// })
|
||||
|
||||
// event.groupSameItem('kubejs:rei_groups/microblocks', 'Microblocks', "cb_microblock:microblock")
|
||||
|
||||
// event.groupItems('kubejs:rei_groups/fluidbuckets', 'Buckets of Fluids', [
|
||||
// /bucket/
|
||||
// ])
|
||||
|
||||
// event.groupItems('kubejs:rei_groups/buddycards_base_set', 'Buddy Cards Base Set', [
|
||||
// /buddycards:buddycard_base/
|
||||
// ])
|
||||
|
||||
// event.groupItems('kubejs:rei_groups/buddycards_nether_set', 'Buddy Cards Nether Set', [
|
||||
// /buddycards:buddycard_nether/
|
||||
// ])
|
||||
|
||||
// event.groupItems('kubejs:rei_groups/buddycards_end_set', 'Buddy Cards End Set', [
|
||||
// /buddycards:buddycard_end/
|
||||
// ])
|
||||
|
||||
// event.groupItems('kubejs:rei_groups/buddycards_create_set', 'Buddy Cards Create Set', [
|
||||
// /buddycardsexp:buddycard_create/
|
||||
// ])
|
||||
|
||||
// event.groupItems('kubejs:rei_groups/buddycards_aquaculture_set', 'Buddy Cards Aquaculture Set', [
|
||||
// /buddycardsexp:buddycard_aquaculture/
|
||||
// ])
|
||||
|
||||
// event.groupItems("kubejs:rei_groups/buddycards_farmers_set", "Buddy Cards Farmer's Set", [
|
||||
// /buddycardsexp:buddycard_farmers/
|
||||
// ])
|
||||
|
||||
// event.groupItems('kubejs:rei_groups/buddycards_malum_set', 'Buddy Cards Malum Set', [
|
||||
// /buddycardsexp:buddycard_malum/
|
||||
// ])
|
||||
|
||||
// event.groupItems('kubejs:rei_groups/buddycards_holiday', 'Buddy Cards Holiday', [
|
||||
// "buddycards:buddycard_holiday1",
|
||||
// "buddycards:buddycard_holiday2",
|
||||
// "buddycards:buddycard_holiday3",
|
||||
// "buddycards:buddycard_holiday4",
|
||||
// "buddycards:buddycard_holiday5",
|
||||
// "buddycards:buddycard_holiday6",
|
||||
// /buddycards:buddycard_holiday/
|
||||
// ])
|
||||
|
||||
// })
|
||||
53
overrides/kubejs/client_scripts/JEI_potions.js
Normal file
53
overrides/kubejs/client_scripts/JEI_potions.js
Normal file
@@ -0,0 +1,53 @@
|
||||
// priority: 99
|
||||
const POTION_BOTTLES = ["REGULAR", "SPLASH", "LINGERING"];
|
||||
const POTIONS = [ // The order that we create these rei entries in is important!
|
||||
["minecraft:mundane", []],
|
||||
["minecraft:thick", []],
|
||||
["minecraft:awkward", []],
|
||||
["minecraft:night_vision", ["long"]],
|
||||
["minecraft:invisibility", ["long"]],
|
||||
["minecraft:leaping", ["long", "strong"]],
|
||||
["minecraft:fire_resistance", ["long"]],
|
||||
["minecraft:swiftness", ["long", "strong"]],
|
||||
["minecraft:slowness", ["long", "strong"]],
|
||||
["minecraft:turtle_master", ["long", "strong"]],
|
||||
["minecraft:water_breathing", ["long"]],
|
||||
["minecraft:healing", ["strong"]],
|
||||
["minecraft:harming", ["strong"]],
|
||||
["minecraft:poison", ["long", "strong"]],
|
||||
["minecraft:regeneration", ["long", "strong"]],
|
||||
["minecraft:strength", ["long", "strong"]],
|
||||
["minecraft:weakness", ["long"]],
|
||||
["minecraft:luck", []],
|
||||
["minecraft:slow_falling", ["long"]],
|
||||
["kubejs:haste", ["long", "strong"]]
|
||||
];
|
||||
|
||||
|
||||
// Add Potion fluids to REI
|
||||
ClientEvents.highPriorityAssets(event => {
|
||||
let json = {
|
||||
added: []
|
||||
}
|
||||
POTION_BOTTLES.forEach(bottle=>{
|
||||
for (let i = 0;i < POTIONS.length;++i) {
|
||||
let potionName = POTIONS[i][0];
|
||||
json.added.unshift({
|
||||
"stack": "fluid:create:potion" + `{Bottle: "${bottle}", Potion: "${potionName}"}`,
|
||||
"after": "fluid:create:chocolate"
|
||||
})
|
||||
for (let j = 0;j < POTIONS[i][1].length;++j) {
|
||||
let subPotionNameArray = potionName.split(":");
|
||||
subPotionNameArray.splice(1, 0, ":",POTIONS[i][1][j],"_");
|
||||
let subPotionName = subPotionNameArray.join("");
|
||||
|
||||
json.added.unshift({
|
||||
"stack": "fluid:create:potion" + `{Bottle: "${bottle}", Potion: "${subPotionName}"}`,
|
||||
"after": "fluid:create:chocolate"
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
event.add("emi:index/stacks/kubejs_potion_fluids", json)
|
||||
})
|
||||
183
overrides/kubejs/client_scripts/bulkhide.js
Normal file
183
overrides/kubejs/client_scripts/bulkhide.js
Normal file
@@ -0,0 +1,183 @@
|
||||
JEIEvents.hideItems(event => {
|
||||
event.hide(/^sophisticatedstorage:limited.+barrel.+$/)
|
||||
event.hide("sophisticatedstorage:copper_barrel")
|
||||
event.hide("sophisticatedstorage:copper_chest")
|
||||
event.hide("sophisticatedstorage:copper_shulker_box")
|
||||
event.hide(/^sophisticatedstorage:.*copper.*tier_upgrade$/)
|
||||
event.hide("sophisticatedstorage:stack_upgrade_tier_1_plus")
|
||||
event.hide("sophisticatedbackpacks:stack_upgrade_omega_tier")
|
||||
event.hide("sophisticatedbackpacks:inception_upgrade")
|
||||
event.hide(/xp_pump_upgrade/)
|
||||
|
||||
event.hide(/itemfilters/)
|
||||
|
||||
event.hide(["ae2:inscriber", "ae2:vibration_chamber"])
|
||||
event.hide(/ae2:.*_budding_quartz/)
|
||||
event.hide("ae2:small_quartz_bud")
|
||||
event.hide("ae2:medium_quartz_bud")
|
||||
event.hide("ae2:large_quartz_bud")
|
||||
event.hide("ae2:quartz_cluster")
|
||||
|
||||
event.hide("architects_palette:withered_bone")
|
||||
|
||||
let begoneEarth = [
|
||||
"tier_1_rover", "tier_2_rocket", "tier_3_rocket", "tier_4_rocket",
|
||||
"steel_cable", "desh_cable", "desh_fluid_pipe", "ostrum_fluid_pipe", "cable_duct", "fluid_pipe_duct",
|
||||
"coal_generator", "compressor", "etrionic_blast_furnace", "nasa_workbench", "fuel_refinery",
|
||||
"water_pump", "energizer", "cryo_freezer",
|
||||
"etrionic_capacitor",
|
||||
"oxygen_gear", "wheel", "engine_frame", "fan", "rocket_nose_cone", "rocket_fin",
|
||||
"etrionic_core", "photovoltaic_vesnium_cell",
|
||||
"infernal_spire_block", "sky_stone",
|
||||
"iron_plate",
|
||||
"cryo_fuel_bucket"
|
||||
]
|
||||
event.hide(begoneEarth.map(begone=>{return `ad_astra:${begone}`}))
|
||||
|
||||
event.hide(/^ad_astra:(netherite_space|jet_suit)_(helmet|suit|pants|boots)$/)
|
||||
event.hide("ad_astra:jet_suit")
|
||||
event.hide(/^ad_astra:(steel|desh|ostrum|calorite)_(tank|engine)$/)
|
||||
event.hide(/ad_astra:.*mars/)
|
||||
event.hide(/ad_astra:.*venus/)
|
||||
event.hide(/ad_astra:.*mercury/)
|
||||
event.hide(/ad_astra:.*glacio/)
|
||||
event.hide(/^ad_astra:(?!photovoltaic).*(ostrum|calorite|etrium).*/)
|
||||
event.hide(/^ad_astra:.*conglomerate.*/)
|
||||
event.hide(/^ad_astra:.*permafrost.*/)
|
||||
event.hide(/^(ad_astra|everycomp|supplementaries):.*(aeronos|strophar|glacian).*/)
|
||||
event.hide(["ad_astra:deepslate_desh_ore", "ad_astra:deepslate_ice_shard_ore"])
|
||||
|
||||
event.hide("biomesoplenty:blood")
|
||||
|
||||
event.hide("create:crushed_raw_tin")
|
||||
event.hide("create:crushed_raw_osmium")
|
||||
event.hide("create:crushed_raw_platinum")
|
||||
event.hide("create:crushed_raw_silver")
|
||||
event.hide("create:crushed_raw_quicksilver")
|
||||
event.hide("create:crushed_raw_aluminum")
|
||||
event.hide("create:crushed_raw_uranium")
|
||||
event.hide("create:sturdy_sheet")
|
||||
event.hide("create:unprocessed_obsidian_sheet")
|
||||
|
||||
event.hide(/^createdeco:.*coin/)
|
||||
|
||||
event.hide(/incomplete/)
|
||||
event.hide(/kubejs:growing/)
|
||||
event.hide(/kubejs:failed/)
|
||||
event.hide("kubejs:silver_coin")
|
||||
event.hide("kubejs:gold_coin")
|
||||
|
||||
event.hide("decorative_blocks:blockstate_copy_item")
|
||||
|
||||
event.hide("occultism:obsidian_dust")
|
||||
event.hide("occultism:raw_silver")
|
||||
event.hide("occultism:silver_ingot")
|
||||
event.hide("occultism:silver_nugget")
|
||||
event.hide("occultism:silver_ore")
|
||||
event.hide("occultism:silver_ore_deepslate")
|
||||
event.hide("occultism:iron_dust")
|
||||
event.hide("occultism:gold_dust")
|
||||
event.hide("occultism:copper_dust")
|
||||
event.hide("occultism:silver_dust")
|
||||
event.hide("occultism:debug_foliot_lumberjack")
|
||||
event.hide("occultism:debug_foliot_transport_items")
|
||||
event.hide("occultism:debug_foliot_cleaner")
|
||||
event.hide("occultism:debug_foliot_trader")
|
||||
event.hide("occultism:debug_djinni_manage_machine")
|
||||
event.hide("occultism:debug_djinni_test")
|
||||
event.hide("occultism:lighted_air")
|
||||
event.hide("occultism:jei_dummy/none")
|
||||
event.hide("occultism:jei_dummy/require_sacrifice")
|
||||
event.hide("occultism:jei_dummy/require_item_use")
|
||||
|
||||
event.hide("prettypipes:blank_module")
|
||||
|
||||
event.hide("projectred_core:ruby")
|
||||
event.hide("projectred_core:sapphire")
|
||||
event.hide("projectred_core:peridot")
|
||||
event.hide("projectred_core:electrotine_ingot")
|
||||
event.hide("projectred_core:electrotine_dust")
|
||||
event.hide("projectred_core:electrotine_iron_comp")
|
||||
event.hide("projectred_core:conductive_plate")
|
||||
event.hide("projectred_core:wired_plate")
|
||||
event.hide("projectred_core:bundled_plate")
|
||||
event.hide("projectred_core:anode")
|
||||
event.hide("projectred_core:cathode")
|
||||
event.hide("projectred_core:pointer")
|
||||
event.hide("projectred_core:silicon_chip")
|
||||
event.hide("projectred_core:energized_silicon_chip")
|
||||
event.hide("projectred_core:red_iron_comp")
|
||||
event.hide("projectred_core:sand_coal_comp")
|
||||
event.hide("projectred_core:boule")
|
||||
event.hide("projectred_core:silicon")
|
||||
event.hide("projectred_core:red_silicon_comp")
|
||||
event.hide("projectred_core:glow_silicon_comp")
|
||||
event.hide("projectred_core:electrotine_silicon_comp")
|
||||
event.hide("projectred_core:infused_silicon")
|
||||
event.hide("projectred_core:energized_silicon")
|
||||
event.hide("projectred_core:electrotine_silicon")
|
||||
event.hide("projectred_core:copper_coil")
|
||||
event.hide("projectred_core:iron_coil")
|
||||
event.hide("projectred_core:gold_coil")
|
||||
event.hide("projectred_core:motor")
|
||||
event.hide("projectred_core:woven_cloth")
|
||||
event.hide("projectred_core:sail")
|
||||
event.hide("projectred_core:draw_plate")
|
||||
event.hide("projectred_core:multimeter")
|
||||
|
||||
event.hide("projectred_transmission:low_load_power_wire")
|
||||
event.hide("projectred_transmission:low_load_framed_power_wire")
|
||||
|
||||
event.hide("thermal:rs_control_augment")
|
||||
event.hide("thermal:side_config_augment")
|
||||
event.hide("thermal:press_coin_die")
|
||||
event.hide("thermal:press_gear_die")
|
||||
event.hide("thermal:press_packing_2x2_die")
|
||||
event.hide("thermal:press_packing_3x3_die")
|
||||
event.hide("thermal:press_unpacking_die")
|
||||
event.hide("thermal:iron_coin")
|
||||
event.hide("thermal:copper_coin")
|
||||
event.hide("thermal:tin_coin")
|
||||
event.hide("thermal:lead_coin")
|
||||
event.hide("thermal:nickel_coin")
|
||||
event.hide("thermal:netherite_coin")
|
||||
event.hide("thermal:bronze_coin")
|
||||
event.hide("thermal:constantan_coin")
|
||||
event.hide("thermal:invar_coin")
|
||||
event.hide("thermal:electrum_coin")
|
||||
event.hide("thermal:signalum_coin")
|
||||
event.hide("thermal:lumium_coin")
|
||||
event.hide("thermal:enderium_coin")
|
||||
event.hide("thermal:gold_plate")
|
||||
event.hide("thermal:iron_plate")
|
||||
event.hide("thermal:copper_plate")
|
||||
event.hide("thermal:netherite_plate")
|
||||
event.hide("thermal:silver_ore")
|
||||
event.hide("thermal:deepslate_silver_ore")
|
||||
event.hide("thermal:tin_ore")
|
||||
event.hide("thermal:deepslate_tin_ore")
|
||||
event.hide("thermal:tin_nugget")
|
||||
event.hide("thermal:tin_ingot")
|
||||
event.hide("thermal:tin_block")
|
||||
event.hide("thermal:tin_dust")
|
||||
event.hide("thermal:tin_plate")
|
||||
event.hide("thermal:tin_gear")
|
||||
event.hide("thermal:raw_tin")
|
||||
event.hide("thermal:raw_tin_block")
|
||||
event.hide("thermal:netherite_nugget")
|
||||
event.hide("thermal:copper_nugget")
|
||||
event.hide("thermal:ender_pearl_dust")
|
||||
event.hide("thermal:servo_attachment")
|
||||
event.hide("thermal:device_hive_extractor")
|
||||
|
||||
event.hide("cb_microblock:microblock")
|
||||
event.hide("ae2:facade")
|
||||
event.hide("chiselsandbits:block_bit")
|
||||
|
||||
event.hide("trials:crafter")
|
||||
})
|
||||
|
||||
JEIEvents.hideFluids(event => {
|
||||
event.hide("tconstruct:molten_tin")
|
||||
event.hide("ad_astra:cryo_fuel")
|
||||
})
|
||||
@@ -0,0 +1,18 @@
|
||||
// We'd love to be able to hide the control chip item but for some reason nothing seems to work
|
||||
|
||||
// if (Platform.isLoaded("create_connected")) {
|
||||
// JEIEvents.hideItems(event => {
|
||||
// event.hide("create_connected:control_chip")
|
||||
// event.hide("create_connected:incomplete_control_chip")
|
||||
// })
|
||||
|
||||
// ClientEvents.highPriorityAssets(event=>{
|
||||
// json = {
|
||||
// "removed": [
|
||||
// "item:create_connected:control_chip",
|
||||
// "item:create_connected:incomplete_contrl_chip"
|
||||
// ],
|
||||
// }
|
||||
// event.add("emi:index/stacks/create_connected", json)
|
||||
// })
|
||||
// }
|
||||
@@ -0,0 +1,53 @@
|
||||
if (Platform.isLoaded("createdieselgenerators")) {
|
||||
JEIEvents.hideItems(event => {
|
||||
event.hide("createaddition:capacitor")
|
||||
|
||||
event.hide("kubejs:incomplete_large_connector")
|
||||
event.hide("kubejs:incomplete_connector")
|
||||
|
||||
event.hide("thermal:diamond_dust")
|
||||
event.hide("thermal:electrum_ingot")
|
||||
event.hide("thermal:electrum_nugget")
|
||||
event.hide("thermal:electrum_plate")
|
||||
})
|
||||
|
||||
ClientEvents.highPriorityAssets(event=>{
|
||||
event.add("forge:models/tag/item/dusts/diamond",
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "createaddition:item/diamond_grit"
|
||||
}
|
||||
}
|
||||
)
|
||||
event.add("forge:models/tag/item/nuggets/electrum",
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "createaddition:item/electrum_nugget"
|
||||
}
|
||||
}
|
||||
)
|
||||
event.add("forge:models/tag/item/ingots/electrum",
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "createaddition:item/electrum_ingot"
|
||||
}
|
||||
}
|
||||
)
|
||||
event.add("forge:models/tag/item/plates/electrum",
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "createaddition:item/electrum_sheet"
|
||||
}
|
||||
}
|
||||
)
|
||||
event.add("forge:models/tag/item/storage_blocks/electrum",
|
||||
{
|
||||
"parent": "createaddition:block/electrum_block/block"
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
if (Platform.isLoaded("createdieselgenerators")) {
|
||||
JEIEvents.hideItems(event => {
|
||||
event.hide("createcasing:oak_shaft")
|
||||
event.hide("createcasing:spruce_shaft")
|
||||
event.hide("createcasing:birch_shaft")
|
||||
event.hide("createcasing:jungle_shaft")
|
||||
event.hide("createcasing:acacia_shaft")
|
||||
event.hide("createcasing:dark_oak_shaft")
|
||||
event.hide("createcasing:crimson_shaft")
|
||||
event.hide("createcasing:warped_shaft")
|
||||
event.hide("createcasing:glass_shaft")
|
||||
event.hide("createcasing:brass_shaft")
|
||||
event.hide("createcasing:oak_cogwheel")
|
||||
event.hide("createcasing:spruce_cogwheel")
|
||||
event.hide("createcasing:birch_cogwheel")
|
||||
event.hide("createcasing:jungle_cogwheel")
|
||||
event.hide("createcasing:acacia_cogwheel")
|
||||
event.hide("createcasing:dark_oak_cogwheel")
|
||||
event.hide("createcasing:crimson_cogwheel")
|
||||
event.hide("createcasing:warped_cogwheel")
|
||||
event.hide("createcasing:oak_large_cogwheel")
|
||||
event.hide("createcasing:spruce_large_cogwheel")
|
||||
event.hide("createcasing:birch_large_cogwheel")
|
||||
event.hide("createcasing:jungle_large_cogwheel")
|
||||
event.hide("createcasing:acacia_large_cogwheel")
|
||||
event.hide("createcasing:dark_oak_large_cogwheel")
|
||||
event.hide("createcasing:crimson_large_cogwheel")
|
||||
event.hide("createcasing:warped_large_cogwheel")
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
if (Platform.isLoaded("createdieselgenerators")) {
|
||||
JEIEvents.hideItems(event => {
|
||||
event.hide("create_connected:control_chip")
|
||||
event.hide("create_connected:incomplete_control_chip")
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
if (Platform.isLoaded("createdieselgenerators")) {
|
||||
JEIEvents.hideItems(event => {
|
||||
event.hide("createdieselgenerators:crude_oil_bucket")
|
||||
event.hide("createdieselgenerators:gasoline_bucket")
|
||||
event.hide("createdieselgenerators:diesel_bucket")
|
||||
event.hide("createdieselgenerators:biodiesel_bucket")
|
||||
event.hide("createdieselgenerators:plant_oil_bucket")
|
||||
})
|
||||
JEIEvents.hideFluids(event => {
|
||||
event.hide("createdieselgenerators:crude_oil")
|
||||
event.hide("createdieselgenerators:flowing_crude_oil")
|
||||
event.hide("createdieselgenerators:gasoline")
|
||||
event.hide("createdieselgenerators:flowing_gasoline")
|
||||
event.hide("createdieselgenerators:diesel")
|
||||
event.hide("createdieselgenerators:flowing_diesel")
|
||||
event.hide("createdieselgenerators:biodiesel")
|
||||
event.hide("createdieselgenerators:flowing_biodiesel")
|
||||
event.hide("createdieselgenerators:plant_oil")
|
||||
event.hide("createdieselgenerators:flowing_plant_oil")
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
// priority: 100
|
||||
|
||||
// Java imports
|
||||
// Mysterious Conversion recipe type
|
||||
const ConversionRecipe = Java.loadClass("com.simibubi.create.compat.jei.ConversionRecipe")
|
||||
// Used for creating Drawable graphics for JEI
|
||||
const ResourceLocation = Java.loadClass("net.minecraft.resources.ResourceLocation");
|
||||
const ChatFormatting = Java.loadClass("net.minecraft.ChatFormatting");
|
||||
const JEIIDrawableAnimated = Java.loadClass("mezz.jei.api.gui.drawable.IDrawableAnimated");
|
||||
// Used to make the FE energy tooltip when hovering over the energy bar
|
||||
const ThermalStringHelper = Java.loadClass("cofh.lib.util.helpers.StringHelper");
|
||||
// Used for to draw block models in jei categories
|
||||
const Boolean = Java.loadClass("java.lang.Boolean");
|
||||
const Axis = Java.loadClass("com.mojang.math.Axis");
|
||||
const BlockStateProperties = Java.loadClass("net.minecraft.world.level.block.state.properties.BlockStateProperties");
|
||||
const AnimatedKinetics = Java.loadClass("com.simibubi.create.compat.jei.category.animations.AnimatedKinetics");
|
||||
|
||||
const AttachFace = Java.loadClass("net.minecraft.world.level.block.state.properties.AttachFace")
|
||||
|
||||
// initialize globals
|
||||
if (!global.jeiCategories) global.jeiCategories = {}
|
||||
@@ -0,0 +1,133 @@
|
||||
if (!global.jeiCategories.alchemy) global.jeiCategories.alchemy = {
|
||||
recipeType: null,
|
||||
resources: {
|
||||
energyEmpty: null,
|
||||
energyFull: null,
|
||||
alchemyArrow: null
|
||||
},
|
||||
handlers: {
|
||||
verifyRecipe: undefined,
|
||||
setRecipe: undefined,
|
||||
draw: undefined,
|
||||
tooltips: undefined
|
||||
},
|
||||
loadResources: undefined
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {Internal.IGuiHelper} guiHelper
|
||||
*/
|
||||
global.jeiCategories.alchemy.loadResources = function(guiHelper) {
|
||||
this.resources.energyEmpty = guiHelper.createDrawable(
|
||||
new ResourceLocation("cabin:textures/gui/jei/widgets.png"),
|
||||
0,
|
||||
0,
|
||||
14,
|
||||
18
|
||||
);
|
||||
this.resources.energyFull = guiHelper.createAnimatedDrawable(
|
||||
guiHelper.createDrawable(new ResourceLocation("cabin:textures/gui/jei/widgets.png"), 14, 0, 14, 18),
|
||||
40,
|
||||
JEIIDrawableAnimated.StartDirection.BOTTOM,
|
||||
false
|
||||
);
|
||||
this.resources.alchemyArrow = guiHelper.createDrawable(
|
||||
new ResourceLocation("cabin:textures/gui/jei/widgets.png"),
|
||||
28,
|
||||
0,
|
||||
42,
|
||||
18
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Internal.IJeiHelpers} jeiHelpers
|
||||
* @param {any} recipe
|
||||
* @returns
|
||||
*/
|
||||
global.jeiCategories.alchemy.handlers.verifyRecipe = function (jeiHelpers, recipe) {
|
||||
// IMPORTANT: Always return true or false. If you do not, it could crash the game or cause JEI to not work properly.
|
||||
if (!recipe) return false;
|
||||
if (!recipe.data) return false;
|
||||
if (!recipe.data.input) return false;
|
||||
if (!recipe.data.output) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Internal.IJeiHelpers} jeiHelpers
|
||||
* @param {Internal.IRecipeLayoutBuilder} builder
|
||||
* @param {any} recipe
|
||||
* @param {Internal.IFocusGroup} focuses
|
||||
*/
|
||||
global.jeiCategories.alchemy.handlers.setRecipe = function (jeiHelpers, builder, recipe, focuses) {
|
||||
let guiHelper = jeiHelpers.getGuiHelper()
|
||||
let inputItems = recipe.data.input;
|
||||
|
||||
for(let i = 0;i < inputItems.length;++i) {
|
||||
builder.addSlot("INPUT", 20 + (20 * i), 45)
|
||||
.addItemStack(Item.of(inputItems[i]))
|
||||
.setStandardSlotBackground()
|
||||
.setBackground(guiHelper.getSlotDrawable(), -1, -1);
|
||||
}
|
||||
builder.addSlot("CATALYST", 75, 45)
|
||||
.addItemStack(Item.of("minecraft:hopper_minecart"));
|
||||
|
||||
builder.addSlot("OUTPUT", 114, 45)
|
||||
.addItemStack(Item.of(recipe.data.output))
|
||||
.setOutputSlotBackground()
|
||||
.setBackground(guiHelper.getOutputSlot(), -1, -1);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Internal.IJeiHelpers} jeiHelpers
|
||||
* @param {any} recipe
|
||||
* @param {Internal.IRecipeSlotsView} recipeSlotsView
|
||||
* @param {Internal.GuiGraphics} guiGraphics
|
||||
* @param {number} mouseX
|
||||
* @param {number} mouseY
|
||||
*/
|
||||
global.jeiCategories.alchemy.handlers.draw = function (jeiHelpers, recipe, recipeSlotsView, guiGraphics, mouseX, mouseY) {
|
||||
global.jeiCategories.alchemy.resources.energyEmpty.draw(guiGraphics, 5, 44);
|
||||
global.jeiCategories.alchemy.resources.energyFull.draw(guiGraphics, 5, 44);
|
||||
global.jeiCategories.alchemy.resources.alchemyArrow.draw(guiGraphics, 60, 44);
|
||||
|
||||
// I don't fully understand this matrix stuff, most of it is copied from Create
|
||||
let matrixStack = guiGraphics.pose();
|
||||
matrixStack.pushPose();
|
||||
matrixStack.translate(2, 22, 200);
|
||||
matrixStack.translate(75, 5, 0);
|
||||
matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5));
|
||||
matrixStack.mulPose(Axis.YP.rotationDegrees(22.5 + 90));
|
||||
|
||||
AnimatedKinetics.defaultBlockElement(Block.getBlock("thermal:machine_frame").defaultBlockState())
|
||||
.rotateBlock(0, 0, 0)
|
||||
.scale(20)
|
||||
.render(guiGraphics);
|
||||
|
||||
matrixStack.translate(0, 20, 0);
|
||||
|
||||
AnimatedKinetics.defaultBlockElement(Block.getBlock("ad_astra:small_orange_industrial_lamp").defaultBlockState().setValue(BlockStateProperties.ATTACH_FACE, AttachFace.CEILING))
|
||||
.rotateBlock(0, 0, 0)
|
||||
.scale(20)
|
||||
.render(guiGraphics);
|
||||
|
||||
matrixStack.popPose();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Internal.IJeiHelpers} jeiHelpers
|
||||
* @param {any} recipe
|
||||
* @param {Internal.IRecipeSlotsView} recipeSlotsView
|
||||
* @param {number} mouseX
|
||||
* @param {number} mouseY
|
||||
* @returns {[Internal.Component]}
|
||||
*/
|
||||
global.jeiCategories.alchemy.handlers.tooltips = function (jeiHelpers, recipe, recipeSlotsView, mouseX, mouseY) {
|
||||
if (mouseX > 5 && mouseX < 18 && mouseY > 44 && mouseY < 61) {
|
||||
return [ThermalStringHelper.getTextComponent("info.cofh.energy").append(": " + ThermalStringHelper.format(recipe.data.energy) + " " + ThermalStringHelper.localize("info.cofh.unit_rf"))];
|
||||
}
|
||||
return [];
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
JEIAddedEvents.registerCategories((event) => {
|
||||
event.custom("kubejs:alchemy", (category) => {
|
||||
let guiHelper = category.jeiHelpers.getGuiHelper();
|
||||
global.jeiCategories.alchemy.recipeType = category.recipeType;
|
||||
global.jeiCategories.alchemy.loadResources(guiHelper);
|
||||
|
||||
category.title("Alchemical Laser")
|
||||
.background(guiHelper.createBlankDrawable(146, 70))
|
||||
.icon(guiHelper.createDrawableItemStack(Item.of("kubejs:alchemical_laser")))
|
||||
.setIsRecipeHandledByCategory((recipe) => {
|
||||
return global.jeiCategories.alchemy.handlers["verifyRecipe"](category.jeiHelpers, recipe);
|
||||
})
|
||||
.setSetRecipeHandler((builder, recipe, focuses) => {
|
||||
global.jeiCategories.alchemy.handlers["setRecipe"](category.jeiHelpers, builder, recipe, focuses);
|
||||
})
|
||||
.setDrawHandler((recipe, recipeSlotsView, guiGraphics, mouseX, mouseY) => {
|
||||
global.jeiCategories.alchemy.handlers["draw"](category.jeiHelpers, recipe, recipeSlotsView, guiGraphics, mouseX, mouseY);
|
||||
})
|
||||
.setTooltipHandler((recipe, recipeSlotsView, mouseX, mouseY) => {
|
||||
return global.jeiCategories.alchemy.handlers["tooltips"](category.jeiHelpers, recipe, recipeSlotsView, mouseX, mouseY);
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
JEIAddedEvents.registerRecipeCatalysts(event => {
|
||||
let addRecipeCatalyst = function(ingredient, recipeTypes) {
|
||||
return event.data["addRecipeCatalyst(net.minecraft.world.item.ItemStack,mezz.jei.api.recipe.RecipeType[])"](ingredient, recipeTypes);
|
||||
}
|
||||
addRecipeCatalyst(Item.of("thermal:machine_frame"), [global.jeiCategories.alchemy.recipeType]);
|
||||
addRecipeCatalyst(Item.of("kubejs:alchemical_laser"), [global.jeiCategories.alchemy.recipeType]);
|
||||
addRecipeCatalyst(Item.of("minecraft:hopper_minecart"), [global.jeiCategories.alchemy.recipeType]);
|
||||
})
|
||||
|
||||
JEIAddedEvents.registerRecipes((event) => {
|
||||
event.custom("kubejs:alchemy")
|
||||
.add({input: ["thermal:flux_magnet", Item.of("minecraft:basalt", 2)], output: "thermal:basalz_rod", energy: 160})
|
||||
.add({input: ["ae2:entropy_manipulator", Item.of("minecraft:snowball", 2)], output: "thermal:blizz_rod", energy: 160});
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
// We have to brute force things since the kubejs create guide doesn't work at all
|
||||
JEIEvents.removeRecipes(event => {
|
||||
const mysteryConversion = global.jeiRuntime.jeiHelpers.getRecipeType("create:mystery_conversion").get()
|
||||
global.jeiRuntime.recipeManager.addRecipes(mysteryConversion, [
|
||||
// Refined radiance mysterious conversion
|
||||
new ConversionRecipe.create("create:chromatic_compound", "create:refined_radiance"),
|
||||
new ConversionRecipe.create("create:chromatic_compound", "create:shadow_steel")
|
||||
]);
|
||||
})
|
||||
@@ -0,0 +1,106 @@
|
||||
if (!global.jeiCategories.straining) global.jeiCategories.straining = {
|
||||
recipeType: null,
|
||||
resources: {
|
||||
jeiArrow: null
|
||||
},
|
||||
handlers: {
|
||||
verifyRecipe: undefined,
|
||||
setRecipe: undefined,
|
||||
draw: undefined,
|
||||
tooltips: undefined
|
||||
},
|
||||
loadResources: undefined
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {Internal.IGuiHelper} guiHelper
|
||||
*/
|
||||
global.jeiCategories.straining.loadResources = function(guiHelper) {
|
||||
global.jeiCategories.straining.resources.jeiArrow = guiHelper.createAnimatedDrawable(
|
||||
guiHelper.getRecipeArrowFilled(),
|
||||
60,
|
||||
JEIIDrawableAnimated.StartDirection.LEFT,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Internal.IJeiHelpers} jeiHelpers
|
||||
* @param {any} recipe
|
||||
* @returns
|
||||
*/
|
||||
global.jeiCategories.straining.handlers.verifyRecipe = function (jeiHelpers, recipe) {
|
||||
// IMPORTANT: Always return true or false. If you do not, it could crash the game or cause JEI to not work properly.
|
||||
if (!recipe) return false;
|
||||
if (!recipe.data) return false;
|
||||
if (!recipe.data.input) return false;
|
||||
if (!recipe.data.output) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Internal.IJeiHelpers} jeiHelpers
|
||||
* @param {Internal.IRecipeLayoutBuilder} builder
|
||||
* @param {any} recipe
|
||||
* @param {Internal.IFocusGroup} focuses
|
||||
*/
|
||||
global.jeiCategories.straining.handlers.setRecipe = function (jeiHelpers, builder, recipe, focuses) {
|
||||
let guiHelper = jeiHelpers.getGuiHelper()
|
||||
let inputItem = recipe.data.input;
|
||||
let outputItems = recipe.data.output;
|
||||
|
||||
builder.addSlot("CATALYST", 8, 6)
|
||||
.addItemStack(Item.of(inputItem))
|
||||
.setStandardSlotBackground()
|
||||
.setBackground(guiHelper.getSlotDrawable(), -1, -1);
|
||||
|
||||
for(let i = 0;i < 4;++i) {
|
||||
let slotBuilder = builder.addSlot("OUTPUT", 68 + (18 * i), 6)
|
||||
slotBuilder.setStandardSlotBackground()
|
||||
slotBuilder.setBackground(guiHelper.getSlotDrawable(), -1, -1);
|
||||
|
||||
if (i < outputItems.length) {
|
||||
let itemName = outputItems[i].Item;
|
||||
let chance = outputItems[i].Chance;
|
||||
|
||||
if (itemName.startsWith("#")) {
|
||||
slotBuilder.addItemStacks(Ingredient.of(itemName).getStacks().toArray());
|
||||
} else {
|
||||
slotBuilder.addItemStack(Item.of(itemName));
|
||||
}
|
||||
|
||||
slotBuilder.addRichTooltipCallback((recipeSlotView, tooltip) => {
|
||||
let chancePercent = (Math.round(chance * 100)).toString();
|
||||
let text = Component.translatable("create.recipe.processing.chance", chancePercent).withStyle(ChatFormatting.GOLD)
|
||||
tooltip.add(text);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Internal.IJeiHelpers} jeiHelpers
|
||||
* @param {any} recipe
|
||||
* @param {Internal.IRecipeSlotsView} recipeSlotsView
|
||||
* @param {Internal.GuiGraphics} guiGraphics
|
||||
* @param {number} mouseX
|
||||
* @param {number} mouseY
|
||||
*/
|
||||
global.jeiCategories.straining.handlers.draw = function (jeiHelpers, recipe, recipeSlotsView, guiGraphics, mouseX, mouseY) {
|
||||
let guiHelper = jeiHelpers.getGuiHelper();
|
||||
guiHelper.getRecipeArrow().draw(guiGraphics, 34, 6);
|
||||
global.jeiCategories.straining.resources.jeiArrow.draw(guiGraphics, 34, 6);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Internal.IJeiHelpers} jeiHelpers
|
||||
* @param {any} recipe
|
||||
* @param {Internal.IRecipeSlotsView} recipeSlotsView
|
||||
* @param {number} mouseX
|
||||
* @param {number} mouseY
|
||||
* @returns {[Internal.Component]}
|
||||
*/
|
||||
global.jeiCategories.straining.handlers.tooltips = function(jeiHelpers, recipe, recipeSlotsView, mouseX, mouseY) {
|
||||
return [];
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
JEIAddedEvents.registerCategories((event) => {
|
||||
event.custom("kubejs:straining", (category) => {
|
||||
let guiHelper = category.jeiHelpers.getGuiHelper();
|
||||
global.jeiCategories.straining.recipeType = category.recipeType;
|
||||
global.jeiCategories.straining.loadResources(guiHelper);
|
||||
|
||||
category.title("Straining")
|
||||
.background(guiHelper.createBlankDrawable(146, 30))
|
||||
.icon(guiHelper.createDrawableItemStack(Item.of("mbd2:strainer")))
|
||||
.setIsRecipeHandledByCategory((recipe) => {
|
||||
return global.jeiCategories.straining.handlers["verifyRecipe"](category.jeiHelpers, recipe);
|
||||
})
|
||||
.setSetRecipeHandler((builder, recipe, focuses) => {
|
||||
global.jeiCategories.straining.handlers["setRecipe"](category.jeiHelpers, builder, recipe, focuses);
|
||||
})
|
||||
.setDrawHandler((recipe, recipeSlotsView, guiGraphics, mouseX, mouseY) => {
|
||||
global.jeiCategories.straining.handlers["draw"](category.jeiHelpers, recipe, recipeSlotsView, guiGraphics, mouseX, mouseY);
|
||||
})
|
||||
.setTooltipHandler((recipe, recipeSlotsView, mouseX, mouseY) => {
|
||||
return global.jeiCategories.straining.handlers["tooltips"](category.jeiHelpers, recipe, recipeSlotsView, mouseX, mouseY);
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
JEIAddedEvents.registerRecipeCatalysts(event => {
|
||||
let addRecipeCatalyst = function(ingredient, recipeTypes) {
|
||||
return event.data["addRecipeCatalyst(net.minecraft.world.item.ItemStack,mezz.jei.api.recipe.RecipeType[])"](ingredient, recipeTypes);
|
||||
}
|
||||
addRecipeCatalyst(Item.of("mbd2:strainer"), [global.jeiCategories.straining.recipeType]);
|
||||
})
|
||||
|
||||
JEIAddedEvents.registerRecipes((event) => {
|
||||
let strainer_filter = Item.of("kubejs:strainer_filter"); strainer_filter.setDamageValue(1);
|
||||
event.custom("kubejs:straining")
|
||||
.add({input: strainer_filter, output: [{Item: "#kubejs:strainer/sands", Chance: 0.75}, {Item: "minecraft:clay_ball", Chance: 0.25}]})
|
||||
});
|
||||
23
overrides/kubejs/client_scripts/lang.js
Normal file
23
overrides/kubejs/client_scripts/lang.js
Normal file
@@ -0,0 +1,23 @@
|
||||
const LANGS = ["es_es", "fr_fr", "pt_br", "ru_ru", "zh_cn"]
|
||||
LANGS.forEach(lang => {
|
||||
ClientEvents.lang(lang, event => {
|
||||
global.trades.forEach(id => {
|
||||
// raw may be "16x mod:custom_item" or "minecraft:dirt"
|
||||
let raw = global.transactions[id][0].out
|
||||
let displayName = Text.translatable(Item.of(raw).item.getDescriptionId())
|
||||
|
||||
let cardKey = `item.kubejs.trade_card_${id}`
|
||||
|
||||
event.add(cardKey, Text.translatable("cabin.import.prefix", displayName).getString())
|
||||
})
|
||||
|
||||
global.professions.forEach(id => {
|
||||
let profKey = `cabin.profession.${id}`
|
||||
let display = Text.translatable("cabin.profession.prefix", Text.translatable(profKey)).getString()
|
||||
|
||||
let cardKey = `item.kubejs.profession_card_${id}`
|
||||
|
||||
event.add(cardKey, display)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,52 @@
|
||||
if(Platform.isLoaded("create_central_kitchen")) {
|
||||
ClientEvents.highPriorityAssets(event=>{
|
||||
let emiHide = [
|
||||
"item:create_central_kitchen:creative_tab_icon",
|
||||
|
||||
"item:create_central_kitchen:incomplete_egg_sandwich",
|
||||
"item:create_central_kitchen:incomplete_chicken_sandwich",
|
||||
"item:create_central_kitchen:incomplete_hamburger",
|
||||
"item:create_central_kitchen:incomplete_bacon_sandwich",
|
||||
"item:create_central_kitchen:incomplete_mutton_wrap",
|
||||
"item:create_central_kitchen:incomplete_apple_pie",
|
||||
"item:create_central_kitchen:incomplete_sweet_berry_cheesecake",
|
||||
"item:create_central_kitchen:incomplete_pumpkin_pie",
|
||||
"item:create_central_kitchen:incomplete_cherry_pie",
|
||||
"item:create_central_kitchen:incomplete_truffle_pie",
|
||||
"item:create_central_kitchen:incomplete_mulberry_pie",
|
||||
];
|
||||
|
||||
if (!Platform.isLoaded("upgrade_aquatic")) emiHide.push("item:create_central_kitchen:mulberry_pie_slice")
|
||||
if (!Platform.isLoaded("peculiars")) {
|
||||
emiHide.push("item:create_central_kitchen:aloe_cake_slice")
|
||||
emiHide.push("item:create_central_kitchen:yucca_cake_slice")
|
||||
emiHide.push("item:create_central_kitchen:passionfruit_cake_slice")
|
||||
}
|
||||
if (!Platform.isLoaded("seasonals")) {
|
||||
emiHide.push("item:create_central_kitchen:pumpkin_cake_slice")
|
||||
emiHide.push("item:create_central_kitchen:sweet_berry_cake_slice")
|
||||
}
|
||||
if (!Platform.isLoaded("createaddition")) {
|
||||
emiHide.push("item:create_central_kitchen:chocolate_cake_slice")
|
||||
emiHide.push("item:create_central_kitchen:honey_cake_slice")
|
||||
}
|
||||
|
||||
let json = {
|
||||
removed: emiHide
|
||||
}
|
||||
event.add("emi:index/stacks/create_central_kitchen_removed_stacks", json)
|
||||
|
||||
// Hide CABIN's fern deploying recipes from EMI since cck has an automated cuting tab.
|
||||
let hiddenRecipes = [
|
||||
"jei:/kubejs/deploying/earth_slime_fern_leaf_using_deployer",
|
||||
"jei:/kubejs/deploying/sky_slime_fern_leaf_using_deployer",
|
||||
"jei:/kubejs/deploying/ender_slime_fern_leaf_using_deployer"
|
||||
]
|
||||
|
||||
json = {
|
||||
filters: hiddenRecipes.map(recipe=>{return {id: recipe}})
|
||||
}
|
||||
|
||||
event.add("emi:recipe/filters/create_central_kitchen_hidden_recipes", json)
|
||||
})
|
||||
}
|
||||
3
overrides/kubejs/client_scripts/mods/quark.js
Normal file
3
overrides/kubejs/client_scripts/mods/quark.js
Normal file
@@ -0,0 +1,3 @@
|
||||
if(Platform.isLoaded("quark")) {
|
||||
POTIONS.push(["quark:resilience", ["long", "strong"]])
|
||||
}
|
||||
6
overrides/kubejs/client_scripts/mods/trials.js
Normal file
6
overrides/kubejs/client_scripts/mods/trials.js
Normal file
@@ -0,0 +1,6 @@
|
||||
if (Platform.isLoaded("trials")) {
|
||||
POTIONS.push(["trials:winded", []])
|
||||
POTIONS.push(["trials:infested", []])
|
||||
POTIONS.push(["trials:weave", []])
|
||||
POTIONS.push(["trials:ooze", []])
|
||||
}
|
||||
164
overrides/kubejs/client_scripts/ponder.js
Normal file
164
overrides/kubejs/client_scripts/ponder.js
Normal file
@@ -0,0 +1,164 @@
|
||||
|
||||
// Ponder.registry((event) => {
|
||||
// event.create("kubejs:alchemical_laser")
|
||||
// .scene("alchemy_setup", "The Thermal Alchemy Setup", "laser_alchemy", (scene, util) => {
|
||||
// scene.configureBasePlate(0, 0, 5);
|
||||
// scene.showBasePlate();
|
||||
// scene.idle(10)
|
||||
|
||||
// let largeCog = util.select.position(5, 0, 2)
|
||||
// let deployerSingle = util.select.position(4, 1, 3)
|
||||
// let smallCog = util.select.position(4, 1, 2)
|
||||
// let lamp = util.select.fromTo(4, 1, 4, 4, 2, 4)
|
||||
// let deployer = util.select.fromTo(4, 1, 2, 4, 2, 4)
|
||||
// let machine = util.select.position(2, 1, 3)
|
||||
// let light = util.select.position(2, 1, 2)
|
||||
|
||||
// scene.world.showSection(machine, Facing.down)
|
||||
// scene.idle(15)
|
||||
|
||||
// scene.overlay.showText(50)
|
||||
// .text("Start with an Invar Machine")
|
||||
// .pointAt(util.vector.topOf(2, 1, 3))
|
||||
// .colored(PonderPalette.WHITE)
|
||||
// .placeNearTarget()
|
||||
// scene.idle(60)
|
||||
|
||||
// scene.world.showSection(light, Facing.east)
|
||||
// scene.overlay.showText(40)
|
||||
// .text("Attach a Cage Lamp of any colour")
|
||||
// .pointAt(util.vector.centerOf(2, 1, 2))
|
||||
// .colored(PonderPalette.WHITE)
|
||||
// .placeNearTarget()
|
||||
// scene.idle(60)
|
||||
|
||||
|
||||
// scene.overlay.showText(40)
|
||||
// .text("Toggle it on with a wrench")
|
||||
// .colored(PonderPalette.GREEN)
|
||||
// .pointAt(util.vector.centerOf(2, 1, 2))
|
||||
// .placeNearTarget()
|
||||
// scene.idle(20)
|
||||
|
||||
// scene.overlay.showControls(new PonderInput(util.vector.blockSurface(util.vector.centerOf(2.5, 1, 2), Facing.west), PonderPointing.RIGHT)
|
||||
// .rightClick().withWrench(),
|
||||
// 50)
|
||||
// scene.idle(10)
|
||||
|
||||
// scene.world.setBlock(util.grid.at(2, 1, 2), util.getDefaultState("kubejs:ponder_laser_lamp_on"), false)
|
||||
// scene.idle(15)
|
||||
|
||||
// scene.idle(50)
|
||||
|
||||
// scene.world.setKineticSpeed(deployer, 0)
|
||||
// scene.world.showSection(deployerSingle, Facing.down)
|
||||
// scene.idle(15)
|
||||
|
||||
// scene.overlay.showText(60)
|
||||
// .text("Place a Deployer targeting the Invar Machine")
|
||||
// .pointAt(util.vector.topOf(4, 1, 3))
|
||||
// .colored(PonderPalette.WHITE)
|
||||
// .placeNearTarget()
|
||||
// scene.idle(70)
|
||||
// scene.overlay.showControls(new PonderInput(util.vector.blockSurface(util.grid.at(4, 1, 3), Facing.west), PonderPointing.RIGHT)
|
||||
// .rightClick().withWrench(),
|
||||
// 50)
|
||||
// scene.idle(8)
|
||||
// scene.world.modifyTileNBT(deployerSingle, (nbt) => {nbt.Mode = { Mode: "PUNCH"}});
|
||||
|
||||
// scene.overlay.showText(50)
|
||||
// .text("Set it to Punch mode using a Wrench")
|
||||
// .colored(PonderPalette.GREEN)
|
||||
// .pointAt(util.vector.topOf(4, 1, 3))
|
||||
// .placeNearTarget()
|
||||
// scene.idle(20)
|
||||
// scene.world.showSection(largeCog, Facing.up)
|
||||
// scene.world.showSection(smallCog, Facing.down)
|
||||
// scene.idle(5)
|
||||
// scene.world.showSection(lamp, Facing.down)
|
||||
// scene.idle(5)
|
||||
// scene.world.setKineticSpeed(deployer, 64)
|
||||
// scene.idle(60)
|
||||
// scene.overlay.showText(50)
|
||||
// .attachKeyFrame()
|
||||
// .text("Whenever the Deployer activates...")
|
||||
// .pointAt(util.vector.topOf(4, 1, 3))
|
||||
// .colored(PonderPalette.WHITE)
|
||||
// .placeNearTarget()
|
||||
|
||||
// scene.idle(30)
|
||||
// scene.world.toggleRedstonePower(lamp)
|
||||
// scene.idle(3)
|
||||
// scene.world.moveDeployer(util.grid.at(4, 1, 3), 1, 25);
|
||||
// scene.idle(15)
|
||||
// scene.idle(10)
|
||||
|
||||
// scene.effects.indicateSuccess(util.grid.at(2, 1, 2))
|
||||
// scene.effects.indicateSuccess(util.grid.at(2, 1, 1))
|
||||
// scene.effects.indicateSuccess(util.grid.at(2, 1, 0))
|
||||
// scene.effects.indicateSuccess(util.grid.at(2, 1, -1))
|
||||
|
||||
// scene.idle(3)
|
||||
// scene.world.moveDeployer(util.grid.at(4, 1, 3), -1, 25);
|
||||
// scene.idle(10)
|
||||
// scene.world.toggleRedstonePower(lamp)
|
||||
// // scene.effects.indicateRedstone(util.grid.at(4, 2, 4))
|
||||
|
||||
// scene.overlay.showText(50)
|
||||
// .text("...the Laser Lamp will emit a High-Energy Beam")
|
||||
// .colored(PonderPalette.GREEN)
|
||||
// .pointAt(util.vector.centerOf(2, 1, 2))
|
||||
// .placeNearTarget()
|
||||
// scene.idle(60)
|
||||
|
||||
// scene.world.showSection(util.select.fromTo(1, 1, 0, 3, 1, 0), Facing.west)
|
||||
// scene.idle(5)
|
||||
// //let HopperMinecart = Java.loadClass("net.minecraft.entity.item.minecart.HopperMinecartEntity")
|
||||
// //let cartHandle =
|
||||
// //scene.special.createCart(util.vector.topOf(2, 0, 0), 0, (w, x, y, z) => new HopperMinecart(w, x, y, z))
|
||||
// scene.world.createEntity("minecraft:hopper_minecart", [2,1,0]);
|
||||
// scene.idle(20)
|
||||
// scene.overlay.showText(80)
|
||||
// .attachKeyFrame()
|
||||
// .text("Hopper Minecarts caught in the Beam will process their contained Items")
|
||||
// .pointAt(util.vector.centerOf(2, 1, 0))
|
||||
// .colored(PonderPalette.WHITE)
|
||||
// .placeNearTarget()
|
||||
// scene.idle(70)
|
||||
|
||||
// scene.overlay.showControls(new PonderInput(util.vector.centerOf(2, 1, 0), PonderPointing.DOWN)
|
||||
// .withItem("thermal:flux_magnet"),
|
||||
// 40)
|
||||
// scene.idle(5)
|
||||
// scene.overlay.showControls(new PonderInput(util.vector.centerOf(2, 1, 0), PonderPointing.UP)
|
||||
// .withItem("minecraft:basalt"),
|
||||
// 35)
|
||||
// scene.idle(30)
|
||||
|
||||
// scene.world.toggleRedstonePower(lamp)
|
||||
// scene.idle(3)
|
||||
// scene.world.moveDeployer(util.grid.at(4, 1, 3), 1, 25);
|
||||
// scene.idle(15)
|
||||
// scene.idle(10)
|
||||
|
||||
// scene.effects.indicateSuccess(util.grid.at(2, 1, 2))
|
||||
// scene.effects.indicateSuccess(util.grid.at(2, 1, 1))
|
||||
// scene.effects.indicateSuccess(util.grid.at(2, 1, 0))
|
||||
// scene.effects.indicateSuccess(util.grid.at(2, 1, -1))
|
||||
|
||||
// scene.idle(3)
|
||||
// scene.world.moveDeployer(util.grid.at(4, 1, 3), -1, 25);
|
||||
// scene.idle(10)
|
||||
|
||||
// scene.overlay.showControls(new PonderInput(util.vector.centerOf(2, 1, 0), PonderPointing.DOWN)
|
||||
// .withItem("thermal:flux_magnet"),
|
||||
// 40)
|
||||
// scene.idle(5)
|
||||
// scene.overlay.showControls(new PonderInput(util.vector.centerOf(2, 1, 0), PonderPointing.UP)
|
||||
// .withItem("thermal:basalz_rod"),
|
||||
// 35)
|
||||
|
||||
// // scene.effects.indicateRedstone(util.grid.at(4, 2, 4))
|
||||
// scene.world.toggleRedstonePower(lamp)
|
||||
// })
|
||||
// })
|
||||
@@ -0,0 +1,2 @@
|
||||
// Use scene = new CreateSceneBuilder(scene) to get a scene builder object with Create Scene Building Methods
|
||||
const CreateSceneBuilder = Java.loadClass("com.simibubi.create.foundation.ponder.CreateSceneBuilder")
|
||||
177
overrides/kubejs/client_scripts/ponders/laser_alchemy.js
Normal file
177
overrides/kubejs/client_scripts/ponders/laser_alchemy.js
Normal file
@@ -0,0 +1,177 @@
|
||||
Ponder.tags((event) => {
|
||||
/**
|
||||
* "kubejs:getting_started" -> the tag name
|
||||
* "minecraft:paper" -> the icon
|
||||
* "Getting Started" -> the title
|
||||
* "This is a description" -> the description
|
||||
* [...items] -> default items
|
||||
*/
|
||||
event.createTag(
|
||||
"cabin:ponders",
|
||||
"kubejs:gold_machine",
|
||||
// Ponder for Kubejs is bugged to not show non kubejs namespace text, edit these in en_us.json instead
|
||||
"CABIN",
|
||||
"Components which are distinctive to A&B and CABIN",
|
||||
["kubejs:alchemical_laser"]
|
||||
);
|
||||
});
|
||||
|
||||
Ponder.registry((event) => {
|
||||
event.create("kubejs:alchemical_laser")
|
||||
.scene("alchemy_setup", "The Alchemical Laser", "cabin:laser_alchemy", (scene, util) => {
|
||||
scene = new CreateSceneBuilder(scene)
|
||||
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.showBasePlate();
|
||||
scene.idle(10)
|
||||
|
||||
let largeCog = util.select.position(5, 0, 2)
|
||||
let deployerSingle = util.select.position(4, 1, 3)
|
||||
let smallCog = util.select.position(4, 1, 2)
|
||||
let lamp = util.select.fromTo(4, 1, 4, 4, 2, 4)
|
||||
let deployer = util.select.fromTo(4, 1, 2, 4, 2, 4)
|
||||
let machine = util.select.position(2, 1, 3)
|
||||
let light = util.select.position(2, 1, 2)
|
||||
|
||||
scene.world.showSection(machine, Facing.down)
|
||||
scene.idle(15)
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.text("Start with an Invar Machine")
|
||||
.pointAt(util.vector.topOf(2, 1, 3))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
scene.idle(60)
|
||||
|
||||
scene.world.showSection(light, Facing.east)
|
||||
scene.overlay.showText(40)
|
||||
.text("Attach an Industrial Lamp of any colour")
|
||||
.pointAt(util.vector.centerOf(2, 1, 2))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
scene.idle(60)
|
||||
|
||||
|
||||
// scene.overlay.showText(40)
|
||||
// .text("Toggle it on with a wrench")
|
||||
// .colored(PonderPalette.GREEN)
|
||||
// .pointAt(util.vector.centerOf(2, 1, 2))
|
||||
// .placeNearTarget()
|
||||
// scene.idle(20)
|
||||
|
||||
// scene.showControls(50, [2.5, 1, 2], "right")
|
||||
// .rightClick().withItem("create:wrench")
|
||||
// scene.idle(10)
|
||||
|
||||
// scene.world.setBlock(util.grid.at(2, 1, 2), util.getDefaultState("kubejs:ponder_laser_lamp_on"), false)
|
||||
// scene.idle(15)
|
||||
//
|
||||
// scene.idle(50)
|
||||
|
||||
scene.world.setKineticSpeed(deployer, 0)
|
||||
scene.world.showSection(deployerSingle, Facing.down)
|
||||
scene.idle(15)
|
||||
|
||||
scene.overlay.showText(60)
|
||||
.text("Place a Deployer targeting the Invar Machine")
|
||||
.pointAt(util.vector.topOf(4, 1, 3))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
scene.idle(70)
|
||||
scene.showControls(50, [4, 1, 3], "right")
|
||||
.rightClick().withItem("create:wrench")
|
||||
scene.idle(8)
|
||||
scene.world.modifyBlockEntityNBT(deployerSingle, (nbt) => {nbt.Mode = { Mode: "PUNCH"}});
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.text("Set it to Punch mode using a Wrench")
|
||||
.colored(PonderPalette.GREEN)
|
||||
.pointAt(util.vector.topOf(4, 1, 3))
|
||||
.placeNearTarget()
|
||||
scene.idle(20)
|
||||
scene.world.showSection(largeCog, Facing.up)
|
||||
scene.world.showSection(smallCog, Facing.down)
|
||||
scene.idle(5)
|
||||
scene.world.showSection(lamp, Facing.down)
|
||||
scene.idle(5)
|
||||
scene.world.setKineticSpeed(deployer, 64)
|
||||
scene.idle(60)
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Whenever the Deployer activates...")
|
||||
.pointAt(util.vector.topOf(4, 1, 3))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
|
||||
scene.idle(30)
|
||||
scene.world.toggleRedstonePower(lamp)
|
||||
scene.idle(3)
|
||||
scene.world.moveDeployer(util.grid.at(4, 1, 3), 1, 25);
|
||||
scene.idle(15)
|
||||
scene.idle(10)
|
||||
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 2), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 1), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 0), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, -1), 0xFF9600, 10)
|
||||
|
||||
scene.idle(3)
|
||||
scene.world.moveDeployer(util.grid.at(4, 1, 3), -1, 25);
|
||||
scene.idle(10)
|
||||
scene.world.toggleRedstonePower(lamp)
|
||||
// scene.effects.indicateRedstone(util.grid.at(4, 2, 4))
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.text("...the Laser Lamp will emit a High-Energy Beam")
|
||||
.colored(PonderPalette.GREEN)
|
||||
.pointAt(util.vector.centerOf(2, 1, 2))
|
||||
.placeNearTarget()
|
||||
scene.idle(60)
|
||||
|
||||
scene.world.showSection(util.select.fromTo(1, 1, 0, 3, 1, 0), Facing.west)
|
||||
scene.idle(5)
|
||||
// let HopperMinecart = java("net.minecraft.entity.item.minecart.HopperMinecartEntity")
|
||||
// let cartHandle =
|
||||
// scene.special.createCart(util.vector.topOf(2, 0, 0), 0, (w, x, y, z) => new HopperMinecart(w, x, y, z))
|
||||
scene.world.createEntity("minecraft:hopper_minecart", [2.5,1,0]);
|
||||
scene.idle(20)
|
||||
scene.overlay.showText(80)
|
||||
.attachKeyFrame()
|
||||
.text("Hopper Minecarts caught in the Beam will process their contained Items")
|
||||
.pointAt(util.vector.centerOf(2, 1, 0))
|
||||
.colored(PonderPalette.WHITE)
|
||||
.placeNearTarget()
|
||||
scene.idle(70)
|
||||
|
||||
scene.showControls(40, [2.5, 2, 0.5], "down")
|
||||
.withItem("thermal:flux_magnet")
|
||||
scene.idle(5)
|
||||
scene.showControls(35, [2.5, 1.75, 0.5], "up")
|
||||
.withItem("minecraft:basalt")
|
||||
scene.idle(30)
|
||||
|
||||
scene.world.toggleRedstonePower(lamp)
|
||||
scene.idle(3)
|
||||
scene.world.moveDeployer(util.grid.at(4, 1, 3), 1, 25);
|
||||
scene.idle(15)
|
||||
scene.idle(10)
|
||||
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 2), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 1), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, 0), 0xFF9600, 10)
|
||||
scene.effects.createRedstoneParticles(util.grid.at(2, 1, -1), 0xFF9600, 10)
|
||||
|
||||
scene.idle(3)
|
||||
scene.world.moveDeployer(util.grid.at(4, 1, 3), -1, 25);
|
||||
scene.idle(10)
|
||||
|
||||
scene.showControls(40, [2.5, 2, 0.5], "down")
|
||||
.withItem("thermal:flux_magnet")
|
||||
scene.idle(5)
|
||||
scene.showControls(35, [2.5, 1.75, 0.5], "up")
|
||||
.withItem("thermal:basalz_rod")
|
||||
|
||||
// scene.effects.indicateRedstone(util.grid.at(4, 2, 4))
|
||||
scene.world.toggleRedstonePower(lamp)
|
||||
})
|
||||
})
|
||||
33
overrides/kubejs/client_scripts/resource_pack_updates.js
Normal file
33
overrides/kubejs/client_scripts/resource_pack_updates.js
Normal file
@@ -0,0 +1,33 @@
|
||||
const Minecraft = Java.loadClass("net.minecraft.client.Minecraft");
|
||||
const ResourceOverridesManager = Java.loadClass("fuzs.resourcepackoverrides.client.data.ResourceOverridesManager")
|
||||
|
||||
// Resets resource packs to the default, including resource packs configured by Resource Pack Overrides.
|
||||
// The version only needs to be updated when the default enabled resource packs are changed. Otherwise this number can stay the same.
|
||||
// Uses the 3 numbers from the semantic version. 5.3.2 would have 5 as the major version, 3 as the minor version, 2 as the patch version.
|
||||
const MAJOR_VERSION = 2;
|
||||
const MINOR_VERSION = 0;
|
||||
const PATCH_VERSION = 0;
|
||||
|
||||
const RESOURCE_VERSION = (MAJOR_VERSION << 16) + (MINOR_VERSION << 8) + PATCH_VERSION;
|
||||
const FILE_NAME = "kubejs_client_data.json";
|
||||
{
|
||||
|
||||
// read data from the file saved in the client's Minecraft folder
|
||||
let data = JsonIO.read(FILE_NAME) || {}
|
||||
|
||||
if (data.resourceOptionsVersion != RESOURCE_VERSION) {
|
||||
let instance = Minecraft.getInstance()
|
||||
let resourcePacks = ResourceOverridesManager.getDefaultResourcePacks(true)
|
||||
|
||||
// In client_scripts, If we set the resource packs in options to our list of resource packs we want to use, it'll load up the game using those resources
|
||||
instance.options.resourcePacks.clear()
|
||||
for(let i = 0;i < resourcePacks.size();++i) {
|
||||
instance.options.resourcePacks.add(resourcePacks.get(i))
|
||||
}
|
||||
instance.options.save()
|
||||
|
||||
// write the new version into the file so that we don't reset enabled resource packs until the defaults are changed again.
|
||||
data.resourceOptionsVersion = RESOURCE_VERSION
|
||||
JsonIO.write(FILE_NAME, data)
|
||||
}
|
||||
}
|
||||
88
overrides/kubejs/client_scripts/tooltips.js
Normal file
88
overrides/kubejs/client_scripts/tooltips.js
Normal file
@@ -0,0 +1,88 @@
|
||||
ItemEvents.tooltip(tooltip => {
|
||||
let holds = (id, slots) => tooltip.add("metalbarrels:" + id + "_barrel", Text.translatable("item.metalbarrels.barrel.tooltip", slots));
|
||||
let main_assembly = (id, stage) => tooltip.add(id, Text.translatable("item.kubejs.main_assembly", stage == "4" ? "Finale" : "Chapter " + stage));
|
||||
let bonus_assembly = (id, stage) => tooltip.add(id, Text.translatable("item.kubejs.bonus_assembly", "Chapter " + stage));
|
||||
let not_consumed = (id) => tooltip.add(id, Text.translatable("item.kubejs.not_consumed_in_assembly"));
|
||||
|
||||
tooltip.add("minecraft:redstone_ore", Text.translatable("item.minecraft.redstone_ore.tooltip"));
|
||||
tooltip.add("minecraft:deepslate_redstone_ore", Text.translatable("item.minecraft.deepslate_redstone_ore.tooltip"));
|
||||
tooltip.add("supplementaries:ash", Text.translatable("item.supplementaries.ash.tooltip"));
|
||||
tooltip.add("functionalstorage:storage_controller", Text.translatable("item.functionalstorage.controller.tooltip"));
|
||||
tooltip.add("functionalstorage:controller_extension", Text.translatable("item.functionalstorage.controller_extension.tooltip"));
|
||||
|
||||
holds("copper", 5 * 9);
|
||||
holds("iron", 6 * 9);
|
||||
holds("silver", 8 * 9);
|
||||
holds("gold", 9 * 9);
|
||||
|
||||
main_assembly("kubejs:kinetic_mechanism", "1");
|
||||
bonus_assembly("kubejs:sealed_mechanism", "1A");
|
||||
bonus_assembly("kubejs:reinforced_mechanism", "1B");
|
||||
main_assembly("create:precision_mechanism", "2");
|
||||
bonus_assembly("kubejs:infernal_mechanism", "2A");
|
||||
bonus_assembly("kubejs:logistic_mechanism", "2B");
|
||||
main_assembly("kubejs:inductive_mechanism", "3");
|
||||
bonus_assembly("kubejs:abstruse_mechanism", "3A");
|
||||
main_assembly("kubejs:calculation_mechanism", "4");
|
||||
|
||||
not_consumed("cb_microblock:stone_saw");
|
||||
not_consumed("cb_microblock:iron_saw");
|
||||
not_consumed("cb_microblock:diamond_saw");
|
||||
not_consumed("projectred-core:screwdriver");
|
||||
not_consumed("kubejs:chromatic_resonator");
|
||||
not_consumed("kubejs:flash_drive");
|
||||
|
||||
global.substrates[0].forEach(e => tooltip.add(e.id, Text.translatable("item.kubejs.category.igneous")));
|
||||
global.substrates[1].forEach(e => tooltip.add(e.id, Text.translatable("item.kubejs.category.herbal")));
|
||||
global.substrates[2].forEach(e => tooltip.add(e.id, Text.translatable("item.kubejs.category.volatile")));
|
||||
global.substrates[3].forEach(e => tooltip.add(e.id, Text.translatable("item.kubejs.category.crystalline")));
|
||||
global.substrates[4].forEach(e => tooltip.add(e.id, Text.translatable("item.kubejs.category.metallurgic")));
|
||||
global.substrates[5].forEach(e => tooltip.add(e.id, Text.translatable("item.kubejs.category.gemstone")));
|
||||
global.substrates[6].forEach(e => tooltip.add(e.id, Text.translatable("item.kubejs.category.catalyst")));
|
||||
|
||||
tooltip.add("structurescompass:structures_compass", Text.translatable("item.structurescompass.structures_compass.tooltip"));
|
||||
tooltip.add("reliquary:alkahestry_tome", Text.translatable("item.reliquary.alkahestry_tome.tooltip"));
|
||||
|
||||
tooltip.add("kubejs:accellerator_redstone", Text.translatable("item.kubejs.accellerator_redstone.tooltip"));
|
||||
tooltip.add("kubejs:accellerator_glowstone", Text.translatable("item.kubejs.accellerator_glowstone.tooltip"));
|
||||
|
||||
for (let i = 0; i < 15; i++) {
|
||||
tooltip.add(`kubejs:failed_alchemy_${i}`, Text.translatable("item.kubejs.failed_alchemy.tooltip"));
|
||||
}
|
||||
|
||||
const pureore = ["minecraft:raw_iron", "minecraft:raw_copper", "minecraft:raw_gold", "thermal:raw_lead", "thermal:raw_nickel", "create:raw_zinc"];
|
||||
pureore.forEach(pureore => {
|
||||
tooltip.add(pureore, Text.translatable("item.kubejs.pureore.tooltip"));
|
||||
});
|
||||
|
||||
tooltip.addAdvanced(["/^kubejs:.+machine$/", "thermal:machine_frame", "ae2:controller"], (item, adv, text) => {
|
||||
if (!tooltip.shift) {
|
||||
text.add(1, Text.translatable("item.kubejs.shift.summary"));
|
||||
} else {
|
||||
text.add(1, Text.translatable("item.kubejs.shift.summary"));
|
||||
text.add(2, Text.translatable("item.kubejs.machine.details"));
|
||||
text.add(3, Text.translatable("item.kubejs.machine.transformation"));
|
||||
}
|
||||
});
|
||||
tooltip.addAdvanced(["/^kubejs:trial.+$/"], (item, adv, text) => {
|
||||
if (!tooltip.shift) {
|
||||
text.add(1, Text.translatable("item.kubejs.shift.summary"));
|
||||
} else {
|
||||
text.add(1, Text.translatable("item.kubejs.shift.summary"));
|
||||
text.add(2, Text.translatable("item.kubejs.trial.details"));
|
||||
text.add(3, Text.translatable("item.kubejs.trial.special_info"));
|
||||
}
|
||||
});
|
||||
|
||||
tooltip.addAdvanced(["occultism:spirit_fire"], (item, adv, text) => {
|
||||
if (!tooltip.shift) {
|
||||
text.add(1, Text.translatable("item.kubejs.shift.summary"));
|
||||
} else {
|
||||
text.add(1, Text.translatable("item.kubejs.shift.summary"));
|
||||
text.add(2, Text.translatable("item.spirit_fire.info"));
|
||||
text.add(3, Text.translatable("item.spirit_fire.creation"));
|
||||
}
|
||||
});
|
||||
|
||||
tooltip.add("trials:crafter", Text.red(Text.translatable("cabin.trials.crafter.deprecation.tooltip")))
|
||||
});
|
||||
Reference in New Issue
Block a user