This is done rather hackishly, but Minetest doesn't
seem to offer a sane way to register fluid buoyancy, or
even a reasonable hack to use negative gravity for this.
Instead, just push player upward with velocity impulses
every so often.
This is helpful gameplay-wise to make chatting while
swimming easier for players not using auto-forward, or
to prevent players from drowning and losing their stuff
while swimming long-distance and dropping network
connection and their in-game character waiting in the
water for the timeout. Instead, players will return to the
surface and remain where they can breathe until the
player can take control again.
- Players start out at a brisk walk, accelerate to a run
if moving continuously forward.
- Clean up and consolidate various player movement
code, including footsteps, freefall, and zoom focus.
Note that for extremely long falls, something
still needs to be done for items falling in
parallel with players, since as it is right now,
then fall at different speeds.
Even with player velocity being limited,
objects tend to fall at much slower speeds
initially than players, and collide with
unloaded areas and "settle" into node space,
requriing an ABM to release them again.
Instead, when a falling item collides with an
unloaded area, we need a way to preserve
its speed until the area is loaded, and then
continue falling.
- Collapse all nodecore "core" mods in the /mods listing, so it's
easier to find the actual add-on mods.
- Parameterize in-game branding to make renaming derivatives just
a little easier.
Use interception where possible to modify destintion for items
directly instead of relying on post-hoc inventory rearrangement.
This should resolve the glitches where items appear in the wrong
place in inventory for a flash before being moved.
Players can specify the exact slot they want picked up items to go
into. Items will try to fit into the currently selected slot first
before filling additional slots according to normal rules.
This is experimental and may lead to lost or duplicate items!!
Hopefully this should end up being a lot more intuitive and
immersive than the old sneak-dig hack that only worked for certain
objects. It's consistent across all functionality that causes
items to be added to player invetory (including /give).
Unfortunately it adds yet another globalstep function, and a
fairly complex one at that...
- Inventory screen is now no longer game-interactive, and serves
as purely an "about" screen.
- Move the HUD components out of inv mod and into hud mod.
- Separate player setup mod for static physical limitations like
step height, inv size, etc.