Runecraft Core

Quick rating

Runecraft Core

No reviews yet

The core mod for the Runecraft modpack, offering compatibility and optimization related enhancements along with bug fixes, loot table overhauls, spawn rule tweaks, etc.

QoL & Tweaks
Mod Loaders
Forge
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
Runecraft Core 0.9.3 (Forge 1.20.1)
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Runecraft Core

Compatibility patch mod for the Runecraft modpack (Minecraft 1.20.1, Forge 47.3.0+). Fixes broken model references, loot-modifier syntax, and missing assets in third-party mods via bundled resource/data overrides + one Mixin.

What this mod is

Mostly it is a Forge-branded resource + data pack with a manifest. The JAR ships:

  • An assets/ tree that overrides broken model JSONs in third-party mods (goblins_tyranny, simply_traps) via Forge's built-in resource-pack ordering.
  • A data/ tree that overrides one loot modifier (nethersdelight), five empty loot tables + one Patchouli book-metadata file (dtarsnouveau), and bundles the Runecraft treasure bag datapack under the runic_loot namespace (consumed by the Treasure Bags mod).
  • One functional Mixin (SpellFilterMixin) — a Gson API compat redirect for Iron's Spellbooks that the resource tree cannot replace.
  • A tiny Java runtime that, on common setup, reads patch-manifest.json and walks every installed mod to log a version-diagnostic report, then runs a loot-reference validator that resolves every bundled treasure-bag reward id against the live item registry. It performs no patching at runtime — the patches are the bundled files riding on Forge's normal override order.

Current shipped version: 0.9.3 — 27 patches, schema version 2, plus the runic_loot treasure-bag datapack (28 profession sacks × 4 rarities + a starter bag).

Runecraft Core has no dependency on FTB Quests, ExtraQuests, or any quest mechanic. The bundled treasure bags drop via the Treasure Bags mod's own dropsFromGroups system, independent of the pack's questbook.

Building

Requirements:

  • JDK 17
  • Internet access to reach maven.minecraftforge.net and repo.spongepowered.org the first time.
./gradlew build

Produces build/libs/runecraftcore-0.9.3.jar.

Compile-time dependency

SpellFilterMixin targets io.redspace.ironsspellbooks.loot.SpellFilter. To compile the mixin against the real class, drop the Iron's Spellbooks jar (e.g. irons_spellbooks-forge-1.20.1-3.15.5.1.jar) into libs/:

libs/
└── irons_spellbooks-forge-1.20.1-3.15.5.1.jar

build.gradle picks up everything in libs/*.jar as compileOnly so the mixin compiles but the jar stays self-contained. At runtime, the mixin is a no-op when Iron's Spellbooks is absent (required: true plus defaultRequire: 1 — Mixin simply skips missing targets).

Layout

runecraft_core/
├── build.gradle                  ForgeGradle 6 + Mixin plugin
├── gradle.properties
├── settings.gradle
├── docs/
│   ├── PATCH_MATRIX.md           human-readable patch index
│   └── RECREATION_AND_EXPANSION_PLAN.md
└── src/main/
    ├── java/com/otectus/runecraftcore/
    │   ├── RunecraftCore.java              entrypoint (@Mod)
    │   ├── RunecraftCoreConfig.java        Forge config spec
    │   ├── mixin/SpellFilterMixin.java     Gson API compat redirect
    │   └── patch/                          manifest + validators
    │       ├── JsonFieldSpec.java
    │       ├── PatchEntry.java
    │       ├── PatchManifest.java
    │       ├── PatchStatus.java
    │       ├── PatchType.java
    │       ├── PatchValidator.java
    │       ├── LootReferenceIndex.java     loads runic_loot_reference_index.json
    │       └── LootReferenceValidator.java checks bag rewards vs item registry
    └── resources/
        ├── META-INF/mods.toml
        ├── pack.mcmeta
        ├── runecraftcore.mixins.json
        ├── patch-manifest.json             27-entry schema-v2 manifest
        ├── runic_loot_reference_index.json bag → reward-id index (regenerate on edits)
        ├── assets/                         19 bundled model overrides (goblins_tyranny, simply_traps)
        └── data/
            ├── nethersdelight/, dtarsnouveau/  bundled loot/metadata overrides
            └── runic_loot/                 treasure-bag types + loot tables

Installation

Drop runecraftcore-<version>.jar into the modpack's mods/ folder. On startup you should see:

Runecraft Core loaded — patching third-party mod resources
…
=== Runecraft Core Patch Validation ===
Manifest version: 0.9.3 | Schema: v2
Total patches: 27 (active: 27, deprecated: 0, under_review: 0, disabled: 0)
  [FOUND] goblins_tyranny v1.2.3 - 18 patches (18 active)
  [FOUND] simply_traps v1.7 - 1 patches (1 active)
  [FOUND] nethersdelight v1.20.1-4.0 - 1 patches (1 active)
  [FOUND] dtarsnouveau v1.20.1-1.2.0 - 6 patches (6 active)
  [FOUND] irons_spellbooks v1.20.1-3.16.1 - 1 patches (1 active)
=== Summary: 5/5 target mods detected, 0 version mismatches ===
…
=== Runecraft Core Loot Reference Validation ===
Loot index version: 0.9.3 | Schema: v1 | 113 bags | 2 tag ref(s)
=== Loot Summary: 0 bag(s) with rot, 0 unknown-from-loaded item(s), 0 absent-mod item(s) ===

Configuration

config/runecraftcore-common.toml:

[general]
  # When true, version mismatch warnings for patched mods are logged at WARN level.
  # When false (default), they are logged at INFO level.
  strictMode = false

  # List of patch IDs to "disable" (see docs/PATCH_MATRIX.md).
  # In 0.9.x this is advisory only — the validator logs the entries as
  # disabled but the bundled resources still take effect.
  disabledPatches = []

  # When true, the treasure-bag loot validator escalates "unknown item from a
  # loaded mod" findings from WARN to ERROR (for CI / server-start smoke tests).
  # An unknown id whose owning mod is simply absent stays at INFO (expected).
  strictLoot = false

Treasure bags (runic_loot datapack)

The jar bundles the Runecraft treasure-bag content consumed by the Treasure Bags mod: 28 profession sacks (alchemists, miners, relichunters, merchants, collectors, beastmasters, wayfarers, …) each in common/uncommon/rare/epic, plus a single-grant starter bag. Definitions live in data/runic_loot/treasurebags_types/ and their loot tables in data/runic_loot/loot_tables/bags/.

Drop sources are gated by rarity (group runecraft_sacks): common/uncommon drop from hostile, rare from hostile+boss, epic from boss only. No bag drops from peaceful mobs or players.

Editing rewards:

  1. Edit the loot tables under data/runic_loot/loot_tables/bags/.
  2. Regenerate the validator index so startup validation stays accurate. The index is runic_loot_reference_index.json (one entry per bag → the item ids it references). On next launch LootReferenceValidator reports any reward id that no longer resolves against the installed mods.

The starter bag has no drop groups and is never handed out by this mod (no first-spawn listener, by design). Grant it externally, e.g. /givebag @p runic_loot:starter from a server script or a KubeJS PlayerEvents.loggedIn first-join handler in the pack.

Roadmap

See docs/RECREATION_AND_EXPANSION_PLAN.md for the full 0.10.0→0.13.0 expansion plan (runtime reference repair, recipe guarding, tooltip provider, tuning engine, orphan advisor, diagnostics command, public API).

License

All Rights Reserved.

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works