Without this, some players are likely to enable
certain privs and abilities without knowing that
they're cheats and will break the designed
gameplay. Similarly, server admins may be likely
to use the same default_privs for a nodecore server
as they might for an MTG or even creative server,
causing accidental cheating as well. Adding this
messages makes it hard to be unaware that your
game is at least misconfigured.
This allows a texturepack to support both the
original hotbar (for release edition) and the new
hotbar (for the alpha edition) at the same time,
while giving us time to test out the alpha version
and roll out the new release when it's ready, and
without forcing TP authors to trade off support.
Names are also lexically consistent and more
consistent with internal names.
We still change the background, but only depend
on the state of the slot, not on wield index. Go
back to a traditional slot selection ring for the
selection index.
Slot backgrounds are a little bolder normally, and
when broken, especially bold around the broken
areas.
The selection ring itself is broken so that the
gaps in broken slots are still "open" to the outside
when the selection ring is in place.
- Highlight behind item may lag behind the
new cursor, but the new cursor will show
which slot you're trying to select when
scrolling rapidly.
- Also fix the margins/centering for hotbar
image.
Will have to see how this plays on the actual
MP server, where there's notable RTT lag.
This was causing a texture from texture packs
to be reinterpreted differently, causing buggy-
looking hotbars, and TP authors would not
have been able to change the hotbar to work
with both versions.
Now before and after use different sets of
textures so a single TP can safely support
both before and after.
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.
This prevents the race between client-side changing
the hotbar selection index and server-side correcting
the selection image.
As a side effect, the hotbar slots no longer change
in size based on wield index, but this effect is not
very significant, and could be worked around if needed by adding padding to the normal
hotbar texture.
This branch depends on upstream PR #9271 being
merged for the MT client.
- 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.