Repository navigation
Releases: JnH-Projects/MCHeli-Rework-Forge
Release list
MCHeli Rework 1.1.0-beta.6
Phase 10 of the road to 1.1.0: the rest of the equipment. Betas are not uploaded to CurseForge,
and this one ships the Forge 26.3 jar only. Worlds from 1.1.0-beta.5 load as before; the original
content is imported again on the first start. Players and servers need the same version, since
the network protocol changed (9).
Added
- M18 smoke grenades in red, green, violet and yellow, from the original
throwablefiles. Hold
use to draw, release to throw: the longer the draw, the further it goes. They bounce off blocks
and pour out coloured smoke for half a minute. Dispensers throw them too. Packs can add their own
throwables in athrowablefolder; they share onemcheli:throwableitem, like the vehicles. - The GLTD target designator. Set it on the ground, right-click to sit behind it, and look through
its sight (70 degrees either way). Z zooms, K steps through night vision and thermal view, and
use marks the spot under the cross: an A-10 makes three gun runs over it. The sight shows when
the next A-10 can be called (about 22 seconds). - The laser rangefinder. Held up to the eye it is a scope that reads the range; Z and X zoom in and
out, C picks what to spot (players and vehicles, mobs, or a point), and the attack key spots.
Spotting uses one of ten charges; crafting it with redstone charges it again. - Spotted players, mobs and vehicles show up for the spotter and their team only, as markers on
the HUD: a triangle over the target with its distance, or a diamond at the screen edge when it is
out of view. They last 15 seconds (mobs a minute). Teammates are never spotted. A marked point
gets its own marker with distance and coordinates for a minute, and goes to the team's chat. - The cargo container: a crate with a large chest's worth of room that floats and can be pushed.
Racks that listcontainerload and drop it like vehicles (J and U), and dropped with no ground
within 20 blocks it comes down under a parachute. - The FIM-92 Stinger and FGM-148 Javelin, shoulder launched. Hold use to raise the sight, keep a
target in the cross until it locks (aircraft for the Stinger, ground vehicles for the Javelin),
then attack to fire. Z zooms, and X switches the Javelin between direct and top attack. Each
holds one missile: lower an empty launcher with a missile in your inventory to reload it. - The tow chain. Use it on both ends, in either order, 2 to 16 blocks apart; one end must be a
vehicle, which always does the pulling, so a helicopter can lift a container on a sling. Use it
on either end again to take it off. Each step shows a message above the hotbar. - The UAV station and the portable UAV controller. Sit at one, put a drone in its slot and fly it
from there with the usual controls, HUD and weapons; the HUD shows the link's range and
strength. The launch point is set with the station's buttons, Continue takes the last drone
again, and Shift leaves it. The portable controller only takes small UAVs and opens with Shift
and right-click. A drone flown more than 123 blocks from its station is lost. A target drone
goes up with a full tank and flies itself, as something to shoot at. While flying, the pilot
is hidden and unhurt, and comes back beside the station when they leave or lose the drone. - Troops. When the pilot climbs in, mobs standing close by take the free crew seats. Y lets them
out: helicopters with rappelling hooks lower ropes from a steady hover and the mobs slide down
them; vehicles withEnableParachutingopen the hatch and drop them one by one under parachutes
at the drop point; near the ground they simply get out. Players in the back press Y to slide down
a rope or jump with a parachute themselves. - Search lights, for vehicles that list them: K switches them on and off from the pilot or first
crew seat. A turning light follows the crew's aim, a fixed one points along the vehicle and a
steering one turns with the front wheels. - Helicopters with
EnableFoldBladefold their blades with Z when the engine is stopped, and
cannot take off until they unfold them; folded on the ground, A and D turn them slowly. - Rotor downwash raises dust or spray under a helicopter, boats with
EnableSeaSurfaceParticle
throw spray off the sea,AddParticleSplashpoints spray through water, jet nozzles smoke with
the throttle, and fast landing gear kicks up the ground. - Targeting pods that mark blocks now mark the point under the crew's view for the team, and
mortars show where their shell would land on the HUD. - The drafting table. Right-click it to browse every MCHeli recipe by list (helicopters, planes,
vehicles, tanks, equipment): the recipe, a vehicle's numbers or the original's illustrated
description, and Create to make the item into the output slot from your inventory. Shift and
right-click switches its lamp. It is drawn with the original model. - The team manager, for operators, on M: switch PvP, shuffle every player into the teams, make a
team with a colour and friendly fire, send everyone to their spawn point, or remove every
vehicle. The teams and their players are listed beside it. - Recipes for the smoke grenades, GLTD, rangefinder, container, chain, launchers and missiles,
UAV station, portable controller and drafting table, from the original config.
Changed
- The equipment tab lists the new items and every loaded throwable, and is rebuilt after a content
reload. - The E-767 can be crafted at last: its recipe needs a UAV station. The content is imported again
on the first start (import format 4). - The README is shorter: the full controls, equipment guide, commands and settings moved to
docs/PLAYING.md, and the screenshots of earlier phases to
docs/SCREENSHOTS.md.
MCHeli Rework 1.1.0-beta.5
Phase 9 of the road to 1.1.0: the vehicle screen and what goes with it, supply vehicles and
thermal view. Betas are not uploaded to CurseForge, and this one ships the Forge 26.3 jar only.
Worlds from 1.1.0-beta.4 load as before; their vehicles come back with empty slots. Players and
servers need the same version, since the network protocol changed.
Added
- The vehicle screen, on I in any seat (the original's GUI key, R, switches seats here). It has
three fuel slots that empty fuel cans into the tank while the vehicle stands on something, a
parachute slot for each ejection seat, and a weapon panel that shows every weapon's rounds and
reload cost and reloads it from your own items. Closing it after a reload loads every magazine. - The cargo chest of vehicles with an
InventorySize, from the vehicle screen's Cargo button or
with Shift + right-click on the vehicle from outside. Sizes between rows round up to a whole row.
What a vehicle carries drops when it is destroyed or packed up. - Ammunition trucks (
AmmoSupplyRange) rearm every vehicle around them that stands on something,
a tenth of each weapon's maximum every two seconds. - Repair vehicles:
RepairOtherVehicles = range[, value]mends every vehicle in range byvalue
hit points a second (10 by default). None of the original vehicles uses it; packs can. - Thermal view: K now steps from night vision to a white hot thermal view with outlines and back
to normal. The HUD'scam_modereads 2 in it, as in the original. The original's vanilla
"pencil" shader no longer exists, so the filter is our own.
Changed
- Ejection seats need a parachute in the vehicle screen's parachute slots, one per ejection, as in
the original. Without one the seat stays put and says so. Creative players need none. - Reloading a weapon from your inventory moved from the N key to the vehicle screen and only works
on the ground, as in the original. The empty magazine hint on the HUD names the new key. - The network protocol is now version 8.
Fixed
- A helicopter on the ground no longer tilts with the pilot's mouse; it stays level until it
lifts off.
MCHeli Rework 1.1.0-beta.4
Phase 8 of the road to 1.1.0: fuel, the first equipment carried over from phase 4, hit boxes that
cover the whole vehicle, and crash spins. Betas are not uploaded to CurseForge. From this beta on,
betas ship one jar, Forge for Minecraft 26.3; the other loaders and 1.21.1 come back for 1.1.0.
Worlds from 1.1.0-beta.3 load as before. Players and servers need the same version, since the
network protocol changed.
Added
- Fuel. Vehicles with a
MaxFuelburn theirFuelConsumptionwhile the throttle is open, and the
engine winds down when the tank runs dry. The HUD'sfuelandlow_fuelvalues are live, so the
original fuel gauges and low fuel warnings work. Fuel trucks top up every vehicle within their
FuelSupplyRange. Server configvehicles.infiniteFuelturns fuel use off. - The fuel can (
mcheli:fuel): right-click a vehicle to pour in up to 100 units, right-click in
the air with coal or charcoal in the inventory to fill it again. The original poured it through
the vehicle's inventory screen, which is not ported yet. - The wrench (
mcheli:wrench): right-click a vehicle to repair 10 hit points, once a second; with
Shift it switches the vehicle to its next paint scheme. - The parachute (
mcheli:parachute): use it in mid-air to float down, hold W to glide forward. - An Equipment creative tab for the three, and the original's crafting recipes for them. Their
icons and names come from the imported content, like the vehicles'. - Zoom: through a camera, a gunner sight, gunner mode or a UAV, Z doubles the zoom up to the
vehicle'sCameraZoomand then goes back to 1x. Elsewhere Z still folds wings and hatches, as in
the original. The HUD'scam_zoomfollows it. - Night vision on K for vehicles with
EnableNightVision. The HUD'scam_modefollows it. - Vehicles collide with each other by their whole hull (the
BoundingBoxlines), not just the
small box at their feet: a vehicle cannot drive or fly into another one, a helicopter can set
down on top of a parked truck, and ramming uses the same boxes for crash damage. Vehicles that
can be loaded onto each other's racks still pass through, so they can drive onto the rack. - Hit boxes for the parts a vehicle's
BoundingBoxlines leave out, such as the MD-90's tail fin,
made from its model when the content loads: every one-block cell of the model's surface that no
listed box covers becomes part of the hull. Rotor blades and propellers are left out. Vehicles
without anyBoundingBoxline (the MH-6, the R44 and others) get a hull this way too. - With F3+B on, the hull boxes are outlined next to the main box: the definition's in cyan, the
generated ones in amber. - Heavy aircraft (
MaxFuelof 3000 or more: the MD-90, C-5, E-767, B-29, B-2A, AC-130, US-2 and
H8K) go up in three blasts like a destroyed boat, when wrecked on the ground or when their wreck
crashes. Only a hull in the water sinks afterwards. - Crash spin: a shot down plane or jet rolls into a nose-down spiral, and a helicopter spins up
faster than before with some wobble, until it is close to the ground. The direction comes from
the entity, so everyone sees the same spin.
Changed
- Ejection seats come down on a parachute instead of with slow falling.
- Vehicles are placed with a full tank (the original placed them empty, to be filled from the
inventory screen), and vehicles saved by earlier versions load with a full tank. - The Z key is called "Zoom / Fold Wings / Hatch" in the controls.
Fixed
- Rounds no longer seem to fly through a vehicle they hit. The server always counted the hit on
the hull, but the client kept drawing the round until the server removed it; it now stops and
disappears where it struck. Clients also learn who fired, so a round never stops on its own
vehicle. - With an Iris shader pack, tracers, rocket motors, flares and explosion glows no longer turn into
long purple and teal lines running to the horizon. The glow pipelines are now handed to Iris,
which draws them with its emissive entity and translucent particle programs.
MCHeli Rework 1.1.0-beta.3
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.
MCHeli Rework 1.1.0-beta.2
Phase 6 of the road to 1.1.0: content packs that servers send to their players, night glow and
burning wrecks. Betas are not uploaded to CurseForge; download them from the GitHub releases.
Worlds from 1.1.0-beta.1 and 1.0.0 load as before. Players and servers need the same version,
since the network protocol changed.
Added
- Night glow: rounds trail a tracer, rockets and missiles burn with a glowing motor, burning
flares light up around them, and every explosion throws a flash of light and glowing embers.
A crashing vehicle goes up in a bigger flash and keeps burning with a glow for several seconds.
The glow is faint by day and strongest at night, in caves and under water. Turn it off with
effects.nightGlowin the new client config,config/mcheli-client.toml. - Wrecks stay for 30 seconds instead of 25 and keep burning until they disappear: flames, a fire
glow and rising embers that die down over the last five seconds. Sunk wrecks do not burn. - Screenshots of night glow in
docs/images/phase-6, shown in the README. - Content packs: zips or folders in
<game dir>/mcheli/packsthat add vehicles and weapons, with
their models, textures and sounds and apack.propertiesmanifest. Packs are data only; one
holding anything else is refused. A pack can replace an original vehicle by using its name. - Servers send their packs to players when they join: each player downloads only the packs they
do not have yet and keeps them inmcheli/cache, so the next visit is instant. While connected,
players use exactly the server's packs. The original 1.0.3 content is never sent. - Server settings under
[packs]inmcheli-server.toml: an allow list, and size limits per pack
(8 MB) and for all packs together (64 MB). Client settingpacks.cacheSize(256 MB) caps the
download cache, deleting the packs used longest ago first. - Problems with a pack (a bad manifest, a refused file, a broken definition or line, an unknown
weapon) are written to the log and shown to operators in the chat on joining and after
/mcheli reload. A broken pack never stops the game from starting. /mcheli packslists the packs in use with their vehicle and weapon counts.- An example pack with our own helicopter, the Rework Scout (two paint schemes), in
examples/rework-example-pack, and a pack author guide,docs/content/packs.md. - A mod icon, shown in the mods list and the README.
Changed
- Vehicles no longer flash red when hit.
- Hits no longer jolt a vehicle that someone is flying or driving, and explosions no longer push
it. An empty vehicle still rocks a little from a nearby blast (a quarter of the old push). /mcheli reloadnow reloads the content packs too, with the server's settings, and sends every
player the new pack list. Before, a dedicated server and its players each reread their own files.- The network protocol changed: players need the same version as the server.
- The rework's own code is now under the MCHeli Rework Licence (
LICENSE, also inside the jar)
instead of plain All Rights Reserved: free to play, to include in free modpacks, to read, build
and contribute to; redistributing the source or modified builds and selling the mod still need
permission. EMB4's original content is not affected.
MCHeli Rework 1.1.0-beta.1
Phase 5 of the road to 1.1.0: the groundwork that content packs, older Minecraft versions and
the vehicle workshop build on. Betas are not uploaded to CurseForge; download them from the GitHub
releases. Worlds from 1.0.0 load with their vehicles and items.
Added
/mchelishows where the vehicles were loaded from and how many there are;/mcheli list [helicopter|plane|tank|vehicle]lists them./mcheli give <players> <vehicle> [count]for operators, with the vehicle names suggested./mcheli reloadfor operators: reads the vehicle and weapon definitions again without
restarting. Vehicles already in the world switch to the new values on the spot and keep their
ammunition; models and textures edited on disk show up straight away, without F3 + T.- Server config,
serverconfig/mcheli-server.tomlin each world: whether explosions break blocks
and start fires, a damage multiplier for vehicles, infinite ammunition, and a list of vehicles
that cannot be placed. Edits apply while the server runs. - Boats destroyed on the water (by a torpedo or anything else) cook off: three explosions with
fireballs within about five seconds, the first from the fuel, the second from the ammunition
still aboard, the last and biggest sized by the fuel load like a crash. Then the burning wreck
slowly goes under, stern first and listing, and settles on the bottom. - Content can now bring textures, models and sounds while the game runs, without a resource
reload. Nothing uses this yet beyond/mcheli reload; content packs (beta.2) will.
Changed
- Vehicle items: there is now one item per vehicle kind (Helicopter, Plane, Tank, Ground Vehicle)
that remembers which vehicle it places, instead of one item per vehicle. They look and are named
as before. Items from 1.0.0 still work and turn into the new ones as soon as they are in a
player's inventory; items in chests change when taken out. To give one by command, use
/mcheli give(plain/give mcheli:ah-64no longer exists for new items). - The imported content is converted again on the first start, since the crafting recipes now
make the new items. This takes a few seconds, once. - The source is split into a version-free
commonmodule and a module per Minecraft version
(forge-26.3for now), and a release attaches one jar per Minecraft version. Nothing changes for
players.
Fixed
- Boats and other floating vehicles sat about a third of a block too deep, so the Zodiac was
almost under water. They now float as high as in the original. - Static launchers and guns that turn with the gunner's view, such as the Type 93 and Mk 32
torpedo tubes, only fired straight ahead. They fire where the gunner looks again. - On Windows, converting the content again could fail with "access denied" when another program
had the oldmcheli/importedfolder open, leaving the game without vehicles until the next
start. The old folder is now moved aside first, and the swap is retried.
MCHeli Rework 1.0.0
First release. Everything from the alpha and beta versions, shipped as a code-only jar. The
features still open from phase 4 (night vision, equipment, drafting table, config and more) and
the vehicle workshop are planned for 1.1.0; see docs/ROADMAP.md.
Installing
This jar contains only the mod's code. The vehicles, models, textures and sounds are EMB4's
original MCHeli content, which you download yourself:
-
Install Forge 66.1.0 for Minecraft 26.3 and put
mcheli-26.3-1.0.0.jarin themodsfolder. -
Download
MC1.7.10_mcheli_1.0.3.zipfrom the
MCHeli CurseForge page, Files tab. -
Create a folder called
mchelinext tomodsand put the zip in it. Do not unzip it..minecraft/ mods/mcheli-26.3-1.0.0.jar mcheli/MC1.7.10_mcheli_1.0.3.zip -
Start the game. The first start converts the zip, which takes a few seconds. If the zip is
missing, the game still starts and the chat tells you where to put it.
Servers need the same two files. Only the zip goes in the mcheli folder, never in mods.
Changed
- The jar no longer contains EMB4's vehicles, models, textures, sounds or HUD scripts; it shrinks
from 73 MB to under 0.5 MB. Players put the originalMC1.7.10_mcheli_1.0.3.zipfrom the MCHeli
CurseForge page into<game directory>/mcheli, and on start the mod converts it into
mcheli/imported, which loads as a required resource pack and data pack ("MCHeli Content").
The conversion runs again only when the zip changes; once done, the zip can be deleted.
Dedicated servers need the zip as well. - Crafting recipes are generated from the definitions during that conversion instead of shipping
in the jar. - Item names and achievement texts come from the imported zip. The lang files in the jar hold only
the rework's own keys (HUD, key bindings, entities, creative tabs), and the bundledzh_cn
file, which had none of those, is gone. tools/AssetMigrator.javais replaced by the importer inside the mod
(content.LegacyImporter).- The repository no longer holds any original files: the converted assets, the generated recipe
copy anddocs/legacy/originalare gone. The unit tests import the zip fromMod/into
build/legacy-contentinstead and are skipped where it is missing, as on CI. The translated
comments of the converted definitions went with them; the format guides indocs/contentkeep
the translations that matter.-PupdateRecipesis no longer needed.
Added
- Without the zip the game still starts, with no vehicles, and the chat says where to put it on
joining a world. A zip that fails to import reports the reason in the chat and the log. - A guide to modeling vehicles in Blockbench or Blender (
docs/content/modeling.md): axes,
scale, part names, textures and export settings. - A contributing guide (
CONTRIBUTING.md) and issue and pull request templates.