From 3e1f5c01edfab4b01c8712366aa0f357d41bb717 Mon Sep 17 00:00:00 2001 From: Matt Date: Sat, 23 May 2026 15:20:20 +0000 Subject: [PATCH] cc: plastic-everywhere + advanced-contains-basic upgrade chains Two design changes: 1) Every electronic CC item now requires tfmg:plastic_sheet. Plastic is the electrical insulator and gates ALL CC tech behind TFMG's full oil chain (crude oil -> naphtha -> distillation -> molten plastic -> sheet). Even cable -- you can't lay wires without insulation. 2) Advanced items now embed their Basic counterpart in the recipe: - computer_advanced contains computer_normal - monitor_advanced contains monitor_normal - wireless_modem_advanced contains wireless_modem_normal - pocket_computer_advanced contains pocket_computer_normal - turtle_advanced contains computer_advanced (which contains computer_normal -- chained upgrade) This makes the progression literal -- you can't skip Basic to make Advanced. You upgrade through, paying both costs. Other tweaks: - Replaced create:railway_casing with create:industrial_iron_block in the Advanced Computer recipe. Railway casing is thematically tied to trains, not computing -- creates a weird "build trains to make a computer" dependency. industrial_iron_block fits the server-rack aesthetic and is a more general Create tier-3 material. - Added plastic to disk_drive, wired_modem, printer, redstone_relay, speaker (recipes that previously skipped it). Bumps to 0.19.3. --- .../kubejs/server_scripts/cc_recipes.js | 198 +++++++++--------- pack/pack.lock.json | 2 +- 2 files changed, 102 insertions(+), 98 deletions(-) diff --git a/pack/overrides/kubejs/server_scripts/cc_recipes.js b/pack/overrides/kubejs/server_scripts/cc_recipes.js index cc332db..28fe8a6 100644 --- a/pack/overrides/kubejs/server_scripts/cc_recipes.js +++ b/pack/overrides/kubejs/server_scripts/cc_recipes.js @@ -1,45 +1,45 @@ -// Brass & Sigil — ComputerCraft recipe overhaul (full coverage) +// Brass & Sigil — ComputerCraft recipe overhaul (full coverage, v3) // -// Replaces every craftable CC: Tweaked recipe with a Create + TFMG -gated -// version. Designed as a 5-tier progression that maps onto pack-wide -// industrial advancement: +// Two design principles: +// 1. Every electronic CC item contains TFMG plastic_sheet -- plastic is +// the electrical insulator and the gate that forces players to build +// out TFMG's full oil-refining chain (crude oil -> naphtha -> molten +// plastic -> sheet) before any CC tech. +// 2. Advanced versions contain their basic counterpart in the recipe. +// Computer Advanced contains Computer Normal; Monitor Advanced +// contains Monitor Normal; etc. This makes the upgrade chain +// literal -- you can't skip basic tier, you upgrade through it. // -// T1 - Cabling: copper_wire + andesite_casing. Mid-game accessible. -// T2 - Basic CC: brass_casing, electron_tube, precision_mechanism, -// nixie_tube, plastic + steel. Players need Create's tier-2 -// production set and TFMG's coke oven + distillation tower. -// T3 - Networking + Robotics: electromagnetic_coil (TFMG late) + -// mechanical_arm/bearing/gantry_shaft (Create kinetic), plus -// constantan_wire (TFMG mid-late metal). -// T4 - Advanced computing: silicon_ingot (TFMG electrolysis chain = -// late game), rose_quartz, display_link, railway_casing, gold. -// T5 - Mobile: pocket computers, miniaturised forms of T2/T4. -// -// Wires are deliberately the connective thread: copper_wire shows up -// EVERYWHERE in early recipes (cables, modems), aluminum_wire is mid, -// constantan_wire is high-tier. TFMG's electrical production becomes -// genuinely useful for CC progression. +// Tier outline (with both principles applied): +// T1 Cable plastic + copper_wire + redstone (cheap commodity) +// T2 Basic CC plastic + brass_casing + electron_tube + p_mech + +// steel + silicon-or-cogwheel (Create T2 + TFMG oil +// + steel chain) +// T3 Networking+bots plastic + electromagnetic_coil + mech_arm/bearing +// + constantan_wire (TFMG advanced electrical) +// T4 Advanced Basic item + silicon + rose_quartz + gold + +// industrial_iron_block (or display_link / large_coil) +// T5 Mobile Pocket Normal -> Pocket Advanced via same pattern ServerEvents.recipes(event => { // ─── T1 - CABLING ────────────────────────────────────────────────── - // Cable: 8-output craft to make laying networks viable. Heavy - // copper_wire usage so players bulk-produce wire to support CC. + // Cable (x8): plastic insulator + copper_wire core + redstone signal. + // Outputs 8 so network laying is still viable. event.remove({ output: 'computercraft:cable' }); event.shaped(Item.of('computercraft:cable', 8), [ - 'WWW', - 'CRC', - 'WWW', + 'PWP', + 'WRW', + 'PWP', ], { + P: 'tfmg:plastic_sheet', W: 'tfmg:copper_wire', - C: 'create:andesite_casing', R: 'minecraft:redstone', }); // ─── T2 - BASIC COMPUTING ────────────────────────────────────────── - // Computer (Basic): brass_casing core (the "industrial computer" - // chassis), electron_tube above/below (the retro CPU), steel side - // armour, precision_mech in the heart. + // Computer (Basic): plastic shell + electron_tube CPU + brass_casing + // chassis + steel reinforcement + precision_mechanism core. event.remove({ output: 'computercraft:computer_normal' }); event.shaped('computercraft:computer_normal', [ 'PEP', @@ -53,35 +53,35 @@ ServerEvents.recipes(event => { M: 'create:precision_mechanism', }); - // Monitor (Basic): nixie_tube top + bottom for retro display feel, - // glass pane window, copper sheet trim. + // Monitor (Basic): plastic frame + nixie_tube (retro CRT) + glass. event.remove({ output: 'computercraft:monitor_normal' }); event.shaped('computercraft:monitor_normal', [ - 'CNC', + 'PNP', 'GGG', - 'CNC', + 'PNP', ], { - C: 'create:copper_sheet', + P: 'tfmg:plastic_sheet', N: 'create:nixie_tube', G: 'minecraft:glass_pane', }); - // Disk Drive: cogwheel for the spinning read head, precision_mech - // for the data IO, rose_quartz for the data medium. + // Disk Drive: plastic frame + cogwheel (spinning read head) + + // rose_quartz (data medium) + steel + p_mech. event.remove({ output: 'computercraft:disk_drive' }); event.shaped('computercraft:disk_drive', [ - 'SOS', + 'PCP', 'RQR', 'SMS', ], { - S: 'tfmg:steel_ingot', - O: 'create:cogwheel', + P: 'tfmg:plastic_sheet', + C: 'create:cogwheel', R: 'minecraft:redstone', Q: 'create:rose_quartz', + S: 'tfmg:steel_ingot', M: 'create:precision_mechanism', }); - // Floppy Disk: 2 plastic + redstone, shapeless, cheap consumable. + // Floppy Disk: 2 plastic + redstone, shapeless. event.remove({ output: 'computercraft:disk' }); event.shapeless('computercraft:disk', [ 'tfmg:plastic_sheet', @@ -89,57 +89,57 @@ ServerEvents.recipes(event => { 'minecraft:redstone', ]); - // Wired Modem: copper_wire signal pickup wrapped around a brass - // casing with an electron tube amplifier. + // Wired Modem: plastic shell + copper_wire signal lines + brass_casing + // chassis + electron_tube amplifier. event.remove({ output: 'computercraft:wired_modem' }); event.shaped('computercraft:wired_modem', [ - 'WBW', - 'WEW', - 'WBW', + 'PWP', + 'BEB', + 'PWP', ], { + P: 'tfmg:plastic_sheet', W: 'tfmg:copper_wire', B: 'create:brass_casing', E: 'create:electron_tube', }); - // Wired Modem Full: just the block-form. Same recipe but yields the - // full-block variant; CC's default chains them via shapeless. + // Wired Modem Full: 1 modem -> block form (toggle). event.remove({ output: 'computercraft:wired_modem_full' }); event.shapeless('computercraft:wired_modem_full', ['computercraft:wired_modem']); - // Speaker: electron_tube amplifier feeding a note_block, in a - // brass_casing chassis. + // Speaker: plastic + electron_tube amplifier + brass_casing + note_block. event.remove({ output: 'computercraft:speaker' }); event.shaped('computercraft:speaker', [ - 'CEC', - 'PBP', - 'CNC', + 'PEP', + 'BMB', + 'PNP', ], { - C: 'create:copper_sheet', - E: 'create:electron_tube', P: 'tfmg:plastic_sheet', + E: 'create:electron_tube', B: 'create:brass_casing', + M: 'create:precision_mechanism', N: 'minecraft:note_block', }); - // Printer: ink + precision_mech + cogwheels. + // Printer: plastic + steel + ink_sac + precision_mech + cogwheel. event.remove({ output: 'computercraft:printer' }); event.shaped('computercraft:printer', [ - 'SSS', + 'PSP', 'IMI', - 'SOS', + 'PCP', ], { + P: 'tfmg:plastic_sheet', S: 'tfmg:steel_ingot', I: 'minecraft:ink_sac', M: 'create:precision_mechanism', - O: 'create:cogwheel', + C: 'create:cogwheel', }); // ─── T3 - NETWORKING + ROBOTICS ──────────────────────────────────── - // Wireless Modem (Basic): TFMG electromagnetic_coil is the antenna, - // copper_wire signal lines, brass_casing chassis. + // Wireless Modem (Basic): plastic + copper/aluminum wire + TFMG + // electromagnetic_coil antenna + brass_casing chassis. event.remove({ output: 'computercraft:wireless_modem_normal' }); event.shaped('computercraft:wireless_modem_normal', [ 'WAW', @@ -153,23 +153,23 @@ ServerEvents.recipes(event => { B: 'create:brass_casing', }); - // Redstone Relay: brass casing, electron tubes for switching, copper - // wire signal. The CC equivalent of "smart redstone repeater". + // Redstone Relay: plastic + copper_wire + electron_tube switching + + // brass_casing. event.remove({ output: 'computercraft:redstone_relay' }); event.shaped('computercraft:redstone_relay', [ - 'WEW', + 'PEP', 'RBR', - 'WEW', + 'PEP', ], { - W: 'tfmg:copper_wire', + P: 'tfmg:plastic_sheet', E: 'create:electron_tube', R: 'minecraft:redstone', B: 'create:brass_casing', }); - // Turtle (Basic): the computer as the brain, mechanical_bearing for - // movement axis, gantry_shaft as the "arms", chest for storage. - // Industrial robot vibe. + // Turtle (Basic): steel + mechanical_bearing (movement axis) + + // gantry_shaft (arm reach) + computer_normal (the brain) + chest. + // Contains the basic computer, so turtle inherits its plastic cost. event.remove({ output: 'computercraft:turtle_normal' }); event.shaped('computercraft:turtle_normal', [ 'SBS', @@ -184,54 +184,62 @@ ServerEvents.recipes(event => { }); // ─── T4 - ADVANCED ───────────────────────────────────────────────── + // All advanced items: contain their basic counterpart + premium + // upgrade materials (silicon, rose_quartz, gold, industrial_iron_blk, + // constantan). - // Computer (Advanced): silicon + rose_quartz + railway_casing for - // the "premium" chassis. Gold trim. + // Computer (Advanced): Computer Normal core, silicon + rose_quartz + // upgrades, industrial_iron_block premium chassis, gold trim. event.remove({ output: 'computercraft:computer_advanced' }); event.shaped('computercraft:computer_advanced', [ 'GQG', - 'SMS', - 'GRG', + 'SCS', + 'GIG', ], { G: 'minecraft:gold_ingot', Q: 'create:rose_quartz', S: 'tfmg:silicon_ingot', - M: 'create:precision_mechanism', - R: 'create:railway_casing', + C: 'computercraft:computer_normal', + I: 'create:industrial_iron_block', }); - // Monitor (Advanced): display_link is Create's literal data-binding - // block - perfect to pair with a CC monitor for showing data. + // Monitor (Advanced): Monitor Normal as the screen, display_link as + // the data binding layer, gold trim + nixie_tube accents, plastic + // insulation on the sides. event.remove({ output: 'computercraft:monitor_advanced' }); event.shaped('computercraft:monitor_advanced', [ 'GNG', - 'gDg', - 'GNG', + 'PMP', + 'GDG', ], { G: 'minecraft:gold_ingot', N: 'create:nixie_tube', - g: 'minecraft:glass_pane', + P: 'tfmg:plastic_sheet', + M: 'computercraft:monitor_normal', D: 'create:display_link', }); - // Wireless Modem (Advanced): constantan_spool for high-Q antenna - // tuning, transmitter-style central component. + // Wireless Modem (Advanced): contains Wireless Modem Normal, + // wrapped in constantan_wire + spool for high-Q tuning, large_coil + // for the powerful antenna, gold trim. event.remove({ output: 'computercraft:wireless_modem_advanced' }); event.shaped('computercraft:wireless_modem_advanced', [ 'WCW', - 'QLQ', - 'GBG', + 'PMP', + 'GLG', ], { W: 'tfmg:constantan_wire', C: 'tfmg:constantan_spool', - Q: 'create:rose_quartz', - L: 'tfmg:large_coil', + P: 'tfmg:plastic_sheet', + M: 'computercraft:wireless_modem_normal', G: 'minecraft:gold_ingot', - B: 'create:brass_casing', + L: 'tfmg:large_coil', }); - // Turtle (Advanced): gold-trim turtle with computer_advanced brain - // and mechanical_arm for actual robotic manipulation. + // Turtle (Advanced): contains Computer Advanced (so the upgrade + // chain forces Basic -> Computer Normal -> Computer Advanced -> + // Turtle Advanced). Mechanical_arm for proper robotic manipulation, + // gold trim. event.remove({ output: 'computercraft:turtle_advanced' }); event.shaped('computercraft:turtle_advanced', [ 'GAG', @@ -246,8 +254,8 @@ ServerEvents.recipes(event => { // ─── T5 - MOBILE (POCKET COMPUTERS) ──────────────────────────────── - // Pocket Computer (Normal): miniaturised T2 computer. Electron tube - // brain, silicon for the compact CPU, precision_mech, plastic shell. + // Pocket Computer (Basic): miniaturised. Plastic shell, electron_tube, + // silicon CPU, precision_mech, glass pane screen. event.remove({ output: 'computercraft:pocket_computer_normal' }); event.shaped('computercraft:pocket_computer_normal', [ 'PEP', @@ -261,22 +269,18 @@ ServerEvents.recipes(event => { g: 'minecraft:glass_pane', }); - // Pocket Computer (Advanced) - the gold variant. + // Pocket Computer (Advanced): contains Pocket Computer Normal, + // upgraded with rose_quartz, gold-trim, silicon doubled. event.remove({ output: 'computercraft:pocket_computer_advanced' }); event.shaped('computercraft:pocket_computer_advanced', [ 'PQP', - 'SMS', + 'SCS', 'PGP', ], { P: 'tfmg:plastic_sheet', Q: 'create:rose_quartz', S: 'tfmg:silicon_ingot', - M: 'create:precision_mechanism', + C: 'computercraft:pocket_computer_normal', G: 'minecraft:gold_ingot', }); - - // Note: computercraft:pocket_computer_colour appears in the model - // assets but is not a separately-registered item in CC: Tweaked -- - // it's a colour-state variant of the advanced pocket computer. - // Don't try to define a recipe for it (KubeJS warns at startup). }); diff --git a/pack/pack.lock.json b/pack/pack.lock.json index ba9f469..cf75580 100644 --- a/pack/pack.lock.json +++ b/pack/pack.lock.json @@ -1,7 +1,7 @@ { "$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing", "name": "Brass and Sigil", - "version": "0.19.2", + "version": "0.19.3", "minecraft": "1.21.1", "loader": { "type": "neoforge", -- 2.52.0