Repository navigation
MCHeli Rework 1.1.0-beta.3
Pre-release
Pre-release
·
412 commits
to main
since this release
Phase 7 of the road to 1.1.0: the mod on NeoForge and Fabric as well as Forge, and on Minecraft
1.21.1 as well as 26.3. Betas are not uploaded to CurseForge; download them from the GitHub
releases, one jar per loader and Minecraft version. Worlds from 1.1.0-beta.2 and 1.0.0 load as
before on 26.3. Players and servers need the same version, since the network protocol changed.
Added
- NeoForge and Fabric jars for Minecraft 26.3, with the same features as the Forge one. Fabric
needs Fabric API. Worlds, themchelifolder, content packs and configs carry over between
loaders. - Minecraft 1.21.1 on Forge, NeoForge and Fabric, with the same vehicles, weapons, HUD and
content packs as on 26.3. Vehicle icons come from the kind's item model, which picks each
vehicle bycustom_model_data. - The log names the loader the mod runs on, next to the version.
Changed
- Jar names carry the loader and the Minecraft version, such as
mcheli-forge-26.3-<version>.jar
andmcheli-fabric-1.21.1-<version>.jar. - The configs are read by the mod itself instead of Forge's config system, which Fabric does not
have. The files, their place and their keys stay the same, so existing settings are kept. Edits
toserverconfig/mcheli-server.tomlnow apply on the next world start or/mcheli reload
instead of while the server runs;/mcheli reloadnow reads the server config again too. - The original content is imported again on the first start, since the recipes now name the
vehicle ingredient for every loader. The import writes the layout of the Minecraft version it runs
on, and imports again when the folder was made for another version. - Every packet travels under its own id (
mcheli:pilot_stateand so on) with the same encoding on
every loader. Clients and servers need the same version, since the network protocol changed. - Glass panes that bullets shoot through come from the
c:glass_panestag, which every loader
fills.
Developers
- The code is split in three layers:
common(no Minecraft),minecraft-26.3(Minecraft, no
loader) and a thin module per loader (forge-26.3,neoforge-26.3,fabric-26.3). The shared
code reaches the loader throughPlatformandRegistration, and the loaders call
CommonHooksandClientHooksfrom their events. Where NeoForge or Fabric has no event, a
mixin hooks in where Forge fires its own. See docs/ARCHITECTURE.md. minecraft-1.21.1holds the shared code backported to 1.21.1;forge-1.21.1,neoforge-1.21.1
andfabric-1.21.1are its loader modules. 1.21.1 development runs use./run-1.21.1.- Gradle 9.8.2, for Fabric Loom 1.19. NeoForge modules build with ModDevGradle.