Treat all API mods as a "layer", and use the new
nc_api_all registration to indicate that a mod depends
on the NC API (which ALL NC mods assume they do).
This means that each non-API mod does not need to
worry about which API mods it really needs and which
it does not, nor will they need to be updated for any
internal API restructures.
This is a game, not a modpack, so all mods will be
loaded anyway, and we only care about order. That
means that we don't really need to worry about
having excess dependencies because any mod we
don't actually need will be needed by something that's
loaded anyway. If somebody wants to reuse a
component elsewhere, they're likely to need to do
some work to untangle it anyway, because of the
amount that NodeCore mechanics interact and
interdepend.
- Handles upsert, TTL, caching, players leaving.
- Unify breath and player name HUD logic for now.
Touchtips are more complex (multiline, translate) so
those will need more work to unify.
- Defer update until tick, coalesce updates from same tick.
- Behaves more stably when pulling items from shelves.
- Prevents flicker.
- Wield changes supersede node touch (esp shelves).
Consistent with removal of the arms and wield hud,
remove the hotbar HUD and dump all inventory items
on the ground at time of revocation, if necessary.
- 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.
Translations are currently by holistic strings, i.e.
no parameterization. This may create some busy
work for translators, but gives them more freedom
to account for differences between languages.
A translation template file is written out to the world
path on game start, so translators have a seed to
work from.
- Consolidate any "source-only" files into "src" dirs.
- Exclude "docs" dir, mainly in root atm.
- Exclude all dotfiles.
This significantly reduces the size of delivered files, since
esp the player model .blend file is very large.
- Place EggCorns as items, not as nodes.
- Tweak visual scales, thicken them up a bit.
- Allow planting eggcorns into dirt, as well as throwing dirt
over eggcorns, to make planting easier.
- Clean up registered_* usage patterns.
- Reduce tendancy of leaves to create stack nodes.
Now they tend to stack up properly in-world more often.
- Tweak damage system to create "headroom" where minor
damage doesn't cost inv slots immediately.
- Make player hand skin color match model skin.
- Cleanup/unify grass abm logic.
- Start installing new sounds by MagikEh
Sound source:
https://github.com/MagikEh/SoundsOfWarr
Hexagonal gradients aren't actually a thing, but 6 linear gradients
are a thing. Render them in high-res to minimize the effect of
anti-aliasing gaps, and then shrink them to fit.
- Eliminate health and breath stat bars.
- Players NO LONGER DIE FROM INJURY.
- Players no longer lose walking speed or mobility.
- Players lose inventory slots in proportion to injury; they're
stuffed with an "injury" item, and items they displace are
ejected. Slots are displaced in random order.
- Healing rate is much faster, so players are usually mildly
inconvenienced by injury, but can soon enough pick up their
stuff and leave.
- Health and breath HUDs are gone. Health is visible based on
number of lost slots, and breath uses a vignette to narrow
tunnel vision for O2 loss.
Overall, the old health system has been more of an immersion-
breaking annoyance than anything. This allows health to get out
of the way of the primary gameplay.
UNFINISHED: Need a replacement for the old "suicide to get unstuck"
mechanic.
Can't get HUDs to align right on high-DPI/android at all. Give up
on the combination breath/wield bar, switch back to a much earlier
version of the code for that.
For wield names, add a new tooltip to the center of the screen, and
show it transiently so that it doesn't disrupt all gameplay.
As a bonus, this is also a logical place to put a "what am I
touching" display, so hook this up for punching. Now you can
tell what you're touching even when you can't dig it. This is
like a WAILA mod, but doesn't require tracing.
On android (and possibly other very high DPI displays) the position
of the HUD is calculated incorrectly for text HUDs. According to
rubenwardy, "the HUD sucks", so it seems unlikely that this will
get fixed soon. Switch to using a sequence of image HUDs and a
bitmap font to render the hotbar text. This is currently limited,
but expandable.