Allow the "above" node to override the "under"
node's description. Use this mechanism to
append charcoal glyph descriptions to the
touchtips, but only when punching a face that
has a glyph on it.
The hack to start new players with full breath does
not apparently work with existing players, so players
are joining to find their breath half gone at the start
of play.
Instead, let's just hide the breath HUD entirely for the
initial half of underwater movement, and only show it
when the player is running low. This effectively hides
the fact that players are losing the top half of breath
when joining, in the common case.
Players joining and being immediately submerged in
water is an uncommon enough case that this will
probably not affect gameplay significantly.
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.