feat(v1.0.8): realistic worldgen + bundled shader/resource packs + Protocol Tome + Lithium
All checks were successful
Build & Release Pack / build (push) Successful in 1m47s

- Worldgen (both packs): Terralith 2.6.2, Tectonic 3.0.26, Continents 1.1.12
  (realistic continent-based overworld; applies to NEW worlds)
- Client: bundle MakeUp Ultra Fast shaderpack (LGPL) + Vanilla Live resource
  pack (CC-BY-SA), force-enabled via Resource Pack Overrides
- FTB Quests: add Protocol Tome starter item (given on first login) that opens
  the quest book via KubeJS network -> FTBQuestsClient.openGui(); + lang keys
- Optimize: add Lithium 0.15.4 (NeoForge 1.21.1) to both packs
- Docs: mods.md updated with worldgen/shader/resource/quest notes
This commit is contained in:
MiTHRAL 2026-08-20 16:11:22 -04:00
parent 970e9ad3c6
commit ff02f1df0c
30 changed files with 402 additions and 42 deletions

View file

@ -26,11 +26,17 @@ The Protocol's emitter. Must stay powered. It holds the world together.
The TARDIS-blue glass of the Second Renegade Flight. Purely decorative;
some say it hums near Doors.
## Protocol Tome
The Flight's last briefing. Given once at the start of the Protocol; right-click
it to open the guidance book. It carries the whole of the Dark Photon Protocol.
```lang
{
"item.scicraft.photon_core": "Photon Core",
"item.scicraft.photon_fragment": "Photon Fragment",
"item.scicraft.void_stabilizer": "Void Stabilizer",
"item.scicraft.protocol_tome": "Protocol Tome",
"block.scicraft.quantum_lattice": "Quantum Lattice",
"block.scicraft.renegade_glass": "Renegade Glass",
@ -48,6 +54,9 @@ some say it hums near Doors.
"tooltip.scicraft.quantum_lattice.3": "Right-click with a Void Stabilizer to push back the tide.",
"tooltip.scicraft.renegade_glass.1": "The TARDIS-blue glass of the Second Renegade Flight.",
"tooltip.scicraft.renegade_glass.2": "Decorative. Some say it hums near Doors.",
"tooltip.scicraft.protocol_tome.1": "The last briefing of the Second Renegade Flight.",
"tooltip.scicraft.protocol_tome.2": "Right-click to open the guidance book.",
"tooltip.scicraft.protocol_tome.3": "It carries the whole of the Protocol.",
"jei.scicraft.photon_fragment.1": "The Darker carry these.",
"jei.scicraft.photon_fragment.2": "Slay Wardens, Mutant Monsters, or Born in Chaos mobs to recover them.",
@ -60,6 +69,7 @@ some say it hums near Doors.
"jei.scicraft.quantum_lattice.2": "Powered by steel, circuits, and Photon Cores, it holds the world together.",
"jei.scicraft.quantum_lattice.3": "Right-click it with a Void Stabilizer to push back the global Corruption Tide.",
"jei.scicraft.renegade_glass.1": "The TARDIS-blue glass of the Second Renegade Flight.",
"jei.scicraft.renegade_glass.2": "Decorative. Crafted around a Photon Fragment."
"jei.scicraft.renegade_glass.2": "Decorative. Crafted around a Photon Fragment.",
"jei.scicraft.protocol_tome.1": "The Flight's briefing. Right-click it to open the quest book."
}
```

View file

@ -9,6 +9,7 @@ Every message the player can see. These keys are referenced from scripts via
- **tide_mid** — the world is waking; darkness begins.
- **tide_high** — the Darker press against the world.
- **seal_fail** — reserved for when the Lattice can't close a door.
- **tome_given** — spoken when the Protocol Tome is first handed over.
```lang
{
@ -17,6 +18,7 @@ Every message the player can see. These keys are referenced from scripts via
"scicraft.phrases.tide_low": "The seal holds. The tide is calm.",
"scicraft.phrases.tide_mid": "A Door stirs somewhere. The dark is waking.",
"scicraft.phrases.tide_high": "The Darker press against the world. The Protocol calls.",
"scicraft.phrases.seal_fail": "The Lattice sputters. It needs more power — and a Stabilizer."
"scicraft.phrases.seal_fail": "The Lattice sputters. It needs more power — and a Stabilizer.",
"scicraft.phrases.tome_given": "A Protocol Tome settles into your hands. Right-click it to read the Flight's last briefing."
}
```

View file

@ -0,0 +1,17 @@
{
"schema_version": "1",
"failed_reloads_per_session": 3,
"default_packs": [],
"default_overrides": {},
"packs": {
"vanilla-live-2.0.0.zip": {
"title": "Vanilla Live",
"description": "Bundled vanilla feel enhancements",
"defaultPosition": "top",
"compatibility": "COMPATIBLE",
"fixedPosition": false,
"required": true,
"hidden": false
}
}
}

View file

@ -36,6 +36,10 @@ hash = "50b08c291f4daf1119b4b9052b299bb751e3c561191c99535edc00b223362b2b"
file = "config/mekanismcovers.json"
hash = "87ca59b5d0f51af04e15197fb5072c99964b33ac0e75352654f393c8d977a520"
[[files]]
file = "config/resourcepackoverrides.json"
hash = "f2515aa748afe1a19f7fe9c9bd1c5b407cd2ab837432e8b401268d05a2931eec"
[[files]]
file = "config/sodium-options.json"
hash = "44478bef0973f1aa587c0493568a5cbc5426233b611f14bd2be489b5b862fa7f"
@ -50,7 +54,7 @@ hash = "f28c058ada8ac482f4ff5de9694e91651461bb16e8468042f9665d0ff65c93cf"
[[files]]
file = "kubejs/assets/scicraft/lang/en_us.json"
hash = "d2126d3b09f8048309675d7a9f79776c1b01070c43bd8b3a0caa2f1f7862f3db"
hash = "0a1431213db887fa66c494aa5a6ce947866764cf443e9d9d4edea09f3804f020"
[[files]]
file = "kubejs/assets/scicraft/textures/block/quantum_lattice.png"
@ -68,6 +72,10 @@ hash = "570aef9ed9b12d2742790a0c4c2f6a1f0471f182cc3e357756aa3d23d2b5e332"
file = "kubejs/assets/scicraft/textures/item/photon_fragment.png"
hash = "8cca8f9112faff47d1ca0726ee793869de19da8646166a5cda14a1628b67b203"
[[files]]
file = "kubejs/assets/scicraft/textures/item/protocol_tome.png"
hash = "a8fd4ca7e04d2e17f61512d1864f89c71582f58ff43199831d935ef0f6cde329"
[[files]]
file = "kubejs/assets/scicraft/textures/item/void_stabilizer.png"
hash = "52b18e603aa0eaf9a900159a24fabbe24f594ada7595a26c1265b77701d8e682"
@ -80,6 +88,10 @@ hash = "e92d824f6929e88523ae0b12e12328ee6b4e483da22d9d51ae7290feb9299c91"
file = "kubejs/client_scripts/02_jei_info.js"
hash = "e192ce4474877cf8d51ad6f4196f127aa3f0821b943aa772d53fed7f2819338a"
[[files]]
file = "kubejs/client_scripts/03_protocol_tome.js"
hash = "04d1c24d4fe6a8dd71d5cd36257a1f4d76a1e62e8723ff3de9edf5ab20f57b1e"
[[files]]
file = "kubejs/data/scicraft/advancements/protocol/first_signal.json"
hash = "c545af1e4e6dfcf5049ec19d309fe736777b8e322f95f73cf577efd790bb04f0"
@ -140,9 +152,13 @@ hash = "de77b992da96b9cd6e1fcf8fd365aaa876099c37a28628bc44781ce30bdea127"
file = "kubejs/server_scripts/04_loot.js"
hash = "f280f2eeb997b4ba3e18dd168c675ea2fa0a9848f68f6db158806628712abc3a"
[[files]]
file = "kubejs/server_scripts/05_protocol_tome.js"
hash = "1cd8e15c94c6d034cb376b038afbcc10b9cb08e6fc77f4a8127c7221ae63305b"
[[files]]
file = "kubejs/startup_scripts/registry_blocks.js"
hash = "89c614bc202780b86b84423ce5d0306beb5667b89db2fcf8fc6ed0a71c587218"
hash = "be188bd038a724a1449d5bb36a7c9679651b50468a786b597e2f6f563f9d1932"
[[files]]
file = "mods/3dskinlayers.pw.toml"
@ -249,6 +265,11 @@ file = "mods/connected-glass.pw.toml"
hash = "ba633190e61bd7b32e412cb628a83fdd09b53b7ef8a036f1669687c719a99cc2"
metafile = true
[[files]]
file = "mods/continents.pw.toml"
hash = "34fb32f369ccbfccf0e6e3085d823969338f22eee16524d8c62b29938653cdd8"
metafile = true
[[files]]
file = "mods/copycats.pw.toml"
hash = "e002fab16a9b9ef0a35844030339612a38d3c58b0b93e97a34eb43ddc9108be7"
@ -584,6 +605,11 @@ file = "mods/libipn.pw.toml"
hash = "0d2a00252d64ed7d2d9b19994f7accb780304be61f3903d36e810714b414c6cb"
metafile = true
[[files]]
file = "mods/lithium.pw.toml"
hash = "51e129832b04acd57da470fc41725bad5e101b6a6b1d4901fd8ea7a92b14e13d"
metafile = true
[[files]]
file = "mods/lithostitched.pw.toml"
hash = "0e1046e1bb16b42706ba58700f294787dc8fe643518bc5fb26eeaea8e96fd320"
@ -719,6 +745,11 @@ file = "mods/reintegrated-chipped.pw.toml"
hash = "70674900e545ac727d245a2ab269ab63db6ef94b862548a55e36b31fcd7aaa70"
metafile = true
[[files]]
file = "mods/resource-pack-overrides.pw.toml"
hash = "b8101dca20d054277d99e75b43dd8db44dea64a761d2ab69fdda9f6d59d9e6f1"
metafile = true
[[files]]
file = "mods/resourceful-lib.pw.toml"
hash = "aa83553db30adc47f86010f6443340251323a62ee3f9415a0c4332cb6d502419"
@ -819,6 +850,16 @@ file = "mods/supplementaries.pw.toml"
hash = "2a2b9478b96d83d7ab8d62f17a4acc68332df7efaecad3b584f781b589a22228"
metafile = true
[[files]]
file = "mods/tectonic.pw.toml"
hash = "fef2f8085bbdf6d398b02c87225ad9ccf9cc5d71edde13cd18e12a154764c84e"
metafile = true
[[files]]
file = "mods/terralith.pw.toml"
hash = "81c5c05f9ed4c07b9f027ff6c421939bb04e476075091f135d34aaa05af1f950"
metafile = true
[[files]]
file = "mods/the-doctor-who-client-mod.pw.toml"
hash = "133badb6d33d880f47ad59a60dd3916231168ba07701c957aee1f781d5d54a5a"
@ -849,6 +890,14 @@ file = "mods/worldportal.pw.toml"
hash = "5a4ae7824648c6b90b67dd6d913b5516f8ea180f72ac83d6c810293bcb535f06"
metafile = true
[[files]]
file = "resourcepacks/vanilla-live-2.0.0.zip"
hash = "bba4fa885e20385c97cbe30815a91169b6bc78a7dd72334086208db12c31f3a9"
[[files]]
file = "shaderpacks/MakeUp-UltraFast-8.6g.zip"
hash = "992b4076cb5141062f5da84b0812ba1f81acb5eb121f8a7a11d45d3a7c24b195"
[[files]]
file = "shaderpacks/README.md"
hash = "28abbd2f7005b8c65fd1d1bae88aa47f05ffdcebd4339c23a1102a2ae46b3bf0"
hash = "7d14a4fd606d77b8e87930ee7c8736cfa4443710c015e7929dcfb03653193473"

View file

@ -2,6 +2,7 @@
"item.scicraft.photon_core": "Photon Core",
"item.scicraft.photon_fragment": "Photon Fragment",
"item.scicraft.void_stabilizer": "Void Stabilizer",
"item.scicraft.protocol_tome": "Protocol Tome",
"block.scicraft.quantum_lattice": "Quantum Lattice",
"block.scicraft.renegade_glass": "Renegade Glass",
"tooltip.scicraft.photon_core.1": "Dark photons — the binding force of the Door.",
@ -18,6 +19,9 @@
"tooltip.scicraft.quantum_lattice.3": "Right-click with a Void Stabilizer to push back the tide.",
"tooltip.scicraft.renegade_glass.1": "The TARDIS-blue glass of the Second Renegade Flight.",
"tooltip.scicraft.renegade_glass.2": "Decorative. Some say it hums near Doors.",
"tooltip.scicraft.protocol_tome.1": "The last briefing of the Second Renegade Flight.",
"tooltip.scicraft.protocol_tome.2": "Right-click to open the guidance book.",
"tooltip.scicraft.protocol_tome.3": "It carries the whole of the Protocol.",
"jei.scicraft.photon_fragment.1": "The Darker carry these.",
"jei.scicraft.photon_fragment.2": "Slay Wardens, Mutant Monsters, or Born in Chaos mobs to recover them.",
"jei.scicraft.photon_fragment.3": "You can also extract one from an Echo Shard and Glowstone Dust.",
@ -30,6 +34,7 @@
"jei.scicraft.quantum_lattice.3": "Right-click it with a Void Stabilizer to push back the global Corruption Tide.",
"jei.scicraft.renegade_glass.1": "The TARDIS-blue glass of the Second Renegade Flight.",
"jei.scicraft.renegade_glass.2": "Decorative. Crafted around a Photon Fragment.",
"jei.scicraft.protocol_tome.1": "The Flight's briefing. Right-click it to open the quest book.",
"advancements.scicraft.protocol.root.title": "The Dark Photon Protocol",
"advancements.scicraft.protocol.root.description": "The last signal of the Second Renegade Flight has found you. Rebuild the Lattice.",
"advancements.scicraft.protocol.first_signal.title": "The Signal",
@ -55,5 +60,6 @@
"scicraft.phrases.tide_low": "The seal holds. The tide is calm.",
"scicraft.phrases.tide_mid": "A Door stirs somewhere. The dark is waking.",
"scicraft.phrases.tide_high": "The Darker press against the world. The Protocol calls.",
"scicraft.phrases.seal_fail": "The Lattice sputters. It needs more power — and a Stabilizer."
"scicraft.phrases.seal_fail": "The Lattice sputters. It needs more power — and a Stabilizer.",
"scicraft.phrases.tome_given": "A Protocol Tome settles into your hands. Right-click it to read the Flight's last briefing."
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

View file

@ -0,0 +1,11 @@
// SCICRAFT — The Dark Photon Protocol
// Client: open the FTB Quests book when the server says the Tome was used.
// The server sends 'scicraft:open_quests' on Tome right-click.
NetworkEvents.fromServer('scicraft:open_quests', event => {
try {
Java.loadClass('dev.ftb.mods.ftbquests.client.FTBQuestsClient').openGui()
} catch (err) {
console.warn('Protocol Tome: could not open FTB Quests GUI', err)
}
})

View file

@ -0,0 +1,31 @@
// SCICRAFT — The Dark Photon Protocol
// Protocol Tome: starter item that makes the FTB Quests guidance unmissable.
// - Given to each player once on first login.
// - Right-clicking it opens the FTB Quests book on the client.
const TOME_SC = {
item: 'scicraft:protocol_tome',
channel: 'scicraft:open_quests',
give_flag: 'scicraft_got_tome'
}
// Give the Tome once per player on first login.
PlayerEvents.loggedIn(event => {
const player = event.player
if (player.persistentData.contains(TOME_SC.give_flag)) return
player.persistentData.putBoolean(TOME_SC.give_flag, true)
// Give on the next tick so the player is fully in-world first.
event.server.scheduleInTicks(10, () => {
if (!player.isOnline()) return
player.give(Item.of(TOME_SC.item))
player.tell(Text.translate('scicraft.phrases.tome_given'))
})
})
// Right-clicking the Tome asks the client to open the FTB Quests book.
ItemEvents.rightClicked(event => {
if (event.item.id !== TOME_SC.item) return
if (event.player.crouching) return
event.player.sendData(TOME_SC.channel, {})
event.cancel()
})

View file

@ -25,6 +25,12 @@ StartupEvents.registry('item', event => {
.texture('scicraft:item/void_stabilizer')
.maxStackSize(1)
.tag('scicraft:stabilizer')
// Protocol Tome — given on first login; opens the FTB Quests guidance book.
event.create('scicraft:protocol_tome')
.texture('scicraft:item/protocol_tome')
.maxStackSize(1)
.glow(true)
})
StartupEvents.registry('block', event => {

View file

@ -0,0 +1,13 @@
name = "Continents"
filename = "Continents_1.21.x_v1.1.12.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/bQ5TJA1E/versions/3hhSlpEU/Continents_1.21.x_v1.1.12.jar"
hash-format = "sha512"
hash = "11561bd4f8c1f315376a7807669397f5f4c9d2419df83597fbc073d7f59a51708b854ab7361e4e305bb91ec3c8dbbfd17bef5f28a95fa193f9ef5d5b32f9a1a4"
[update]
[update.modrinth]
mod-id = "bQ5TJA1E"
version = "3hhSlpEU"

View file

@ -0,0 +1,13 @@
name = "Lithium"
filename = "lithium-neoforge-0.15.4+mc1.21.1.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/DDUrRVCA/lithium-neoforge-0.15.4%2Bmc1.21.1.jar"
hash-format = "sha512"
hash = "2735da2088b88a8bdcd4ad02a2b6fffbfd3925557cefd4fa54b5477dfb9e582ea7f521300c060f57dff1325dd21bff276b7333363ad3371ed6893e3de9eca9cd"
[update]
[update.modrinth]
mod-id = "gvQqBUqZ"
version = "DDUrRVCA"

View file

@ -0,0 +1,13 @@
name = "Resource Pack Overrides"
filename = "ResourcePackOverrides-v21.1.0-1.21.1-NeoForge.jar"
side = "client"
[download]
url = "https://cdn.modrinth.com/data/YsFycamt/versions/xf3H2eJV/ResourcePackOverrides-v21.1.0-1.21.1-NeoForge.jar"
hash-format = "sha512"
hash = "9a15db96ffc86bc93624392c22c2aaea4ad4a7267c20ff528ff2dd61d8d84b9db611fc24673fba5b5d0bac318b4ce1e9d1725085ce2fad68f4231afa6bbb43c4"
[update]
[update.modrinth]
mod-id = "YsFycamt"
version = "xf3H2eJV"

View file

@ -0,0 +1,13 @@
name = "Tectonic"
filename = "tectonic-3.0.26-neoforge-21.1.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/lWDHr9jE/versions/vNrkxC3z/tectonic-3.0.26-neoforge-21.1.jar"
hash-format = "sha512"
hash = "7f91f69f6985cf5d0533dc0a645286f40b9625e0a67e405969d153497923a9b2e6b88e436b017eb969a1fbe28d02850d87152a06f2c01dc55779814912d770ef"
[update]
[update.modrinth]
mod-id = "lWDHr9jE"
version = "vNrkxC3z"

View file

@ -0,0 +1,13 @@
name = "Terralith"
filename = "Terralith_1.21.1_v2.6.2_Neoforge.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/8oi3bsk5/versions/IY93YaEe/Terralith_1.21.1_v2.6.2_Neoforge.jar"
hash-format = "sha512"
hash = "35298f1682567f63dc16658b04cee5498b30819f1c05f9712b4480d7f5eb17059db3b13ab14f81a05fe257149d11ced2cce2030d3727c1747edd8657c53e2a85"
[update]
[update.modrinth]
mod-id = "8oi3bsk5"
version = "IY93YaEe"

View file

@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0"
[index]
file = "index.toml"
hash-format = "sha256"
hash = "8ea3e4a55e075d409c4f033ab269cf1704e27fbb61d3056d1cc2287bb31fe2b4"
hash = "f67dec64fdf8212db06b444519aa39e36598b68628e49ee821642ce896fc7ce5"
[versions]
minecraft = "1.21.1"

Binary file not shown.

Binary file not shown.

View file

@ -1,41 +1,33 @@
# SCICRAFT Shader Pack — Complementary Reimagined (r5.4)
# SCICRAFT Shader Pack — MakeUp Ultra Fast
The modpack uses **Iris Shaders (native NeoForge 1.21.1)** as the shader loader.
Download **Complementary Reimagined r5.4** and drop it in this folder:
**MakeUp Ultra Fast v8.6g** is **bundled with the pack** — it ships in
`overrides/shaderpacks/` and Iris auto-loads it on first launch. It's chosen
for the best quality/performance ratio across all GPU tiers (works on iGPU to
high-end). License: LGPL-3.0 (redistribution permitted with credit).
To change/reset the default shader settings in-game:
`Esc → Options… → Shader Packs… → MakeUp Ultra Fast → Shader Pack Settings`.
Recommended for weaker GPUs (4GB VRAM / iGPU): disable Shadows and Depth of
Field in the shader options first — they're the two heaviest effects.
## Optional: Complementary Reimagined (manual download)
The previous default, **Complementary Reimagined**, is All-Rights-Reserved, so
it **cannot be bundled** in the mrpack. If you want it, download it yourself and
drop the zip in this folder (or the instance's `shaderpacks/` folder):
- Modrinth: https://modrinth.com/shader/complementary-reimagined
(installer button → "Download jar file", rename to `ComplementaryReimagined_r5.4.zip`)
- Mirrors: https://www.curseforge.com/minecraft/shaderpacks/complementary-reimagined
## 4GB VRAM / Performance presets
Open Iris: `Esc → Options… → Shader Packs… → Complementary Reimagined → Shader Pack Settings`.
Recommended for 4GB VRAM graphics cards:
| Setting | Recommended value |
|---------|-------------------|
| Preset | **Fast** (Performance mode) |
| Render Distance | 8 chunks (matches server view-distance) |
| Antialiasing | OFF |
| SSAO | Fast |
| Shadow Quality | 1.0x (0.5x for very weak GPUs) |
| Shadow Distance | 64 |
| Bloom | OFF or Low |
| Clouds | 2D Fast |
| Water Reflections | Screenspace Fast |
| Colored Light | OFF |
| Block Light / Entity Ambient | OFF |
Optional: enable "Vanilla Tweaks → Clear Glass" so Connected Glass mods
remain visible through shaders.
## Conflicts / Notes
## Performance notes
- **Iris & Oculus Flywheel Compat** is bundled so Create's Flywheel renderer
keeps working with shaders. If you see flywheel errors, toggle the
compat mod's config or set Flywheel backend to "INSTANCING" in the
Create config.
keeps working with shaders. If you see flywheel errors, toggle the compat
mod's config or set the Flywheel backend to "INSTANCING" in the Create config.
- Shaders are **client-only**. The server pack has no shader loader.
- If FPS drops hard, first lower Shadow Quality and disable Bloom before
reducing render distance.
- Optional: enable "Vanilla Tweaks → Clear Glass" so Connected Glass mods
remain visible through shaders.

View file

@ -38,6 +38,39 @@ Physics / portals run on **Sable** + **Create Aeronautics** + **IPSable**
Do not add the Modrinth "Immersive Portals x Sable Bridge" — it is deprecated
and incompatible with Sable 2.x; IPSable supersedes it.
## World generation (both packs, NEW worlds only)
The overworld is overhauled for a realistic, "real world server" feel:
- **Terralith 2.6.2** — ~100 new biomes (realistic + light fantasy) using only
vanilla blocks, plus immersive structures. *Stardust Labs license*: usable in
a modpack unmodified with credit.
- **Tectonic 3.0.26** (MIT) — grander, more varied terrain shaping.
- **Continents 1.1.12** — reshapes the world into continents separated by large
oceans and island chains. *Stardust Labs license* (credit required).
- All three depend on **Lithostitched** (already in the pack).
> **Important:** worldgen only applies to **newly generated chunks**. Existing
> worlds will not change — start a fresh singleplayer world (or new server seed)
> to see the continents/biomes.
## Bundled shader & resource packs (client-only)
- **Shader pack: MakeUp Ultra Fast v8.6g** (LGPL-3.0) — bundled in
`shaderpacks/`, auto-loaded by Iris. Best quality/performance across GPU
tiers. Complementary Reimagined is **ARR** so it can't be bundled — it stays
an optional manual download (see `shaderpacks/README.md`).
- **Resource pack: Vanilla Live 2.0.0** (CC-BY-SA-4.0) — bundled in
`resourcepacks/`, force-enabled via **Resource Pack Overrides** (MPL-2.0,
`config/resourcepackoverrides.json`).
## FTB Quests guidance
The **Protocol Tome** (`scicraft:protocol_tome`) is given once on first login;
right-clicking it opens the FTB Quests guidance book (server → client packet via
KubeJS → `FTBQuestsClient.openGui()`). The quest book is also reachable via the
FTB Library sidebar button and keybind. Quest files ship in both packs under
`config/ftbquests/quests/` (server-authoritative).
## Pause-menu / ESC cleanliness (client config overrides)
The pause screen can get cluttered by mod config buttons. Shipped overrides in

View file

@ -10,7 +10,7 @@ hash = "303cb8e93c8d1989960f77c50575cbfb6e055870fb317373405c2e6b81e0211b"
[[files]]
file = "kubejs/assets/scicraft/lang/en_us.json"
hash = "d2126d3b09f8048309675d7a9f79776c1b01070c43bd8b3a0caa2f1f7862f3db"
hash = "0a1431213db887fa66c494aa5a6ce947866764cf443e9d9d4edea09f3804f020"
[[files]]
file = "kubejs/assets/scicraft/textures/block/quantum_lattice.png"
@ -28,6 +28,10 @@ hash = "570aef9ed9b12d2742790a0c4c2f6a1f0471f182cc3e357756aa3d23d2b5e332"
file = "kubejs/assets/scicraft/textures/item/photon_fragment.png"
hash = "8cca8f9112faff47d1ca0726ee793869de19da8646166a5cda14a1628b67b203"
[[files]]
file = "kubejs/assets/scicraft/textures/item/protocol_tome.png"
hash = "a8fd4ca7e04d2e17f61512d1864f89c71582f58ff43199831d935ef0f6cde329"
[[files]]
file = "kubejs/assets/scicraft/textures/item/void_stabilizer.png"
hash = "52b18e603aa0eaf9a900159a24fabbe24f594ada7595a26c1265b77701d8e682"
@ -40,6 +44,10 @@ hash = "e92d824f6929e88523ae0b12e12328ee6b4e483da22d9d51ae7290feb9299c91"
file = "kubejs/client_scripts/02_jei_info.js"
hash = "e192ce4474877cf8d51ad6f4196f127aa3f0821b943aa772d53fed7f2819338a"
[[files]]
file = "kubejs/client_scripts/03_protocol_tome.js"
hash = "04d1c24d4fe6a8dd71d5cd36257a1f4d76a1e62e8723ff3de9edf5ab20f57b1e"
[[files]]
file = "kubejs/data/scicraft/advancements/protocol/first_signal.json"
hash = "c545af1e4e6dfcf5049ec19d309fe736777b8e322f95f73cf577efd790bb04f0"
@ -100,9 +108,13 @@ hash = "de77b992da96b9cd6e1fcf8fd365aaa876099c37a28628bc44781ce30bdea127"
file = "kubejs/server_scripts/04_loot.js"
hash = "f280f2eeb997b4ba3e18dd168c675ea2fa0a9848f68f6db158806628712abc3a"
[[files]]
file = "kubejs/server_scripts/05_protocol_tome.js"
hash = "1cd8e15c94c6d034cb376b038afbcc10b9cb08e6fc77f4a8127c7221ae63305b"
[[files]]
file = "kubejs/startup_scripts/registry_blocks.js"
hash = "89c614bc202780b86b84423ce5d0306beb5667b89db2fcf8fc6ed0a71c587218"
hash = "be188bd038a724a1449d5bb36a7c9679651b50468a786b597e2f6f563f9d1932"
[[files]]
file = "mods/ae2-import-export-card.pw.toml"
@ -194,6 +206,11 @@ file = "mods/connected-glass.pw.toml"
hash = "ba633190e61bd7b32e412cb628a83fdd09b53b7ef8a036f1669687c719a99cc2"
metafile = true
[[files]]
file = "mods/continents.pw.toml"
hash = "34fb32f369ccbfccf0e6e3085d823969338f22eee16524d8c62b29938653cdd8"
metafile = true
[[files]]
file = "mods/copycats.pw.toml"
hash = "e002fab16a9b9ef0a35844030339612a38d3c58b0b93e97a34eb43ddc9108be7"
@ -474,6 +491,11 @@ file = "mods/laserio.pw.toml"
hash = "0d7ce37fd00f170025118f0e3fbeef7f4e7147c332b1a5a4e924950eb5e36bc0"
metafile = true
[[files]]
file = "mods/lithium.pw.toml"
hash = "51e129832b04acd57da470fc41725bad5e101b6a6b1d4901fd8ea7a92b14e13d"
metafile = true
[[files]]
file = "mods/lithostitched.pw.toml"
hash = "b44ca90546d8fbf059a68aa34ed1106825fb99b8e1570d1edc16bec38af8a0e8"
@ -679,6 +701,16 @@ file = "mods/supplementaries.pw.toml"
hash = "2a2b9478b96d83d7ab8d62f17a4acc68332df7efaecad3b584f781b589a22228"
metafile = true
[[files]]
file = "mods/tectonic.pw.toml"
hash = "fef2f8085bbdf6d398b02c87225ad9ccf9cc5d71edde13cd18e12a154764c84e"
metafile = true
[[files]]
file = "mods/terralith.pw.toml"
hash = "81c5c05f9ed4c07b9f027ff6c421939bb04e476075091f135d34aaa05af1f950"
metafile = true
[[files]]
file = "mods/thevoiddimension.pw.toml"
hash = "41d3d7c6960b26b3f26eb532a3499c71ae976d2e434732d88e0ca56f7fd3b376"

View file

@ -2,6 +2,7 @@
"item.scicraft.photon_core": "Photon Core",
"item.scicraft.photon_fragment": "Photon Fragment",
"item.scicraft.void_stabilizer": "Void Stabilizer",
"item.scicraft.protocol_tome": "Protocol Tome",
"block.scicraft.quantum_lattice": "Quantum Lattice",
"block.scicraft.renegade_glass": "Renegade Glass",
"tooltip.scicraft.photon_core.1": "Dark photons — the binding force of the Door.",
@ -18,6 +19,9 @@
"tooltip.scicraft.quantum_lattice.3": "Right-click with a Void Stabilizer to push back the tide.",
"tooltip.scicraft.renegade_glass.1": "The TARDIS-blue glass of the Second Renegade Flight.",
"tooltip.scicraft.renegade_glass.2": "Decorative. Some say it hums near Doors.",
"tooltip.scicraft.protocol_tome.1": "The last briefing of the Second Renegade Flight.",
"tooltip.scicraft.protocol_tome.2": "Right-click to open the guidance book.",
"tooltip.scicraft.protocol_tome.3": "It carries the whole of the Protocol.",
"jei.scicraft.photon_fragment.1": "The Darker carry these.",
"jei.scicraft.photon_fragment.2": "Slay Wardens, Mutant Monsters, or Born in Chaos mobs to recover them.",
"jei.scicraft.photon_fragment.3": "You can also extract one from an Echo Shard and Glowstone Dust.",
@ -30,6 +34,7 @@
"jei.scicraft.quantum_lattice.3": "Right-click it with a Void Stabilizer to push back the global Corruption Tide.",
"jei.scicraft.renegade_glass.1": "The TARDIS-blue glass of the Second Renegade Flight.",
"jei.scicraft.renegade_glass.2": "Decorative. Crafted around a Photon Fragment.",
"jei.scicraft.protocol_tome.1": "The Flight's briefing. Right-click it to open the quest book.",
"advancements.scicraft.protocol.root.title": "The Dark Photon Protocol",
"advancements.scicraft.protocol.root.description": "The last signal of the Second Renegade Flight has found you. Rebuild the Lattice.",
"advancements.scicraft.protocol.first_signal.title": "The Signal",
@ -55,5 +60,6 @@
"scicraft.phrases.tide_low": "The seal holds. The tide is calm.",
"scicraft.phrases.tide_mid": "A Door stirs somewhere. The dark is waking.",
"scicraft.phrases.tide_high": "The Darker press against the world. The Protocol calls.",
"scicraft.phrases.seal_fail": "The Lattice sputters. It needs more power — and a Stabilizer."
"scicraft.phrases.seal_fail": "The Lattice sputters. It needs more power — and a Stabilizer.",
"scicraft.phrases.tome_given": "A Protocol Tome settles into your hands. Right-click it to read the Flight's last briefing."
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

View file

@ -0,0 +1,11 @@
// SCICRAFT — The Dark Photon Protocol
// Client: open the FTB Quests book when the server says the Tome was used.
// The server sends 'scicraft:open_quests' on Tome right-click.
NetworkEvents.fromServer('scicraft:open_quests', event => {
try {
Java.loadClass('dev.ftb.mods.ftbquests.client.FTBQuestsClient').openGui()
} catch (err) {
console.warn('Protocol Tome: could not open FTB Quests GUI', err)
}
})

View file

@ -0,0 +1,31 @@
// SCICRAFT — The Dark Photon Protocol
// Protocol Tome: starter item that makes the FTB Quests guidance unmissable.
// - Given to each player once on first login.
// - Right-clicking it opens the FTB Quests book on the client.
const TOME_SC = {
item: 'scicraft:protocol_tome',
channel: 'scicraft:open_quests',
give_flag: 'scicraft_got_tome'
}
// Give the Tome once per player on first login.
PlayerEvents.loggedIn(event => {
const player = event.player
if (player.persistentData.contains(TOME_SC.give_flag)) return
player.persistentData.putBoolean(TOME_SC.give_flag, true)
// Give on the next tick so the player is fully in-world first.
event.server.scheduleInTicks(10, () => {
if (!player.isOnline()) return
player.give(Item.of(TOME_SC.item))
player.tell(Text.translate('scicraft.phrases.tome_given'))
})
})
// Right-clicking the Tome asks the client to open the FTB Quests book.
ItemEvents.rightClicked(event => {
if (event.item.id !== TOME_SC.item) return
if (event.player.crouching) return
event.player.sendData(TOME_SC.channel, {})
event.cancel()
})

View file

@ -25,6 +25,12 @@ StartupEvents.registry('item', event => {
.texture('scicraft:item/void_stabilizer')
.maxStackSize(1)
.tag('scicraft:stabilizer')
// Protocol Tome — given on first login; opens the FTB Quests guidance book.
event.create('scicraft:protocol_tome')
.texture('scicraft:item/protocol_tome')
.maxStackSize(1)
.glow(true)
})
StartupEvents.registry('block', event => {

View file

@ -0,0 +1,13 @@
name = "Continents"
filename = "Continents_1.21.x_v1.1.12.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/bQ5TJA1E/versions/3hhSlpEU/Continents_1.21.x_v1.1.12.jar"
hash-format = "sha512"
hash = "11561bd4f8c1f315376a7807669397f5f4c9d2419df83597fbc073d7f59a51708b854ab7361e4e305bb91ec3c8dbbfd17bef5f28a95fa193f9ef5d5b32f9a1a4"
[update]
[update.modrinth]
mod-id = "bQ5TJA1E"
version = "3hhSlpEU"

View file

@ -0,0 +1,13 @@
name = "Lithium"
filename = "lithium-neoforge-0.15.4+mc1.21.1.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/DDUrRVCA/lithium-neoforge-0.15.4%2Bmc1.21.1.jar"
hash-format = "sha512"
hash = "2735da2088b88a8bdcd4ad02a2b6fffbfd3925557cefd4fa54b5477dfb9e582ea7f521300c060f57dff1325dd21bff276b7333363ad3371ed6893e3de9eca9cd"
[update]
[update.modrinth]
mod-id = "gvQqBUqZ"
version = "DDUrRVCA"

View file

@ -0,0 +1,13 @@
name = "Tectonic"
filename = "tectonic-3.0.26-neoforge-21.1.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/lWDHr9jE/versions/vNrkxC3z/tectonic-3.0.26-neoforge-21.1.jar"
hash-format = "sha512"
hash = "7f91f69f6985cf5d0533dc0a645286f40b9625e0a67e405969d153497923a9b2e6b88e436b017eb969a1fbe28d02850d87152a06f2c01dc55779814912d770ef"
[update]
[update.modrinth]
mod-id = "lWDHr9jE"
version = "vNrkxC3z"

View file

@ -0,0 +1,13 @@
name = "Terralith"
filename = "Terralith_1.21.1_v2.6.2_Neoforge.jar"
side = "both"
[download]
url = "https://cdn.modrinth.com/data/8oi3bsk5/versions/IY93YaEe/Terralith_1.21.1_v2.6.2_Neoforge.jar"
hash-format = "sha512"
hash = "35298f1682567f63dc16658b04cee5498b30819f1c05f9712b4480d7f5eb17059db3b13ab14f81a05fe257149d11ced2cce2030d3727c1747edd8657c53e2a85"
[update]
[update.modrinth]
mod-id = "8oi3bsk5"
version = "IY93YaEe"

View file

@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0"
[index]
file = "index.toml"
hash-format = "sha256"
hash = "64d85c7310d2075abdaf4d49c5834c766bb0904f19c4c0b924e4b2f0a9da1f70"
hash = "46114e199bfa15e8e5fb48a5eb13347c8570e8170ee5ed370ad0addb0fd291f2"
[versions]
minecraft = "1.21.1"