LTDV10Test/packet/kubejs/client_scripts/tool_tip.js
3944Realms 67a395b765
Some checks failed
Deploy to Remote Server / deploy (push) Failing after 1m11s
初始化
2026-04-14 18:20:56 +08:00

171 lines
7.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const $SequencedAssemblyItem = Java.loadClass("com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem")
ItemEvents.tooltip(e => {
clearAddShiftTooltip(e, [
'dreadsteel:kit_default',
'dreadsteel:kit_white',
'dreadsteel:kit_black',
'dreadsteel:kit_bronze',
'art_of_forging:encoded_canister',
])
addShiftTooltip(e, [
"ratatouille:frozen_block",
"ratatouille:mechanical_demolder",
"createdieselgenerators:distillation_controller",
"createmetallurgy:wolframite_ore",
"art_of_forging:devils_soul_gem",
"art_of_forging:eerie_shard",
"art_of_forging:heart_of_ender",
"art_of_forging:potent_mixture",
"art_of_forging:shards_of_malice",
"art_of_forging:fragment_of_eden",
"art_of_forging:dragon_soul",
"art_of_forging:soul_ember",
"art_of_forging:nano_insectoid",
'createdelight:dread_heart',
'createdelight:prospector',
'vintagedelight:cheese_curds',
'bakeries:cream_cake',
'bakeries:tiramisu',
'bakeries:cake_roll',
'createdelight:unactivated_crystalline_flower',
"createdelight:fission_reactor",
])
clearAddCtrlTooltip(e, [
])
addCtrlTooltip(e, [
"createdelight:sprinkler",
'createdelight:dryer',
'createdelight:order_deliverer_item',
'createdelight:contract_executor',
'createdelight:mechanical_craft_encoder',
'vintagedelight:cheese_mold',
'createdelight:fuel_hotcream',
'createdelight:blood_collection_device',
'luncheonmeatsdelight:luncheon_meat_can',
'luncheonmeatsdelight:can_shell_small_toast',
'bakeries:mould_toast',
'bakeries:mould_cheese_cocoa_toast',
'bakeries:mould_pound_cake',
'kinetic_pixel:graycottonseed',
])
clearAddShiftCtrlTooltip(e, [
'brewinandchewin:keg'
])
addAir(e, [
'create:netherite_backtank',
'create:copper_backtank',
'create_jetpack:jetpack',
'create_jetpack:netherite_jetpack',
])
})
let tooltips = [
["createfluidstuffs:multi_fluid_tank", "§6来自海上机械师的神奇储罐", "§6From the Sea of Mechanical Engineers"],
['alexscaves:cave_map', "§l§4该物品已无实际用处且不可按照显示的配方合成", "§l§4This item is no longer useful and cannot be crafted using the displayed recipe"],
['alexsmobs:shattered_dimensional_carver', "§4边界存在崩溃问题 查看§4边境碎块§rJEI了解如何召唤瞻远者", "zzz"],
['createdelight:debug_reload_tool', "蹲下右键重载server脚本 站立右键重载client脚本", "EMM"],
['createdelight:debug_info_tool', "蹲下右键获取当前结构名称, 站立右键获取指向方块实体信息(未完成)", "EMM"],
['cosmopolitan:birch_cookie', "§9清除挖掘疲劳", "§9Clear Mining Fatigue"],
]
tooltips.forEach(([key, zh_cn, en_us]) => {
// 添加 key
ItemEvents.tooltip(e => {
e.add(key, Text.translate(key))
})
// 添加简体中文本地化
ClientEvents.lang("zh_cn", e => {
e.add(key, zh_cn)
})
// 添加英文本地化
ClientEvents.lang("en_us", e => {
e.add(key, en_us)
})
})
ItemEvents.tooltip(e => {
// 磁铁
e.add("alexscaves:block_of_azure_neodymium", Text.translate("tooltip.createdelight.magnetic_flux_density"))
e.add("alexscaves:block_of_scarlet_neodymium", Text.translate("tooltip.createdelight.magnetic_flux_density"))
e.add("alexscaves:block_of_azure_neodymium", "§b 16")
e.add("alexscaves:block_of_scarlet_neodymium", "§b 16")
// ATM卡
e.addAdvanced('lightmanscurrency:atm_card', (item, advanced, text) => {
text.remove(1)
})
// e.addAdvancedToAll((item, advanced, text) => {
// if (item.item instanceof $ModularItem && TetraUtil.itemHasEffect(item, "createdelight:charge")){
// let energy = item.nbt.getInt("energy")
// let maxEnergy = item.nbt.getInt("maxEnergy")
// text.add(`${energy}FE/${maxEnergy}FE`)
// }
// })
})
// ItemEvents.tooltip(e => {
// allTrades.forEach(trade => {
// e.addAdvanced(trade[0],(item, advanced, text) => {
// if (!e.shift) {
// text.add(Component.translate("tooltip.createdelight.single_price", trade[1].toString()))
// } else {
// text.add(Component.translate("tooltip.createdelight.total_price", MoneyUtil.convertBaseValueToString(trade[1] * item.count)))
// }
// })
// })
// })
const $QualityUtils = Java.loadClass("de.cadentem.quality_food.util.QualityUtils")
const $QualityConfig = Java.loadClass("de.cadentem.quality_food.config.QualityConfig")
let difficultyLoots = global.difficultyLoots
ItemEvents.tooltip(e => {
e.addAdvancedToAll((item, advanced, text) => {
let value = 0
if (global.TradeData[item.id] != undefined) {
let Quality = $QualityUtils.getQuality(item)
let Qlevel = Quality.level()
let multiplier = Math.round(Math.sqrt(2 / (Qlevel != 0 ? $QualityConfig.getChance(Quality) : 1)))
value = multiplier * global.TradeData[item.id]
} else {
value = MoneyUtil.calculateFoodValue(item)
}
if (value > 0) {
if (!e.shift) {
if (value < 1) {
text.add(Component.translate("tooltip.createdelight.single_price", (Math.round(value * 10) / 10).toString()).append(MoneyUtil.convertBaseValueToString(-1)))
} else {
text.add(Component.translate("tooltip.createdelight.single_price", MoneyUtil.convertBaseValueToString(value)))
}
} else {
if (value * item.count < 1) {
text.add(Component.translate("tooltip.createdelight.total_price", (Math.round(value * item.count * 10) / 10).toString()).append(MoneyUtil.convertBaseValueToString(-1)))
} else {
text.add(Component.translate("tooltip.createdelight.total_price", MoneyUtil.convertBaseValueToString(value * item.count)))
}
}
}
})
e.addAdvanced("createdelight:sell_bin", (item, advanced, text) => {
if (!e.ctrl) {
text.add(1, Text.translatable("tooltip.createdelight.hold_ctrl_to_see_more_info"))
} else {
text.add(1, Text.translatable("tooltip.createdelight.hold_ctrl"))
text.add(2, Text.translatable(`tooltip.createdelight.ctrl_${item.getId().split(":")[1]}`, MoneyUtil.convertBaseValueToString(1)))
}
})
e.addAdvancedToAll((item, advanced, text) => {
if (item.hasNBT() && item.nbt.contains("SequencedAssembly") && !(item.item instanceof $SequencedAssemblyItem)) {
text.add(Text.translatable("tooltip.createdelight.sequenced_assembly_explanation"))
}
})
for (const key in difficultyLoots) {
let element = difficultyLoots[key]
element.forEach(val => {
let entitys = val.entity.split(":")
e.addAdvanced(key, (item, advanced, text) => {
text.add(Text.translatable("tooltip.createdelight.difficulty_loot", Text.translatable(`entity.${entitys[0]}.${entitys[1]}`), val.difficulty.toFixed()))
})
})
}
})