COWMODSКаталог модов

Preloading Tricks

A developer tool for early loader access, class transformation, and preloading hacks.

Автор: settingdust410,8 тыс.21обновлён 29 июн. 2026 г.
Библиотеки

Описание

Overview

Preloading Tricks is a developer-only mod that enables advanced operations during the very early stage of the mod loader. It provides early hooks, Java Instrumentation-based class transformation, and SPI-driven callbacks for loader extension.

Supported environments:

  • Fabric – 1.20.1, 1.21+
  • Forge (LexForge) – 1.20.1
  • NeoForge – 1.20.6, 1.21+

You can test on more versions since it depends on the loader version instead of the Minecraft version.


Features

  • Early loader entrypoint via PreloadingEntrypoint (SPI-based)

    • Register callbacks using PreloadingTricksCallbacks events:
      • SETUP_LANGUAGE_ADAPTER – early language adapter setup stage
      • COLLECT_MOD_CANDIDATES – dynamically add mod candidate paths before discovery
      • SETUP_MODS – modify mod list (add/remove/query via ModManager API)
  • Instrumentation-powered ClassTransform Can transform already-loaded classes, including Java core and classloader classes. Configure via MANIFEST.MF on all platforms (see below).

  • Forge variant detection (Forge-like only)

    • Access ForgeVariants to detect specific Forge/NeoForge versions at runtime

Usage (Gradle)

Add the Maven repository and dependency to your build:

Kotlin DSL:

repositories {
    maven("https://raw.githubusercontent.com/settingdust/maven/main/repository/")
}

dependencies {
  // Recommended: use the base artifact (no classifier).
  // Gradle variant matching / cloche will resolve the correct platform artifact automatically.
  implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION")

  // Optional: pin to a specific classifier when you want to avoid accidentally using APIs
  // from other platforms.
  // implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION:fabric")
  // implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION:forge-service")
  // implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION:neoforge-modlauncher")
  // implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION:neoforge-fancy-mod-loader")
}

Replace VERSION with the latest release (e.g. 3.5.9).

If you are using cloche, the corresponding variant is selected automatically based on loader/minecraft attributes.


ClassTransform Configuration

For all platforms, add the following attribute to your MANIFEST.MF:

ClassTransformConfig: xxxx.classtransform.json

Multiple configs can be specified as comma-separated values:

ClassTransformConfig: first.classtransform.json,second.classtransform.json

Example config (xxxx.classtransform.json):

{
  "package": "settingdust.preloading_tricks.neoforge.transformer",
  "transformers": [
    "mod_setup_hook.FMLLoaderTransformer"
  ]
}

Forge Variant Detection (Forge-like only)

Allows a mod to load only on a specific Forge-like loader variant. This enables bundling both LexForge and NeoForge JARs together via jar-in-jar in a single mod file.

Configuration:

Specify your mod's target variant in MANIFEST.MF:

ForgeVariant: LexForge

or

ForgeVariant: NeoForge

Mods with a ForgeVariant specified will only load when running on the matching loader variant, allowing safe coexistence of variant-specific implementations.


For developers who need to reach into the earliest moments of Minecraft’s loading process.

Последние версии

Все версии →
release

3.7.3

3.7.3
29 июн. 2026 г.71,1 тыс.Minecraft: 1.20.1, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`9285f5d`](https://github.com/SettingDust/preloading-tricks/commit/9285f5db5cff0f5e958e123a364eea77d32470f4) - transformer error *(commit by @SettingDust)*
release

3.7.2

3.7.2
26 мая 2026 г.26,1 тыс.Minecraft: 1.20.1, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
release

3.7.1

3.7.1
26 мая 2026 г.200Minecraft: 1.20.1, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`7c3f059`](https://github.com/SettingDust/preloading-tricks/commit/7c3f05906a032cee83bff08c5c9978b3616b9b8b) - **build**: correct embed configuration attributes and resource inclusion for jar tasks *(commit by @SettingDust)* ### :recycle: Refactors - [`3d8e46a`](https://github.com/SettingDust/preloading-tricks/commit/3d8e46a3e11097341fb885cbc18835749b3fe116) - **build**: reconcile copier topology *(commit by @SettingDust)*
release

3.7.0

3.7.0
24 мая 2026 г.1 тыс.Minecraft: 1.20.1, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
### :sparkles: New Features - [`6bc4e54`](https://github.com/SettingDust/preloading-tricks/commit/6bc4e54d8bdf25b2b60ede84312439eeefc15879) - add NeoForgeAdapter to use right java version on older NF *(commit by @SettingDust)*
release

3.6.3

3.6.3
21 мая 2026 г.1,2 тыс.Minecraft: 1.20.1, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`155757b`](https://github.com/SettingDust/preloading-tricks/commit/155757b45540625866043148cedda3e96ad5f90f) - wrong resolver transformer 2 *(commit by @SettingDust)*
release

3.6.2

3.6.2
21 мая 2026 г.181Minecraft: 1.20.1, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`dd19a79`](https://github.com/SettingDust/preloading-tricks/commit/dd19a79944a2110d8f39a26b6668b97fec2df997) - wrong resolver transformer *(commit by @SettingDust)*
release

3.6.0

3.6.0
11 мая 2026 г.18,7 тыс.Minecraft: 1.20.1, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`80ece07`](https://github.com/SettingDust/preloading-tricks/commit/80ece0783e5514de4239baacb8c6b42311a113b4) - restore module injector api files *(commit by @SettingDust)* ### :recycle: Refactors - [`089c55e`](https://github.com/SettingDust/preloading-tricks/commit/089c55e6f54e9855d87bdda6be9fcd9d8c8dd4da) - restore build topology after copier update *(commit by @SettingDust)* - [`03196c6`](https://github.com/SettingDust/preloading-tricks/commit/03196c6fe0b5dc3e29378e64acbf1f8fc9fde5f5) - obsolete NeoForge callback artifacts *(commit by @SettingDust)* - [`9f25b22`](https://github.com/SettingDust/preloading-tricks/commit/9f25b2229375b4a35f75df1884ef84eb7ec74aef) - share list-backed mod manager logic *(commit by @SettingDust)* - [`4c719ff`](https://github.com/SettingDust/preloading-tricks/commit/4c719ff9b17791fdc11014153f950f7ac9ebe7bd) - restructure sources into api core shared platform targets *(commit by @SettingDust)* - [`058d9ef`](https://github.com/SettingDust/preloading-tricks/commit/058d9ef06864573f9cce46c35fb6ff9c07a6d642) - extract shared target/version constants in build script *(commit by @SettingDust)* - [`caaf03e`](https://github.com/SettingDust/preloading-tricks/commit/caaf03ea82be09de76d084fac9f6230b7c9823cd) - deduplicate neoforge dependency excludes and rename run regions *(commit by @SettingDust)* - [`eec2d95`](https://github.com/SettingDust/preloading-tricks/commit/eec2d9502958ef5ab2e09c686c91da0514532710) - extract run target MOD_CLASSES env setup *(commit by @SettingDust)* - [`5a8bc34`](https://github.com/SettingDust/preloading-tricks/commit/5a8bc34f1b56a14e849417b5190a6a857710cf34) - align forge modlauncher package naming *(commit by @SettingDust)* - [`ae282c0`](https://github.com/SettingDust/preloading-tricks/commit/ae282c0d536d32d608c14a782819f14b0043c457) - remove unused entrypoint and module injector leftovers *(commit by @SettingDust)* ### :wrench: Chores - [`ee23367`](https://github.com/SettingDust/preloading-tricks/commit/ee23367c06c817d390089b7c8ad674fe040c8f42) - copier update checkpoint B *(commit by @SettingDust)* - [`5a333b4`](https://github.com/SettingDust/preloading-tricks/commit/5a333b401a4f904cd266b40048a39d884f128d89) - **plans**: add copier update execution artifacts and reconciliation gates *(commit by @SettingDust)* - [`83bd560`](https://github.com/SettingDust/preloading-tricks/commit/83bd56075c5dee3252863fa4beca8aab4b145dbe) - remove obsolete copier gate and NeoForge 21.10 setup *(commit by @SettingDust)* - [`6757863`](https://github.com/SettingDust/preloading-tricks/commit/675786300d4324b35128561b7b35aef071fef642) - remove plans *(commit by @SettingDust)* - [`0a66459`](https://github.com/SettingDust/preloading-tricks/commit/0a66459345b486d10ea5dbbeefe4fbc288dc78b4) - remove unused files *(commit by @SettingDust)*
release

3.5.15

3.5.15
9 мая 2026 г.1,5 тыс.Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`af9ee68`](https://github.com/SettingDust/preloading-tricks/commit/af9ee68c1ef83621abf771a92a1281e3f87426ba) - build output duplicated classes *(commit by @SettingDust)*
release

3.5.14

3.5.14
8 мая 2026 г.426Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`60cc575`](https://github.com/SettingDust/preloading-tricks/commit/60cc57538057e2f625702d022155a69a5900a8c9) - resolver transformer passing wrong arg *(commit by @SettingDust)*
release

3.5.13

3.5.13
1 мая 2026 г.1,7 тыс.Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать