Beta
STYGION Keystone b0.2.5: co je nového
Keystone's client half starts doing something. The same jar in a player's
mods/ now shakes hands with a Keystone server as they join: the server learns
which players run it (and which version — GET /v1/players says client, the
editor's Players screen marks them), and offers those players three things.
Players without it play exactly as before, and a server without Keystone sees a
client that says nothing at all. The channel is optional on both loaders, so
nobody is ever refused for not having it.
Tried in a real game before release. A Fabric 1.21.1 client with this jar
joined a test server: the handshake, the outline and a 30-block vein in one swing,
the 32 limit and 64 for a group in limits, crouch-mining without the client
half, "typing…" between two players, the server's resource pack skipped for the
player who had it on (and sent to the one who did not), and nothing at all sent
by the client half to a server without Keystone after /transfer. Two faults the
build could not see were fixed on the way: the client forgot the server's hello
before the join finished, so nothing was offered, and nothing tied what it knew to
the connection it learned it on.
Ultimine — a new module, ultimine, off until an owner turns it on.
Hold the ultimine key (Controls → Keystone Ultimine, ` by default) and
break a block: the whole vein of ore or the whole tree goes at once, and while
the key is down the server outlines exactly what one swing will take. Without
the client half a player types /ultimine toggle once and crouches while
breaking (crouch.enabled). Up to max-blocks (32) for everybody with
keystone.ultimine (the default group has it), more per group (limits,
vip=48) or per permission (keystone.ultimine.limit.<n>), never past 256.
Which blocks: blocks (#c:ores, #minecraft:logs), stone to add stone,
never, and same-as so an ore and its deepslate twin are one vein. The price:
hunger-per-block, the tool's own wear per block, protect-tool (the last point
of durability is never spent), min-food, require-tool (a vein only with a
tool that drops it) and a cooldown. Where: worlds.only, worlds.never, and a
reach around the first block. Every block is broken the way a swing breaks it,
so FTB Chunks claims, spawn protection, the world border and every protection
mod are respected block by block. /ultimine says what a player may take.
"Anna is typing…" above the chat input, between players who both run the
client half (chat.typing.enabled, on). The client says one bit — typing or
not — never what, and never for a command. A vanished player is never shown;
with chat channels on, only the people who would receive the line see it.
Through the Discord bridge it goes both ways: somebody typing in the bridged
room shows in the game as "Dora (Discord) is typing…" (typing.from-discord,
which asks Discord for typing events), and the bot types on Discord while
somebody in the game does (typing.to-discord, at most once every nine seconds
per room).
The server's resource pack without the reload. The client half tells the
server the SHA-1 of every resource pack it has switched on; when one is the
server's own (resource-pack-sha1 in server.properties), the server does not
send it and the game does not reload every texture on the way in
(resourcepack.skip-when-client-has, on). A launcher that puts the pack into the
instance makes joining instant. Everybody else gets the pack as before.
Nothing the server says is plain white any more, and everything it says can
be dressed once. Every reply, notice and broadcast is drawn in a theme:
eight colour lines in your language files (theme.text, dim, accent,
value, ok, warn, bad, lead, as & or &#rrggbb codes). Change them
in config/keystone/lang/<code>.properties or the editor's Languages screen
and the whole voice of the server changes. A line with no colour of its own gets
its names and numbers and /commands picked out automatically; a line you dress
yourself uses the same colours as {@accent}, {@value}, {@ok}... and
{@base} steps back to the line's own colour. The macros work in your own
texts too (announcements, kick screens). Defaults are plain Minecraft colours.
/playtime is a small card instead of one grey sentence. The player in their
rank's colour, time played (and how much of it moving), visits, blocks travelled
and biomes seen, and the next rank with what is left in words (1 h 52 min of playtime to go, 120 more zombie to defeat) and a progress bar, never the
rule behind it. The same words for /keystone progress top, the rank you just
earned (rank name in its colour) and /vote (every site and the vote page are
links; how often you voted, the vote party as numbers).
Lengths of time and counts in the reader's language. Times read 1 h 52 min
and come from time.* lines; a number with its noun (1 visit, 3 návštěvy,
5 návštěv) comes from .one / .few / .many lines, with the rules of
Czech, Slovak, Polish and Russian built in, and numbers are written the reader's
way (5,691 / 5 691).
Clickable lists. /kit and /warps are buttons now, like /homes.
/crate, /crate odds and /ticket are drawn lines with the rarities in their
colours instead of one text block. Password complaints, /language refusals,
the "failed inside Keystone" line and the default kick, ban, full and name
screens were English text in code or plain white and are language lines now.
Output of staff and console commands is drawn in the theme's body colour.
Language files: 116 new keys and 14 restyled (progress.*, votes.where.*, crates.*,
tickets.*, kits.*, time.*, theme.*, ...). Where you have your own
translation, add them (English is the fallback); STYGION MC's Czech is in the
workspace.