Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace first half of Nethline with standardized ore processing #1469

Merged
merged 5 commits into from
Feb 20, 2025
Merged
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
1 change: 1 addition & 0 deletions kubejs/assets/gtceu/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@
"__POST_TANK_MATERIALS__.footer": "=======================",
"material.gtceu.infinity": "Infinity",
"material.gtceu.monium": "Monium",
"material.gtceu.netherite_scrap": "Ancient Debris",
"material.gtceu.activated_netherite": "Activated Netherite",
"material.gtceu.omnic_acid": "Omnic Acid",
"material.gtceu.holmium_oxide": "Holmium Oxide",
Expand Down
4 changes: 0 additions & 4 deletions kubejs/assets/kubejs/lang/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,6 @@
"item.kubejs.quantum_soc_wafer": "",
"item.kubejs.quantum_soc_chip_base": "",
"item.kubejs.quantum_soc_chip": "",
"item.kubejs.crushed_ancient_debris": "",
"item.kubejs.purified_ancient_debris": "",
"item.kubejs.refined_ancient_debris": "",
"item.kubejs.impure_ancient_debris_dust": "",
"item.kubejs.purified_ancient_debris_dust": "",
"item.kubejs.processed_ancient_debris_dust": "",
"item.kubejs.inert_netherite_scrap": "",
Expand Down
4 changes: 0 additions & 4 deletions kubejs/assets/kubejs/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,6 @@
"item.kubejs.uxpic_wafer": "Uxpic Wafer",
"item.kubejs.uxpic_chip": "Uxpic Chip",

"item.kubejs.crushed_ancient_debris": "Crushed Ancient Debris",
"item.kubejs.purified_ancient_debris": "Purified Ancient Debris",
"item.kubejs.refined_ancient_debris": "Refined Ancient Debris",
"item.kubejs.impure_ancient_debris_dust": "Impure Ancient Debris Dust",
"item.kubejs.purified_ancient_debris_dust": "Purified Ancient Debris Dust",
"item.kubejs.processed_ancient_debris_dust": "Processed Ancient Debris Dust",
"item.kubejs.inert_netherite_scrap": "Inert Netherite Scrap",
Expand Down
4 changes: 0 additions & 4 deletions kubejs/assets/kubejs/lang/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,6 @@
"item.kubejs.quantum_soc_wafer": "",
"item.kubejs.quantum_soc_chip_base": "",
"item.kubejs.quantum_soc_chip": "",
"item.kubejs.crushed_ancient_debris": "",
"item.kubejs.purified_ancient_debris": "",
"item.kubejs.refined_ancient_debris": "",
"item.kubejs.impure_ancient_debris_dust": "",
"item.kubejs.purified_ancient_debris_dust": "",
"item.kubejs.processed_ancient_debris_dust": "",
"item.kubejs.inert_netherite_scrap": "",
Expand Down
4 changes: 0 additions & 4 deletions kubejs/assets/kubejs/lang/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,6 @@
"item.kubejs.quantum_soc_wafer": "",
"item.kubejs.quantum_soc_chip_base": "",
"item.kubejs.quantum_soc_chip": "",
"item.kubejs.crushed_ancient_debris": "",
"item.kubejs.purified_ancient_debris": "",
"item.kubejs.refined_ancient_debris": "",
"item.kubejs.impure_ancient_debris_dust": "",
"item.kubejs.purified_ancient_debris_dust": "",
"item.kubejs.processed_ancient_debris_dust": "",
"item.kubejs.inert_netherite_scrap": "",
Expand Down
4 changes: 0 additions & 4 deletions kubejs/assets/kubejs/lang/ja_jp.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,6 @@
"item.kubejs.quantum_soc_wafer": "量子SoCウェハー",
"item.kubejs.quantum_soc_chip_base": "量子SoCチップベース",
"item.kubejs.quantum_soc_chip": "量子SoCチップ",
"item.kubejs.crushed_ancient_debris": "砕いた古代の残骸",
"item.kubejs.purified_ancient_debris": "洗浄した古代の残骸",
"item.kubejs.refined_ancient_debris": "精製古代の残骸",
"item.kubejs.impure_ancient_debris_dust": "汚れた古代の残骸の粉",
"item.kubejs.purified_ancient_debris_dust": "ほぼ綺麗な古代の残骸の粉",
"item.kubejs.processed_ancient_debris_dust": "処理された古代の残骸の粉",
"item.kubejs.inert_netherite_scrap": "不活性ネザライトスクラップ",
Expand Down
4 changes: 0 additions & 4 deletions kubejs/assets/kubejs/lang/pt_br.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,6 @@
"item.kubejs.quantum_soc_wafer": "Wafer de SoC quântico",
"item.kubejs.quantum_soc_chip_base": "Base de chip de SoC quântico",
"item.kubejs.quantum_soc_chip": "Chip de SoC quântico",
"item.kubejs.crushed_ancient_debris": "Detritos ancestrais esmagados",
"item.kubejs.purified_ancient_debris": "Detritos ancestrais purificados",
"item.kubejs.refined_ancient_debris": "Detritos ancestrais refinados",
"item.kubejs.impure_ancient_debris_dust": "Pó de detritos ancestrais impuro",
"item.kubejs.purified_ancient_debris_dust": "Pó de detritos ancestrais purificado",
"item.kubejs.processed_ancient_debris_dust": "Pó de detritos ancestrais processado",
"item.kubejs.inert_netherite_scrap": "Fragmentos de netherita inertes",
Expand Down
4 changes: 0 additions & 4 deletions kubejs/assets/kubejs/lang/ru_ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,6 @@
"item.kubejs.quantum_soc_wafer": "Квантовая Пластина СНК",
"item.kubejs.quantum_soc_chip_base": "Основа Квантового СнК",
"item.kubejs.quantum_soc_chip": "Квантовый СнК",
"item.kubejs.crushed_ancient_debris": "Дробленные Древние обломки",
"item.kubejs.purified_ancient_debris": "Очищенные Древние обломки",
"item.kubejs.refined_ancient_debris": "Обработанные Древние обломки",
"item.kubejs.processed_ancient_debris_dust": "Использованная кучка Древних обломков",
"item.kubejs.inert_netherite_scrap": "Инертный Незеритовый Лом",
"item.kubejs.inert_nether_compound_ingot": "Слиток Инертного Незеритового Соединения",
Expand Down Expand Up @@ -363,7 +360,6 @@
"item.kubejs.elementally_infused_omnic_matrix_heavy_plating": "§dЭлементально обработанная Омниевая Матричная Тяжелая Обшивка",
"item.kubejs.magnetic_capacitor_dust": "Намагниченная Конденсаторная Пыль",
"item.kubejs.ruined_capacitor": "Поломанный Конденсатор",
"item.kubejs.impure_ancient_debris_dust": "Грязная кучка Древних обломков",
"item.kubejs.furious_infinity_catalyst": "§dРазъярённый Катализатор Бесконечности",
"item.kubejs.purified_ancient_debris_dust": "Очищенная кучка Древних обломков",
"item.kubejs.dense_matrix_mesh": "Плотная Матричная Сетка",
Expand Down
4 changes: 0 additions & 4 deletions kubejs/assets/kubejs/lang/zh_cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,6 @@
"item.kubejs.quantum_soc_wafer": "量子SoC晶圆",
"item.kubejs.quantum_soc_chip_base": "量子SoC芯片基座",
"item.kubejs.quantum_soc_chip": "量子SoC芯片",
"item.kubejs.crushed_ancient_debris": "粉碎远古残骸",
"item.kubejs.purified_ancient_debris": "纯净远古残骸",
"item.kubejs.refined_ancient_debris": "精炼远古残骸",
"item.kubejs.impure_ancient_debris_dust": "含杂远古残骸粉",
"item.kubejs.purified_ancient_debris_dust": "洁净远古残骸粉",
"item.kubejs.processed_ancient_debris_dust": "处理过的远古残骸粉",
"item.kubejs.inert_netherite_scrap": "惰性下界合金废料",
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions kubejs/server_scripts/gregtech/Alloys_Recipes.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ ServerEvents.recipes(event => {
.duration(50)
.EUt(16)

event.remove({ output: "minecraft:netherite_ingot" })
event.recipes.gtceu.alloy_smelter("kubejs:netherite_ingot")
.itemInputs("4x #forge:ingots/gold", "4x minecraft:netherite_scrap") // was flipped
.itemOutputs("1x minecraft:netherite_ingot")
Expand Down
81 changes: 33 additions & 48 deletions kubejs/server_scripts/gregtech/netherite.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,88 +3,73 @@
*/

ServerEvents.recipes(event => {

// We only use GT ores for the oreproc page and autogenned intermediates, not for the in-stone ore
event.remove({ not: [{ input: "minecraft:ancient_debris" }, { input: "#forge:ores/netherite_scrap" }], output: "gtceu:crushed_netherite_scrap_ore" })
event.remove([{ type: "minecraft:smelting", output: "minecraft:netherite_scrap", id: /gtceu:smelting\/.*netherite_scrap_ore.*/ }, { type: "minecraft:blasting", output: "minecraft:netherite_scrap", id: /gtceu:blasting\/.*netherite_scrap_ore.*/ }])

// Omnic Acid
event.recipes.gtceu.large_chemical_reactor("omnic_acid")
.itemInputs("5x gtceu:carbon_dust", "4x kubejs:mote_of_omnium")
.inputFluids(Fluid.of("water", 3000))
.itemOutputs("gtceu:omnic_acid_dust")
.outputFluids(Fluid.of("gtceu:hydrogen", 2000))
.duration(300)
.EUt(65520)
.duration(200)
.EUt(GTValues.VA[GTValues.ZPM])

// Scrapline
event.recipes.gtceu.macerator("ancient_debris_crushing")
// Ancient Debris crushing
event.recipes.gtceu.macerator("macerate_ancient_debris_to_crushed_ore")
.itemInputs("minecraft:ancient_debris")
.itemOutputs("2x kubejs:crushed_ancient_debris")
.chancedOutput("kubejs:crushed_ancient_debris", 1000, 500)
.itemOutputs("gtceu:obsidian_dust")
.duration(300)
.EUt(32)
.itemOutputs("2x gtceu:crushed_netherite_scrap_ore")
.chancedOutput("gtceu:obsidian_dust", 1400, 850)
.chancedOutput("gtceu:netherrack_dust", 1200, 800)
.duration(400)
.EUt(2)
.category("gtceu:ore_crushing")

// Omnic Acid Purifying
event.recipes.gtceu.chemical_reactor("ancient_debris_purifying")
.itemInputs("kubejs:crushed_ancient_debris", "gtceu:omnic_acid_dust")
.itemInputs("gtceu:netherite_scrap_dust", "gtceu:omnic_acid_dust")
.inputFluids(Fluid.of("water", 2000))
.itemOutputs("kubejs:purified_ancient_debris")
.itemOutputs("kubejs:purified_ancient_debris_dust")
.chancedOutput("gtceu:platinum_dust", 3300, 0)
.duration(300)
.EUt(16380)

event.recipes.gtceu.thermal_centrifuge("ancient_debris_refining")
.itemInputs("kubejs:purified_ancient_debris")
.itemOutputs("kubejs:refined_ancient_debris")
.chancedOutput("gtceu:iridium_dust", 3300, 0)
.itemOutputs("gtceu:obsidian_dust")
.duration(300)
.EUt(16380)

event.recipes.gtceu.macerator("ancient_debris_refined_crushing")
.itemInputs("kubejs:refined_ancient_debris")
.itemOutputs("kubejs:impure_ancient_debris_dust")
.chancedOutput("gtceu:osmium_dust", 3300, 0)
.itemOutputs("gtceu:obsidian_dust")
.duration(300)
.EUt(16380)

event.recipes.gtceu.centrifuge("ancient_debris_dust_purifying")
.itemInputs("kubejs:impure_ancient_debris_dust")
.itemOutputs("kubejs:purified_ancient_debris_dust", "gtceu:obsidian_dust")
.duration(300)
.EUt(16380)
.EUt(GTValues.VA[GTValues.IV])

event.recipes.gtceu.arc_furnace("ancient_debris_arc_smelting")
.itemInputs("kubejs:purified_ancient_debris_dust")
.inputFluids(Fluid.of("gtceu:oxygen", 1200))
.chancedOutput("gtceu:palladium_dust", 1400, 850)
.itemOutputs("kubejs:processed_ancient_debris_dust")
.duration(300)
.EUt(16380)
.EUt(GTValues.VA[GTValues.IV])

event.recipes.gtceu.electric_blast_furnace("netherite_scrap_blasting")
.itemInputs("kubejs:processed_ancient_debris_dust", "16x kubejs:quantum_flux")
.inputFluids(Fluid.of("gtceu:tritium", 1000))
.itemInputs("kubejs:processed_ancient_debris_dust", "8x kubejs:quantum_flux")
.inputFluids(Fluid.of("gtceu:blaze", 1000))
.itemOutputs("kubejs:inert_netherite_scrap")
.duration(200)
.EUt(250000)
.duration(100)
.EUt(GTValues.VA[GTValues.ZPM])
.blastFurnaceTemp(12000)

// Activated Nethline
event.recipes.gtceu.forming_press("inert_nether_compound_ingot")
.itemInputs("gtceu:hot_europium_ingot", "16x kubejs:wither_bone", "4x gtceu:dark_soularium_dust", "4x kubejs:primal_mana")
.itemInputs("gtceu:hot_europium_ingot", "4x kubejs:wither_bone", "3x gtceu:dark_soularium_dust", "4x kubejs:primal_mana")
.itemOutputs("kubejs:inert_nether_compound_ingot")
.duration(300)
.EUt(16380)
.EUt(GTValues.VA[GTValues.UV])

event.recipes.gtceu.omnic_forge("netherite_ingot_final")
.itemInputs("kubejs:inert_nether_compound_ingot", "3x kubejs:diamond_lattice", "4x kubejs:inert_netherite_scrap", "4x minecraft:gold_ingot")
.itemInputs("kubejs:inert_nether_compound_ingot", "2x kubejs:diamond_lattice", "4x kubejs:inert_netherite_scrap", "4x minecraft:gold_ingot")
.itemOutputs("gtceu:activated_netherite_ingot")
.duration(200)
.EUt(250000)
.EUt(GTValues.VA[GTValues.UHV])
})

// Regular Netherite
// Recipe is handled in alloys_recipes.js
event.remove({ output: "minecraft:netherite_ingot" })
event.smelting("minecraft:netherite_scrap", "kubejs:crushed_ancient_debris")
ServerEvents.tags("item", event => {
const oresToRemove = event.get("forge:ores/netherite_scrap").getObjectIds();
if(!oresToRemove.add("gtceu:raw_netherite_scrap")) console.error("Could not add Raw Netherite Scrap from list of Netherite Scrap ores to nuke")

event.removeAllTagsFrom(oresToRemove.filter((value) => {
return ResourceLocation.of("minecraft:ancient_debris", ":").compareTo(value) != 0
}))
})
6 changes: 6 additions & 0 deletions kubejs/startup_scripts/gregtech_material_registry/endgame.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ GTCEuStartupEvents.registry("gtceu:material", event => {
.iconSet("shiny")
.flags(GTMaterialFlags.NO_SMELTING, GTMaterialFlags.NO_SMASHING)
.cableProperties(GTValues.V[GTValues.UHV], 8, 0, true)

event.create("netherite_scrap")
.dust().ingot().ore(1, 3)
.color(0x6D473E)
.iconSet("dull")
.addOreByproducts(GTMaterials.Obsidian, GTMaterials.Obsidian, GTMaterials.RarestMetalMixture)
event.create("activated_netherite")
.ingot()
.element(GTElements.get("activated_netherite"))
Expand Down
13 changes: 13 additions & 0 deletions kubejs/startup_scripts/gregtech_material_registry/misc.js
Original file line number Diff line number Diff line change
Expand Up @@ -237,4 +237,17 @@ GTCEuStartupEvents.materialModification(event => {

GTMaterials.get("microversium").setFormula("Fe2(Si(FeS2)5(CrAl2O3)Hg3)(AuCa3(PO4)2)D")
GTMaterials.get("thorium_hydroxide").setFormula("Th(OH)4")

const tagPrefixes = [
TagPrefix.nugget,
TagPrefix.block,
TagPrefix.dustTiny,
TagPrefix.rawOre,
TagPrefix.rawOreBlock
]

TagPrefix.ingot.setIgnored(GTMaterials.get("netherite_scrap"), Ingredient.of("minecraft:netherite_scrap"))
tagPrefixes.forEach((prefix) => {
prefix["setIgnored(com.gregtechceu.gtceu.api.data.chemical.material.Material)"](GTMaterials.get("netherite_scrap"));
})
})
6 changes: 1 addition & 5 deletions kubejs/startup_scripts/registry/item_registry.js
Original file line number Diff line number Diff line change
Expand Up @@ -344,11 +344,7 @@ StartupEvents.registry("item", event => {
event.create("hadal_shard")


// Netherite Processing intermediate products
event.create("crushed_ancient_debris").texture("kubejs:item/netherite/crushed_ancient_debris")
event.create("purified_ancient_debris").texture("kubejs:item/netherite/purified_ancient_debris")
event.create("refined_ancient_debris").texture("kubejs:item/netherite/refined_ancient_debris")
event.create("impure_ancient_debris_dust").texture("kubejs:item/netherite/impure_ancient_debris_dust")
// Nethline intermediate products
event.create("purified_ancient_debris_dust").texture("kubejs:item/netherite/purified_ancient_debris_dust")
event.create("processed_ancient_debris_dust").texture("kubejs:item/netherite/processed_ancient_debris_dust")
event.create("inert_netherite_scrap").texture("kubejs:item/netherite/inert_netherite_scrap")
Expand Down