Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
320 changes: 320 additions & 0 deletions .agents/skills/mekanism-integration/SKILL.md

Large diffs are not rendered by default.

39 changes: 37 additions & 2 deletions config/modpack_defaults/config/crash_assistant/modlist.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,11 @@
"name": "AppleSkin",
"version": "2.5.1"
},
"Applied-Mekanistics-1.4.3.jar": {
"modId": "applied-mekanistics",
"name": "Applied Mekanistics",
"version": "1.4.3"
},
"appliedcreate-1.20.1-1.1.6.jar": {
"modId": "appliedcreate",
"name": "Applied Create",
Expand Down Expand Up @@ -399,10 +404,10 @@
"name": "Create Delight Core",
"version": "1.20.1-dev"
},
"create-enchantment-industry-2.5.0b.jar": {
"create-enchantment-industry-2.5.2.jar": {
"modId": "create-enchantment-industry",
"name": "Create: Enchantment Industry",
"version": "2.5.0b"
"version": "2.5.2"
},
"create-integrated-farming-1.3.0-1.20.1.jar": {
"modId": "create-integrated-farming",
Expand Down Expand Up @@ -1134,6 +1139,11 @@
"name": "Just Enough Breeding (JEBr)",
"version": "1.20.1-3.0.1"
},
"JustEnoughMekanismMultiblocks-1.20.1-4.10.jar": {
"modId": "justenoughmekanismmultiblocks",
"name": "Just Enough Mekanism Multiblocks",
"version": "1.20.1-4.10"
},
"kaleidoscopedoll-1.3.1-forge+mc1.20.1.jar": {
"modId": "kaleidoscopedoll",
"name": "Kaleidoscope Doll",
Expand Down Expand Up @@ -1264,6 +1274,31 @@
"name": "MEGA Cells",
"version": "2.4.6-1.20.1"
},
"Mekanism-1.20.1-10.4.16.80.jar": {
"modId": "mekanism",
"name": "Mekanism",
"version": "1.20.1-10.4.16.80"
},
"MekanismAdditions-1.20.1-10.4.16.80.jar": {
"modId": "mekanismadditions",
"name": "Mekanism Additions",
"version": "1.20.1-10.4.16.80"
},
"mekanismcurios-1.20.1-1.2.1.jar": {
"modId": "mekanismcurios",
"name": "Mekanism Curios",
"version": "1.20.1-1.2.1"
},
"MekanismGenerators-1.20.1-10.4.16.80.jar": {
"modId": "mekanismgenerators",
"name": "Mekanism Generators",
"version": "1.20.1-10.4.16.80"
},
"MekanismTools-1.20.1-10.4.16.80.jar": {
"modId": "mekanismtools",
"name": "Mekanism Tools",
"version": "1.20.1-10.4.16.80"
},
"melody_forge_1.0.3_MC_1.20.1-1.20.4.jar": {
"modId": "melody_forge",
"name": "Melody",
Expand Down
13 changes: 13 additions & 0 deletions defaultconfigs/Mekanism/world.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# 通用机械世界生成(首启默认;键名对应 Mekanism 10.4 WorldConfig)
# 锡/铀与包内既有体系统一,关闭生成;盐关闭;锇/铅/萤石保留默认密度。

[world_generation]

[world_generation.tin]
shouldGenerate = false

[world_generation.uranium]
shouldGenerate = false

[world_generation.salt]
shouldGenerate = false
21 changes: 21 additions & 0 deletions kubejs/client_scripts/info_mekanism.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Mekanism 关键物品的 JEI 信息页(照包内三元组规范:key + zh + en 同步挂语言)
let mekInfos = [
["mekanism:basic_tier_installer",
"§b对机器右键§r即可原地升级,机器内的配方与缓存全部保留。\n§7安装器由装配线序列装配生产,材料取决于目标等级。",
"§bRight-click a machine§r to upgrade it in place. Recipes and buffers are kept.\n§7Produced on a Create assembly line; materials depend on target tier."],
["mekanism:digital_miner",
"§6数字采矿机§r:配置过滤器后远程采矿(半径最大32),可设精准采集与回填。\n§7它的原型机是 Create 数字矿机(COE)——提取器正是其核心部件。",
"§6Digital Miner§r: remote mining with filters (radius up to 32), silk touch and replacement supported.\n§7The COE extractor is its prototype core."],
["mekanism:geiger_counter",
"§c辐射警告§r:核废料、钚、钋和熔毁的反应堆会污染环境。\n剂量过高时屏幕出现绿滤镜并开始扣血,无视护甲。\n§7防护:防化服或 MekaSuit 辐射防护模块。可用 /mek radiation cure 治疗。",
"§cRadiation warning§r: nuclear waste, plutonium, polonium and reactor meltdowns contaminate the area.\nHigh dosage tints the screen green and deals armor-piercing damage.\n§7Protection: hazmat suit or MekaSuit radiation shielding. Cure: /mek radiation cure."],
["appmek:chemical_cell_housing",
"§d化学品元件外壳§r:由锇锭压弯制成,与 AE2 元件外壳同一产线。\n制成的化学品存储元件可让 ME 网络存储气体与浆料。",
"§dChemical Cell Housing§r: curved from osmium ingots on the same line as AE2 cell housings.\nChemical cells let the ME network store gases and slurries."],
]

mekInfos.forEach(([key, zh_cn, en_us]) => {
JEIEvents.information(event => event.addItem(key, Text.translate(key)))
ClientEvents.lang("zh_cn", e => e.add(key, zh_cn))
ClientEvents.lang("en_us", e => e.add(key, en_us))
})
28 changes: 28 additions & 0 deletions kubejs/client_scripts/mekanism_tools_hide.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Mekanism 冗余物品隐藏
// 1) Mekanism Tools 装备:本包工具体系归 Tetra,Mek 工具盔甲只会污染 JEI
// 2) Mekanism 钢系列:钢锭唯一 owner 为 createmetallurgy(生产配方已在 steel_retire.js 掐断)
// 材料物品(锇/青铜/精炼黑曜石/精炼萤石锭等)保留

JEIEvents.hideItems(e => {
let hide = []

// === Mekanism Tools 装备 ===
const MATERIALS = ["bronze", "osmium", "steel", "refined_obsidian", "refined_glowstone", "lapis_lazuli"]
const GEAR = ["sword", "pickaxe", "axe", "shovel", "hoe", "paxel", "shield",
"helmet", "chestplate", "leggings", "boots"]
MATERIALS.forEach(mat => GEAR.forEach(type => hide.push(`mekanismtools:${mat}_${type}`)))
// 原版材质的多用镐也一并隐藏
;["wood", "stone", "iron", "gold", "diamond", "netherite"].forEach(mat =>
hide.push(`mekanismtools:${mat}_paxel`))

// === Mekanism 钢系列 + 富集铁中间体(已无获取途径) ===
hide.push(
"mekanism:ingot_steel",
"mekanism:dust_steel",
"mekanism:nugget_steel",
"mekanism:block_steel",
"mekanism:enriched_iron"
)

e.hide(hide)
})
59 changes: 59 additions & 0 deletions kubejs/server_scripts/Applied Mekanistics/recipes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// Applied Mekanistics 化学品元件深绑:外壳走包内 AE2 压弯体系,元件按等级吃 Mek 电路
// 对齐 AE2 章 processor&cellcasing.js 的处理链风格(curving + cell_housing_curving_head)

ServerEvents.recipes(e => {
// 化学品元件外壳:锇锭经 VI 压弯(复用 AE2 元件外壳压头)
remove_recipes_id(e, ["appmek:chemical_cell_housing"])
e.recipes.vintageimprovements.curving("2x appmek:chemical_cell_housing", "mekanism:ingot_osmium")
.head("createdelight:cell_housing_curving_head")
.id("createdelight:curving/chemical_cell_housing")

// 化学品存储元件:外壳 + 赛特斯石英 + 对应等级 Mek 电路
remove_recipes_id(e, [
"appmek:chemical_storage_cell_1k",
"appmek:chemical_storage_cell_4k",
"appmek:chemical_storage_cell_16k",
"appmek:chemical_storage_cell_64k",
"appmek:chemical_storage_cell_256k"
])
const CELL_TIERS = [
["1k", "mekanism:basic_control_circuit"],
["4k", "mekanism:basic_control_circuit"],
["16k", "mekanism:advanced_control_circuit"],
["64k", "mekanism:elite_control_circuit"],
["256k", "mekanism:ultimate_control_circuit"]
]
CELL_TIERS.forEach(([tier, circuit]) => {
e.recipes.kubejs.shaped(`appmek:chemical_storage_cell_${tier}`, [
"QCQ",
"CHC",
"QCQ"
], {
Q: "ae2:certus_quartz_dust",
C: circuit,
H: "appmek:chemical_cell_housing"
}).id(`createdelight:crafting/mekanism/chemical_storage_cell_${tier}`)
})

// 便携化学品元件:对应元件 + HDPE + 能量平板
remove_recipes_id(e, [
"appmek:portable_chemical_storage_cell_1k",
"appmek:portable_chemical_storage_cell_4k",
"appmek:portable_chemical_storage_cell_16k",
"appmek:portable_chemical_storage_cell_64k",
"appmek:portable_chemical_storage_cell_256k"
])
const PORTABLE_TIERS = ["1k", "4k", "16k", "64k", "256k"]
PORTABLE_TIERS.forEach(tier => {
e.recipes.kubejs.shaped(`appmek:portable_chemical_storage_cell_${tier}`, [
" H ",
"SCS",
" E "
], {
H: "appmek:chemical_cell_housing",
S: `appmek:chemical_storage_cell_${tier}`,
C: "mekanism:advanced_control_circuit",
E: "mekanism:energy_tablet"
}).id(`createdelight:crafting/mekanism/portable_chemical_storage_cell_${tier}`)
})
})
15 changes: 11 additions & 4 deletions kubejs/server_scripts/Create Ore/recipes.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,10 @@ ServerEvents.recipes(e => {
Item.of("minecraft:coal").withChance(0.6),
Item.of("create:crushed_raw_iron").withChance(0.5),
Item.of("create:crushed_raw_zinc").withChance(0.5),
Item.of("minecraft:redstone", 4).withChance(0.3)
Item.of("minecraft:redstone", 4).withChance(0.3),
Item.of("create:crushed_raw_osmium").withChance(0.5),
Item.of("create:crushed_raw_lead").withChance(0.4),
Item.of("create:crushed_raw_uranium").withChance(0.25)
],
["createdelight:overworld_metal_ore_cluster"])
.id("createdelight:crushing/crushed_raw_ore_from_overworld_metal_ore_cluster")
Expand All @@ -82,7 +85,9 @@ ServerEvents.recipes(e => {
Item.of("create:raw_zinc").withChance(0.6),
Item.of("minecraft:coal").withChance(0.5),
Item.of("minecraft:raw_copper").withChance(0.25),
Item.of("createdelightcore:raw_tin").withChance(0.25)
Item.of("createdelightcore:raw_tin").withChance(0.25),
Item.of("mekanism:raw_osmium").withChance(0.4),
Item.of("mekanism:raw_lead").withChance(0.3)
],
["createdelight:overworld_metal_ore_cluster"])
.id("createdelight:vibrating/raw_ore_from_overworld_metal_ore_cluster")
Expand All @@ -107,7 +112,8 @@ ServerEvents.recipes(e => {
Item.of("create:crushed_raw_gold").withChance(0.5),
Item.of("minecraft:lapis_lazuli", 4).withChance(0.4),
Item.of("minecraft:emerald").withChance(0.2),
Item.of("minecraft:diamond").withChance(0.1)
Item.of("minecraft:diamond").withChance(0.1),
Item.of("mekanism:fluorite_gem", 2).withChance(0.4)
],
["createdelight:overworld_noble_metal_ore_cluster"])
.id("createdelight:crushing/crushed_raw_ore_from_overworld_noble_metal_ore_cluster")
Expand All @@ -118,7 +124,8 @@ ServerEvents.recipes(e => {
Item.of("createoreexcavation:raw_emerald").withChance(0.3),
Item.of("minecraft:lapis_lazuli", 4).withChance(0.4),
Item.of("iceandfire:raw_silver").withChance(0.25),
Item.of("minecraft:raw_gold").withChance(0.25)
Item.of("minecraft:raw_gold").withChance(0.25),
Item.of("mekanism:fluorite_gem").withChance(0.35)
],
["createdelight:overworld_noble_metal_ore_cluster"])
.id("createdelight:vibrating/raw_ore_from_overworld_noble_metal_ore_cluster")
Expand Down
23 changes: 23 additions & 0 deletions kubejs/server_scripts/Custom/metal/lead.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// 铅金属链:Mekanism 提供物品,Create 侧处理链 + 冶金热熔链
// owner:mekanism(raw_lead / ingot_lead / dust_lead 等)

ServerEvents.recipes(e => {
// 副产物:方铅矿伴生硫
byProductMap.set("mekanism:dust_lead", ["mekanism:dust_sulfur", 0.5])

// Create 湿法洗练链(粉碎矿用 Create 6 自带物品)
metal_production_line_5(e, [
"mekanism:dirty_dust_lead",
"mekanism:dust_lead",
"create:crushed_raw_lead",
"mekanism:raw_lead",
"mekanism:nugget_lead"
])

// 冶金热熔链:铅块/锭 ↔ 熔融铅(解锁 createmetallurgy:molten_lead)
metal_production_line_7(e, [
"mekanism:block_lead",
"mekanism:ingot_lead",
"createmetallurgy:molten_lead"
], "heated", 80)
})
23 changes: 23 additions & 0 deletions kubejs/server_scripts/Custom/metal/osmium.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// 锇金属链:Mekanism 提供物品,Create 侧处理链 + 冶金热熔链
// owner:mekanism(raw_osmium / ingot_osmium / dust_osmium 等)

ServerEvents.recipes(e => {
// 副产物:锇矿石伴生青金石
byProductMap.set("mekanism:dust_osmium", ["minecraft:lapis_lazuli", 0.4])

// Create 湿法洗练链:脏粉→粉→粉碎矿→粗矿→粒(粉碎矿用 Create 6 自带物品)
metal_production_line_5(e, [
"mekanism:dirty_dust_osmium",
"mekanism:dust_osmium",
"create:crushed_raw_osmium",
"mekanism:raw_osmium",
"mekanism:nugget_osmium"
])

// 冶金热熔链:锇块/锭 ↔ 熔融锇(解锁 createmetallurgy:molten_osmium)
metal_production_line_7(e, [
"mekanism:block_osmium",
"mekanism:ingot_osmium",
"createmetallurgy:molten_osmium"
], "heated", 80)
})
7 changes: 6 additions & 1 deletion kubejs/server_scripts/Custom/unified_loot.js
Original file line number Diff line number Diff line change
Expand Up @@ -715,12 +715,17 @@ function buildTechPools(tableId, tier) {
["createaddition:electrum_ingot", 8, [1, 3]],
["createaddition:capacitor", 7, [1, 2]],
["createdieselgenerators:engine_piston", 6, [1, 2]],
["create_new_age:overcharged_iron", 3, [1, 2]]
["create_new_age:overcharged_iron", 3, [1, 2]],
["mekanism:ingot_osmium", 10, [1, 3]],
["mekanism:basic_control_circuit", 5]
],
}

if (tier === 2) {
componentPool.entries.push(["create:precision_mechanism", 6])
componentPool.entries.push(["mekanism:advanced_control_circuit", 4])
componentPool.entries.push(["mekanism:fluorite_gem", 6, [1, 4]])
componentPool.entries.push(["alexscaves:uranium", 3])
}

techPools.push(componentPool)
Expand Down
Loading