This should cause maps that have the same
seeds to have much more similar results
than before, e.g. sponge deposits will be in
the same places determined by seed and not
random each regeneration of the map.
- Mapgen shared now provides an RNG which
will be deterministic when feasible, for
repeatable mapgen results.
- Make existing rng-using mapgen hooks use
the new deterministic RNG.
- Mapgen shared hooks are also run in
deterministic order too.
- Tidy up mapgen_shared API a little more.
- Categorize types of issues, since I find I pick through the list
not based on absolute priority but based on what kind of things
I feel like working on, e.g. gameplay improvements vs. code
quality.
- Clean out the icebox. Reinstate a few things at bottom of other
lists, clean out the rest.
Also reduce client packets by tracking dynalight node
ttl in-memory instead of meta. Lights might flicker out
a bit on area first loading, but some startup judder is
expected on any unloaded area anyway.
Add a "cheat" code for torch testing, and possibly for
other dev uses.
Reinterpreting the grass side as a mask instead of a texture
causes some really ugly artifacts with texture packs designed for
legacy textures and not overriding this.
Renaming the texture prevents the collision, and creates a sane
fallback for texture packs that don't have an override.
- Register def tables instead of bare funcs.
- Add labels for mod logic use.
- Automatically skip for singlenode mapgens,
e.g. for the skyblock modpack.
This freezes many things that normally happen automatically
in the world, including most ABMs and AISMs, and a few other
custom step logic items like the player "hot potato" logic.
This can be used for "creative mode" purposes to setup a complex
build without it running itself away from you, and for texture
pack authors, to have time to see things that are normally
transient or difficult to observe because of the effects they have
on nearby things or players.
This idea has resulted in 2 failed branches
and exposed a handful of engine bugs.
The way things stand right now, it's a miracle
that HUDs are usable at all, and probably not
worth messing around with them to try to
get them "just right."
This should keep players from being able to trap
themselves permanently by burying or sealing
themselves inside a room with no tools, in theory.
Adjust silk touch logic to prevent presence of dig times
by hand from tripping it.
This may affect game balance of things like not being
able to punch trees in the early game, but since dig
times by hand are so very long, hopefully the effect
will be small.
Item drops are left as-is for now; it just takes a LOT
of patience to dig something without the right tool.
Infusion of worn tools is slightly faster, but drops off
quickly as tools are more full. Lux tools can effectively
NEVER be perfectly unworn anymore.
This helps balance out lux tools, which, once
unlocked, were also obviating the need for proper tool
resource management, since they could recharge
so easily if you had a spare set in the reactor.
Now, players need to pay attention to which tools are
most/least worn, and keep the most worn ones
infusing to ensure the reactor resource is being used
most effectively.