Skip to content

Releases: JnH-Projects/MCHeli-Rework-Forge

MCHeli Rework 1.1.0-beta.6

Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Nov 12:11
v1.1.0-beta.6
f093dc0

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 throwable files. 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 a throwable folder; they share one mcheli:throwable item, 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 list container load 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 with EnableParachuting open 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 EnableFoldBlade fold 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, AddParticleSplash points 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 31 Oct 14:29
v1.1.0-beta.5
31ac0ee

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 by value
    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's cam_mode reads 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Oct 06:54
v1.1.0-beta.4
8bffb69

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 MaxFuel burn their FuelConsumption while the throttle is open, and the
    engine winds down when the tank runs dry. The HUD's fuel and low_fuel values are live, so the
    original fuel gauges and low fuel warnings work. Fuel trucks top up every vehicle within their
    FuelSupplyRange. Server config vehicles.infiniteFuel turns 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's CameraZoom and then goes back to 1x. Elsewhere Z still folds wings and hatches, as in
    the original. The HUD's cam_zoom follows it.
  • Night vision on K for vehicles with EnableNightVision. The HUD's cam_mode follows it.
  • Vehicles collide with each other by their whole hull (the BoundingBox lines), 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 BoundingBox lines 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 any BoundingBox line (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 (MaxFuel of 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Oct 05:10
v1.1.0-beta.3
dac1406

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, the mcheli folder, 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 by custom_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
    and mcheli-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
    to serverconfig/mcheli-server.toml now apply on the next world start or /mcheli reload
    instead of while the server runs; /mcheli reload now 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_state and 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_panes tag, 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 through Platform and Registration, and the loaders call
    CommonHooks and ClientHooks from 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.1 holds the shared code backported to 1.21.1; forge-1.21.1, neoforge-1.21.1
    and fabric-1.21.1 are 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Oct 14:43
v1.1.0-beta.2
1f52273

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.nightGlow in 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/packs that add vehicles and weapons, with
    their models, textures and sounds and a pack.properties manifest. 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 in mcheli/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] in mcheli-server.toml: an allow list, and size limits per pack
    (8 MB) and for all packs together (64 MB). Client setting packs.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 packs lists 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 reload now 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Oct 05:05
v1.1.0-beta.1
bdfb9b2

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

  • /mcheli shows 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 reload for 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.toml in 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-64 no 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 common module and a module per Minecraft version
    (forge-26.3 for 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 old mcheli/imported folder 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

Choose a tag to compare

@github-actions github-actions released this 28 Oct 08:46
v1.0.0
b524a1e

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:

  1. Install Forge 66.1.0 for Minecraft 26.3 and put mcheli-26.3-1.0.0.jar in the mods folder.

  2. Download MC1.7.10_mcheli_1.0.3.zip from the
    MCHeli CurseForge page, Files tab.

  3. Create a folder called mcheli next to mods and 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
    
  4. 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 original MC1.7.10_mcheli_1.0.3.zip from 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 bundled zh_cn
    file, which had none of those, is gone.
  • tools/AssetMigrator.java is replaced by the importer inside the mod
    (content.LegacyImporter).
  • The repository no longer holds any original files: the converted assets, the generated recipe
    copy and docs/legacy/original are gone. The unit tests import the zip from Mod/ into
    build/legacy-content instead and are skipped where it is missing, as on CI. The translated
    comments of the converted definitions went with them; the format guides in docs/content keep
    the translations that matter. -PupdateRecipes is 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.