pack: v0.32.0 — FTB Quests + XMod Compat + Ranks; restrictive travel design
Mods added (Phase 0a substrate for the bnstoolkit economy work): - FTB Quests 2101.1.25 (progression quest UI for Phase 5+) - FTB XMod Compat 21.1.8 (KubeJS hooks for FTB Chunks/Quests events) - FTB Ranks 2101.1.3 (tier system via permission nodes) Design revision: restrictive travel. This is a Create Aeronautics pack — the journey is the point. Removed all instant-teleport perks from the tier ladder. Players get one starter Waystone and use it for spawn↔base; further travel means building airships, trains, vehicles. Pressure on real movement is intentional. Removed perks: sethomes, /back after death. Removed system: the full sethome subsystem (commands, SavedData, cooldowns) from the bnstoolkit mod scope. Tier table reduced from 10 columns to 8: cost, wilderness chunks, plot slots, daily bounties, shop fee, chat colour, join broadcast. Mod phasing collapsed from 7 phases to 6 (M2 sethome system removed, later phases shift up). Future perk dimensions list updated with two waystone-related candidates (slot cap, XP cost reduction) as the natural travel- progression hooks for later tier-perk revisions. Verified live: all 3 mods discovered + loaded, port 25565 binds, no FATAL/Crashed/Exception lines in startup log. Server resumed to 0.32.0 cleanly. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,6 @@ side of the design.
|
|||||||
- Mixins into FTB Chunks' map UI for spawn-plot cost overlay, hover tooltips, and click-to-purchase popups
|
- Mixins into FTB Chunks' map UI for spawn-plot cost overlay, hover tooltips, and click-to-purchase popups
|
||||||
- Custom HUD render layer for quest progress (replaces stacked vanilla bossbars)
|
- Custom HUD render layer for quest progress (replaces stacked vanilla bossbars)
|
||||||
- Data persistence for plot ownership (server-side, saved with world)
|
- Data persistence for plot ownership (server-side, saved with world)
|
||||||
- Sethome system (`/sethome`, `/home`, `/delhome`, `/listhomes`) since the pack has no other sethome mod
|
|
||||||
- Network packets for client↔server state sync
|
- Network packets for client↔server state sync
|
||||||
- Admin commands: `/bnstoolkit reload`, debugging commands
|
- Admin commands: `/bnstoolkit reload`, debugging commands
|
||||||
- Config-driven tier perks (`tiers.json`) and plot definitions (`plots.json`)
|
- Config-driven tier perks (`tiers.json`) and plot definitions (`plots.json`)
|
||||||
@@ -39,6 +38,7 @@ side of the design.
|
|||||||
- Numismatics direct integration (lives in KubeJS — mod calls KubeJS commands to debit/credit)
|
- Numismatics direct integration (lives in KubeJS — mod calls KubeJS commands to debit/credit)
|
||||||
- FTB Quests integration (FTB Quests handles its own UI for the progression campaign)
|
- FTB Quests integration (FTB Quests handles its own UI for the progression campaign)
|
||||||
- FTB Ranks admin (FTB Ranks handles permissions directly; mod just reads them)
|
- FTB Ranks admin (FTB Ranks handles permissions directly; mod just reads them)
|
||||||
|
- **Sethome / `/back` / fast-travel features** — explicitly removed. The pack uses **Waystones** as the only travel mechanic. Restrictive travel is a design feature for a Create Aeronautics pack: airships, trains, and vehicles are the intended way to cover distance.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -110,17 +110,12 @@ bnstoolkit/
|
|||||||
│ │ └── ChunkButtonMixin.java
|
│ │ └── ChunkButtonMixin.java
|
||||||
│ ├── server/
|
│ ├── server/
|
||||||
│ │ ├── command/
|
│ │ ├── command/
|
||||||
│ │ │ ├── BnsToolkitCommand.java /bnstoolkit reload, debug
|
│ │ │ └── BnsToolkitCommand.java /bnstoolkit reload, debug
|
||||||
│ │ │ ├── SethomeCommand.java /sethome, /home, etc.
|
|
||||||
│ │ │ └── BackCommand.java /back
|
|
||||||
│ │ ├── data/
|
│ │ ├── data/
|
||||||
│ │ │ ├── PlotRegistry.java loads plots.json
|
│ │ │ ├── PlotRegistry.java loads plots.json
|
||||||
│ │ │ ├── PlotOwnership.java SavedData, plot owner UUIDs
|
│ │ │ └── PlotOwnership.java SavedData, plot owner UUIDs
|
||||||
│ │ │ ├── SethomeData.java SavedData, per-player homes
|
|
||||||
│ │ │ └── DeathLocations.java transient, /back support
|
|
||||||
│ │ ├── event/
|
│ │ ├── event/
|
||||||
│ │ │ ├── PlayerJoinHandler.java tier-based join broadcast
|
│ │ │ ├── PlayerJoinHandler.java tier-based join broadcast
|
||||||
│ │ │ ├── PlayerDeathHandler.java remember death location for /back
|
|
||||||
│ │ │ └── ChatColourHandler.java tier-based chat name colouring
|
│ │ │ └── ChatColourHandler.java tier-based chat name colouring
|
||||||
│ │ └── net/
|
│ │ └── net/
|
||||||
│ │ └── (packet implementations — see §6)
|
│ │ └── (packet implementations — see §6)
|
||||||
@@ -308,14 +303,12 @@ the `ServerPlayer` in the handler).
|
|||||||
| Data | Storage | Lifetime |
|
| Data | Storage | Lifetime |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Plot ownership | `bnstoolkit:plots` — vanilla NeoForge `SavedData` attached to overworld | Persists with world. Authoritative source. |
|
| Plot ownership | `bnstoolkit:plots` — vanilla NeoForge `SavedData` attached to overworld | Persists with world. Authoritative source. |
|
||||||
| Sethomes | `bnstoolkit:sethomes` — per-player attached data | Persists with world |
|
|
||||||
| Death locations (for `/back`) | In-memory only, evicted after teleport or on logout | Transient |
|
|
||||||
| Quest state | KubeJS-managed JSON at `world/data/bns_economy/quests/<uuid>.json` | Not the mod's concern — the mod only reads via packets |
|
| Quest state | KubeJS-managed JSON at `world/data/bns_economy/quests/<uuid>.json` | Not the mod's concern — the mod only reads via packets |
|
||||||
| Tier configuration | `config/bnstoolkit/tiers.json` (hot-reloadable) | Until edited |
|
| Tier configuration | `config/bnstoolkit/tiers.json` (hot-reloadable) | Until edited |
|
||||||
| Plot definitions | `config/bnstoolkit/plots.json` (hot-reloadable via `/bnstoolkit reload`) | Until edited |
|
| Plot definitions | `config/bnstoolkit/plots.json` (hot-reloadable via `/bnstoolkit reload`) | Until edited |
|
||||||
|
|
||||||
Plot ownership and sethomes are server-authoritative. Clients only
|
Plot ownership is server-authoritative. Clients only get views via
|
||||||
get views via packets — they never write to these stores directly.
|
packets — they never write to these stores directly.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -335,12 +328,10 @@ Defines the 13-tier ladder. Hot-reloadable.
|
|||||||
"perks": {
|
"perks": {
|
||||||
"wildernessChunks": 9,
|
"wildernessChunks": 9,
|
||||||
"plotSlots": 0,
|
"plotSlots": 0,
|
||||||
"sethomes": 1,
|
|
||||||
"dailyBountySlots": 3,
|
"dailyBountySlots": 3,
|
||||||
"shopFeeDiscount": 0,
|
"shopFeeDiscount": 0,
|
||||||
"chatColour": "grey",
|
"chatColour": "grey",
|
||||||
"joinBroadcast": "none",
|
"joinBroadcast": "none"
|
||||||
"backAfterDeath": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/* ... 12 more tiers ... */
|
/* ... 12 more tiers ... */
|
||||||
@@ -459,29 +450,7 @@ the Plot Purchase Popup shows the slot count and disables the
|
|||||||
button in the plot-detail screen (opens when they click their own
|
button in the plot-detail screen (opens when they click their own
|
||||||
plot in the map). Releases the slot. Refund: 50% of purchase price.
|
plot in the map). Releases the slot. Refund: 50% of purchase price.
|
||||||
|
|
||||||
### 11.3 Sethomes
|
### 11.3 Daily bounty slots
|
||||||
|
|
||||||
**What it does:** how many `/sethome <name>` locations a player can
|
|
||||||
save. `/home <name>` teleports there; `/listhomes` lists; `/delhome <name>`
|
|
||||||
removes.
|
|
||||||
|
|
||||||
**Implementation:** the pack currently has no sethome mod. We build
|
|
||||||
it in bnstoolkit:
|
|
||||||
- `/sethome <name>` saves current player position + world + name
|
|
||||||
- `/home <name>` teleports (validates dimension load)
|
|
||||||
- `/listhomes` shows owned homes
|
|
||||||
- `/delhome <name>` removes
|
|
||||||
- Cap enforced from the player's tier (`tiers.json` → `sethomes`)
|
|
||||||
- Unlimited = represented as `-1` in the JSON
|
|
||||||
|
|
||||||
**Cooldown:** 30-second cooldown between teleports to prevent
|
|
||||||
combat-evasion. Configurable in `tiers.json` per-tier (low tiers
|
|
||||||
have longer cooldown).
|
|
||||||
|
|
||||||
**Edge case:** moving a sethome out of a now-claimed plot or a
|
|
||||||
private base is allowed — sethomes are positional, not contextual.
|
|
||||||
|
|
||||||
### 11.4 Daily bounty slots
|
|
||||||
|
|
||||||
**What it does:** how many bounties a player can have ACTIVE
|
**What it does:** how many bounties a player can have ACTIVE
|
||||||
simultaneously. Once the slot is freed (by completion or cancel),
|
simultaneously. Once the slot is freed (by completion or cancel),
|
||||||
@@ -495,7 +464,7 @@ and grey out the Accept button when at cap.
|
|||||||
active slots until you turn it in. This is intentional — pushes
|
active slots until you turn it in. This is intentional — pushes
|
||||||
players to actually visit the NPC to claim.
|
players to actually visit the NPC to claim.
|
||||||
|
|
||||||
### 11.5 Shop fee discount
|
### 11.4 Shop fee discount
|
||||||
|
|
||||||
**What it does:** reduces the "merchant cut" deducted when you sell
|
**What it does:** reduces the "merchant cut" deducted when you sell
|
||||||
items at the Bazaar's NPC sell shop. The Bazaar charges a base 25%
|
items at the Bazaar's NPC sell shop. The Bazaar charges a base 25%
|
||||||
@@ -515,7 +484,7 @@ and computes effective payout. Rounded down to nearest integer.
|
|||||||
apply this fee — those are direct peer transactions, no Bazaar
|
apply this fee — those are direct peer transactions, no Bazaar
|
||||||
middleman. The fee only applies to the official Bazaar sell shop.
|
middleman. The fee only applies to the official Bazaar sell shop.
|
||||||
|
|
||||||
### 11.6 Chat colour
|
### 11.5 Chat colour
|
||||||
|
|
||||||
**What it does:** the player's name in chat appears in this colour,
|
**What it does:** the player's name in chat appears in this colour,
|
||||||
visible to everyone. Visual rank marker.
|
visible to everyone. Visual rank marker.
|
||||||
@@ -545,7 +514,7 @@ the coloured name, in a distinct colour (probably bright yellow or
|
|||||||
white-bold). Sovereign + Founder is visually busy but acceptable —
|
white-bold). Sovereign + Founder is visually busy but acceptable —
|
||||||
only one player on the server will have both.
|
only one player on the server will have both.
|
||||||
|
|
||||||
### 11.7 Join broadcast
|
### 11.6 Join broadcast
|
||||||
|
|
||||||
**What it does:** when the player logs in, this controls what message
|
**What it does:** when the player logs in, this controls what message
|
||||||
goes to everyone else on the server.
|
goes to everyone else on the server.
|
||||||
@@ -577,29 +546,19 @@ goes to everyone else on the server.
|
|||||||
dispatches the appropriate message. Particle/sound effects are
|
dispatches the appropriate message. Particle/sound effects are
|
||||||
server-side commands (`/particle`, `/playsound`).
|
server-side commands (`/particle`, `/playsound`).
|
||||||
|
|
||||||
### 11.8 `/back` after death
|
### 11.7 Future perk dimensions (not in V1, but easy to add later)
|
||||||
|
|
||||||
**What it does:** the `/back` command teleports the player to where
|
|
||||||
they last died. Tiers without this perk get "You don't have access
|
|
||||||
to /back yet" if they try.
|
|
||||||
|
|
||||||
**Implementation:** mod listens to `LivingDeathEvent` for players,
|
|
||||||
stores `(world, x, y, z, timestamp)` in `DeathLocations` (in-memory
|
|
||||||
only, evicted on logout or after `/back` use). `/back` command
|
|
||||||
verifies tier perm + reads the entry.
|
|
||||||
|
|
||||||
**Cooldown:** 60 seconds. Prevents combat reinsertion.
|
|
||||||
|
|
||||||
**Edge case:** dying again clears the previous death location.
|
|
||||||
You only get one `/back` per death. Logging out clears it too —
|
|
||||||
intentional, to prevent abuse.
|
|
||||||
|
|
||||||
### 11.9 Future perk dimensions (not in V1, but easy to add later)
|
|
||||||
|
|
||||||
Architecture supports adding new perk columns in `tiers.json`
|
Architecture supports adding new perk columns in `tiers.json`
|
||||||
without code changes (the schema is open-ended). Candidates for
|
without code changes (the schema is open-ended). Candidates for
|
||||||
later expansion:
|
later expansion:
|
||||||
|
|
||||||
|
- **Waystone slot cap** — limit how many waystones a player can place
|
||||||
|
and/or own. Starter waystone is granted; higher tiers unlock 2nd,
|
||||||
|
3rd, etc. Cleanest in-theme perk for a Create Aeronautics pack
|
||||||
|
where restrictive travel is intentional.
|
||||||
|
- **Waystone XP cost reduction** — vanilla Waystones charges XP per
|
||||||
|
teleport. Tier-based discount on this cost (or eventual exemption
|
||||||
|
for Sovereign).
|
||||||
- **Particle trail** — high tiers leave a visible particle wake when
|
- **Particle trail** — high tiers leave a visible particle wake when
|
||||||
walking
|
walking
|
||||||
- **Custom join sound** — different sound effect per tier on login
|
- **Custom join sound** — different sound effect per tier on login
|
||||||
@@ -647,11 +606,10 @@ Aligned with the economy doc's Phase 0c (mod scaffolding):
|
|||||||
|---|---|
|
|---|---|
|
||||||
| **M0** | Gradle project, mod metadata, FTB Library dep wired, network channel registered, empty placeholder for each screen class. Builds + loads cleanly into the running pack. |
|
| **M0** | Gradle project, mod metadata, FTB Library dep wired, network channel registered, empty placeholder for each screen class. Builds + loads cleanly into the running pack. |
|
||||||
| **M1** | Tier system: TierConfig loads from `tiers.json`, `TierUpgradeScreen` works, perks applied via FTB Ranks promotion command. Founder cosmetic prefix. Chat colour. Join broadcast at all tiers. |
|
| **M1** | Tier system: TierConfig loads from `tiers.json`, `TierUpgradeScreen` works, perks applied via FTB Ranks promotion command. Founder cosmetic prefix. Chat colour. Join broadcast at all tiers. |
|
||||||
| **M2** | Sethome system: `/sethome`, `/home`, `/delhome`, `/listhomes`, `/back`. SavedData persistence. Per-tier cap enforcement. |
|
| **M2** | Plot system: `PlotRegistry` + `PlotOwnership`, FTB Chunks mixins, `PlotPurchaseScreen`. KubeJS integration for spur debit. |
|
||||||
| **M3** | Plot system: `PlotRegistry` + `PlotOwnership`, FTB Chunks mixins, `PlotPurchaseScreen`. KubeJS integration for spur debit. |
|
| **M3** | Quest UI: `QuestLogScreen`, `BountyBoardScreen`, `QuestProgressHud`. Network packets between KubeJS bounty engine and the mod. |
|
||||||
| **M4** | Quest UI: `QuestLogScreen`, `BountyBoardScreen`, `QuestProgressHud`. Network packets between KubeJS bounty engine and the mod. |
|
| **M4** | Shop browser: `ShopBrowserScreen`. |
|
||||||
| **M5** | Shop browser: `ShopBrowserScreen`. |
|
| **M5** | Polish — animations, sound effects, particle effects for high tiers, theming pass on all screens. |
|
||||||
| **M6** | Polish — animations, sound effects, particle effects for high tiers, theming pass on all screens. |
|
|
||||||
|
|
||||||
Each phase is independently shippable as a `1.x.0` release of the
|
Each phase is independently shippable as a `1.x.0` release of the
|
||||||
mod jar.
|
mod jar.
|
||||||
|
|||||||
+25
-17
@@ -83,27 +83,35 @@ Every player has a Civic rank. Higher rank unlocks perks. Players spend spurs at
|
|||||||
|
|
||||||
The ladder is intentionally long (13 tiers) so endgame ranks feel rare and aspirational. Top tiers represent months of dedicated play; Sovereign is "you've finished the game."
|
The ladder is intentionally long (13 tiers) so endgame ranks feel rare and aspirational. Top tiers represent months of dedicated play; Sovereign is "you've finished the game."
|
||||||
|
|
||||||
| # | Title | Cost to reach | Wilderness chunks | Plot slots | Sethomes | Daily bounties | Shop fee | Chat colour | Join broadcast | `/back` |
|
| # | Title | Cost to reach | Wilderness chunks | Plot slots | Daily bounties | Shop fee | Chat colour | Join broadcast |
|
||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|---|---|---|---|---|---|---|---|---|
|
||||||
| 1 | **Peasant** | free (starter) | 9 | 0 | 1 | 3 | 0% | grey | — | — |
|
| 1 | **Peasant** | free (starter) | 9 | 0 | 3 | 0% | grey | — |
|
||||||
| 2 | **Farmer** | 200 | 18 | 0 | 1 | 3 | 0% | grey | — | — |
|
| 2 | **Farmer** | 200 | 18 | 0 | 3 | 0% | grey | — |
|
||||||
| 3 | **Citizen** | 750 | 35 | 1 | 2 | 3 | 0% | white | — | — |
|
| 3 | **Citizen** | 750 | 35 | 1 | 3 | 0% | white | — |
|
||||||
| 4 | **Merchant** | 2,500 | 60 | 1 | 3 | 4 | -2% | yellow | — | ✓ |
|
| 4 | **Merchant** | 2,500 | 60 | 1 | 4 | -2% | yellow | — |
|
||||||
| 5 | **Knight** | 6,500 | 100 | 2 | 4 | 4 | -5% | green | simple | ✓ |
|
| 5 | **Knight** | 6,500 | 100 | 2 | 4 | -5% | green | simple |
|
||||||
| 6 | **Baron** | 15,000 | 150 | 2 | 5 | 5 | -7% | cyan | simple | ✓ |
|
| 6 | **Baron** | 15,000 | 150 | 2 | 5 | -7% | cyan | simple |
|
||||||
| 7 | **Viscount** | 35,000 | 220 | 3 | 6 | 5 | -9% | blue | fancy | ✓ |
|
| 7 | **Viscount** | 35,000 | 220 | 3 | 5 | -9% | blue | fancy |
|
||||||
| 8 | **Earl** | 75,000 | 300 | 3 | 8 | 6 | -11% | purple | fancy | ✓ |
|
| 8 | **Earl** | 75,000 | 300 | 3 | 6 | -11% | purple | fancy |
|
||||||
| 9 | **Marquess** | 150,000 | 400 | 4 | 10 | 6 | -13% | gold | fancy | ✓ |
|
| 9 | **Marquess** | 150,000 | 400 | 4 | 6 | -13% | gold | fancy |
|
||||||
| 10 | **Duke** | 300,000 | 525 | 5 | 12 | 7 | -15% | orange | epic | ✓ |
|
| 10 | **Duke** | 300,000 | 525 | 5 | 7 | -15% | orange | epic |
|
||||||
| 11 | **Archduke** | 700,000 | 700 | 6 | 16 | 7 | -17% | red | epic | ✓ |
|
| 11 | **Archduke** | 700,000 | 700 | 6 | 7 | -17% | red | epic |
|
||||||
| 12 | **Grand Duke** | 1,500,000 | 900 | 7 | 20 | 8 | -19% | bright red | epic + particles | ✓ |
|
| 12 | **Grand Duke** | 1,500,000 | 900 | 7 | 8 | -19% | bright red | epic + particles |
|
||||||
| 13 | **Sovereign** | 10,000,000 | 1,500 | 10 | unlimited | 10 | -25% | rainbow | epic + spectacular | ✓ |
|
| 13 | **Sovereign** | 10,000,000 | 1,500 | 10 | 10 | -25% | rainbow | epic + spectacular |
|
||||||
|
|
||||||
|
**Travel philosophy:** this is a Create Aeronautics pack — the journey is the point. We deliberately do **not** give players sethomes, `/back`, or other instant-teleport conveniences. The intended travel system is **Waystones** (mod already in pack):
|
||||||
|
|
||||||
|
- Players get **one waystone** at the start of the game. It anchors their base.
|
||||||
|
- They can teleport between spawn ↔ their own waystone(s).
|
||||||
|
- Beyond that, real travel means building airships, trains, vehicles — the actual gameplay.
|
||||||
|
|
||||||
|
This is restrictive by design. We can layer **waystone-related perks** into the tier ladder in a later revision (e.g. "tier N unlocks 2nd waystone slot", or "tier M reduces waystone XP cost"). For V1 the ladder stays as above and travel pressure remains intentionally high.
|
||||||
|
|
||||||
**Notable shape choices:**
|
**Notable shape choices:**
|
||||||
|
|
||||||
- **Knight (tier 5)** is the gentry threshold — first colored chat (green), first join broadcast, first `/back` after a meaningful jump in plot slots
|
- **Knight (tier 5)** is the gentry threshold — first colored chat (green), first join broadcast, meaningful jump in plot slots
|
||||||
- **Duke → Archduke jump** is the late-game wall (300k → 700k, ~2.3×) — Archduke is the start of "I've really committed to this server" territory
|
- **Duke → Archduke jump** is the late-game wall (300k → 700k, ~2.3×) — Archduke is the start of "I've really committed to this server" territory
|
||||||
- **Sovereign is dramatic** — 6.7× the Grand Duke cost. Real "finished the game" status. -25% shop fee is a step-change leap; unlimited everything; spectacular join effects.
|
- **Sovereign is dramatic** — 6.7× the Grand Duke cost. Real "finished the game" status. -25% shop fee is a step-change leap; spectacular join effects.
|
||||||
|
|
||||||
Numbers are first-pass calibration. The full perk table lives in a single JSON (`config/bnstoolkit/tiers.json`) that's hot-reloadable via `/bnstoolkit reload`. Easy to tune any column without code changes.
|
Numbers are first-pass calibration. The full perk table lives in a single JSON (`config/bnstoolkit/tiers.json`) that's hot-reloadable via `/bnstoolkit reload`. Easy to tune any column without code changes.
|
||||||
|
|
||||||
|
|||||||
+35
-2
@@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing",
|
"$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing",
|
||||||
"name": "Brass and Sigil",
|
"name": "Brass and Sigil",
|
||||||
"version": "0.31.2",
|
"version": "0.32.0",
|
||||||
"minecraft": "1.21.1",
|
"minecraft": "1.21.1",
|
||||||
"loader": {
|
"loader": {
|
||||||
"type": "neoforge",
|
"type": "neoforge",
|
||||||
"version": "21.1.228"
|
"version": "21.1.228"
|
||||||
},
|
},
|
||||||
"lockedAt": "2026-06-01T19:47:31Z",
|
"lockedAt": "2026-06-06T23:21:32Z",
|
||||||
"mods": [
|
"mods": [
|
||||||
{
|
{
|
||||||
"source": "modrinth",
|
"source": "modrinth",
|
||||||
@@ -1097,6 +1097,39 @@
|
|||||||
"sha1": "4d81055810e07a94b68d16ab20ec298ad0d597a0",
|
"sha1": "4d81055810e07a94b68d16ab20ec298ad0d597a0",
|
||||||
"size": 29865,
|
"size": 29865,
|
||||||
"side": "both"
|
"side": "both"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "curseforge",
|
||||||
|
"slug": "ftb-quests",
|
||||||
|
"fileId": "8195575",
|
||||||
|
"version": "2101.1.25",
|
||||||
|
"path": "mods/ftb-quests-neoforge-2101.1.25.jar",
|
||||||
|
"url": "https://mediafilez.forgecdn.net/files/8195/575/ftb-quests-neoforge-2101.1.25.jar",
|
||||||
|
"sha1": "c51f43029930cce87e86366b6629a27e4876a03d",
|
||||||
|
"size": 1469336,
|
||||||
|
"side": "both"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "curseforge",
|
||||||
|
"slug": "ftb-xmod-compat",
|
||||||
|
"fileId": "7715134",
|
||||||
|
"version": "21.1.8",
|
||||||
|
"path": "mods/ftb-xmod-compat-neoforge-21.1.8.jar",
|
||||||
|
"url": "https://mediafilez.forgecdn.net/files/7715/134/ftb-xmod-compat-neoforge-21.1.8.jar",
|
||||||
|
"sha1": "0c25fc1a43c99eaa68c883dc77e3ebf4539629e6",
|
||||||
|
"size": 141328,
|
||||||
|
"side": "both"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "curseforge",
|
||||||
|
"slug": "ftb-ranks",
|
||||||
|
"fileId": "6431744",
|
||||||
|
"version": "2101.1.3",
|
||||||
|
"path": "mods/ftb-ranks-neoforge-2101.1.3.jar",
|
||||||
|
"url": "https://mediafilez.forgecdn.net/files/6431/744/ftb-ranks-neoforge-2101.1.3.jar",
|
||||||
|
"sha1": "07fdfa3a75c3481770ce0118090a347d89e3a560",
|
||||||
|
"size": 88382,
|
||||||
|
"side": "both"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"defaultServer": {
|
"defaultServer": {
|
||||||
|
|||||||
Reference in New Issue
Block a user