advtrains_attachment_offset_patch

Workaround to mitigate Minetest bug 10101, specifically for advtrains

API / Library Transport

Download (639 KB)
For Luanti 5.0 and above

How do I install this?

advtrains_attachment_offset_patch

This modpack implements the workaround for Minetest bug 10101, with API for advtrains wagons.

Mods in this modpack

advtrains_attachment_offset_patch

Adds “attachment dummy” objects to seats in advtrains wagons, so the Minetest client will set the eye position correctly. Mods which add train models to advtrains have to use the API to make their wagons use the workaround.

advtrains_attachment_offsets

Makes various train mods use the advtrains_attachment_offset_patch API.

This is also a short success story, which makes me happy:

When I created advtrains_attachment_offset_patch, there were of course no mods using it. I added this mod to patch all known existing train mods to have sensible attachment offsets. Nowadays, new train mods have started using advtrains_attachment_offset_patch, so advtrains_attachment_offsets will become unnecessary. I do not intend to update advtrains_attachment_offsets anymore.

Some mods (namely DlxTrains) were originally patched by advtrains_attachment_offsets, but now implemented support for advtrains_attachment_offset_patch themselves. This appears like a cyclic dependency, if you look at the mods on ContentDB.

  • Actually, advtrains_attachment_offset_patch comes first.
  • Train mods depend on advtrains_attachment_offset_patch, so they come second.
  • advtrains_attachment_offsets depends on the train mods, so it comes last. It detects trains that are already patched, and then does not modify them anymore.

Issues

  • When I join the game, I am not correctly reattached to some wagons.
    • This is a bug in the on_joinplayer callback handler of advtrains, and is not related to this mod.

Installation

This mod is intended to be installed from Minetest’s own content manager, ContentDB.

You can also clone the repository to your mods folder. You will need to disable the “LICENSES” and “screenshots” mods, if your Minetest can not figure out that these aren’t mods.

You can also use this bash command from the root directoy of the repository:

git archive --format tar HEAD | tar --extract --one-top-level=advtrains_attachment_offset_patch --directory=path/to/minetest/mods/

(Using GNU tar.)

License

The mod is licensed as CC-BY-1.0 (media) and MIT (code).

Screenshots depict artwork from other Minetest mods, and are licensed as CC-BY-SA-4.0.

Contributing

The source code is hosted at https://invent.kde.org/davidhurka/doxy_advtrains_attachment_offset_patch. Problems should be reported at https://invent.kde.org/davidhurka/doxy_advtrains_attachment_offset_patch/issues.

Reviews

Review

Do you recommend this mod?

  • Elevates the onboard experience

    Without this mod, rotating the camera around to see better from inside a train can be very annoying, as the game feels like it is fighting you quite often. With it installed, you get to rotate the view while driving or a passenger.

    Even better, the mod sets the position of the camera properly. Now rotating your view around won't orbit your camera in a big arc around a central point, instead you get what you would intuitively expect: the view rotates while you stay fixed in your seating position.

    Further, this mod properly enables wagons have front and rear driver's seats, something that didn't make sense when you had to stick the player's view close to the centre of the wagon to let them look well enough out both sides and still be able to escape by right-clicking the wagon's hitbox.

    Of course one day maybe we can hope that we won't need this mod, because it only exists due to a deficiency in the game engine. But it's very good to use right now.

    0 comments

Used By