- Player hp_max is 8 now, so most injuries will block
a whole slot each time.
- Player can be reduced to 1 slot, not 2. The 2 slots
was from back in the day when players needed to go
to the surface to heal faster, to help them get up
there. Now the 1 slot is only needed in case the
player is trapped in fire or something.
- Damage effects now don't stop playing just because
the player has reached maximum injury, and healing
is also delayed by continued injury.
Supposedly some stacks are clipping through the nodes
surrounding them when ejected; this is theoretically
possible if the stacks are full enough, based on the
X/Z offsets and the collisionbox sizes.
Always start items near the center of the ejecting node
position, to minimize (in theory, eliminate) this risk.
Quench lava to amalgam and it can be moved
around like loose cobble. The tricky bit is that it
needs to STAY quenched at ALL TIMES, and is
not (currently) stackable, so water channels need
to be setup to transport it, and limited amounts
can be moved at a time.
It's also an igniter and thus will dry out sponges
left to keep it cool.
Mods may change singlenode mapgen to generate stone,
in which case we want them to be able to also reenable
the standard mapgen_shared hooks.
- If def.enabled == true, always run the hook.
- If def.enabled == false, never run it.
- If def.enabled is not set (nil) then run it based on
standard logic, i.e. not on singlenode.
- 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 created a ton of dependency inversions, which
necessitated moving a number of API functions up into
higher layers, and restructuring dependency lists for
a number of mods.
BOLO: non-deterministic load errors due to missed
dependencies.
- Thrown objects inherit initial velocity.
- Player and objects have matched terminal
velocity and can free-fall in tandem.
- Thrown objects experience horizontal air
friction too.
Resize base texture down to 16x first, so mask works
as expected. Some textures may be blurred, but
we're more concerned with getting the overal color
right more than showing actual patterns.
Making hand dig everything broke logic that was
depending on things being "not hand diggable".
Continue to treat things as not-hand-diggable if they
would take a long enough time to dig.
If the falling item/node causes enough damage to
trigger a "hurt" effect, then it loses much of its energy
and bounces upward off the player.
This will also reduce the "scraping" effect when nodes
fall through a player. Hopefully the damage from
falling things is a little more consistent now.
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.
This was causing Lux tool infusion not to reset when
tools are removed from lux, i.e. putting a tool back
into the lux flow will "credit" the tool with infusion time
for the time since it was removed.
If players are invisible, NodeCore will not add any visible or
audible effects for them, allowing such players to be completely
non-interactive with gameplay.
This allows things like spectator or stealth-admin mods to
function properly.
- Unbake the scaling tweak from models, apply it
using mesh scaling in MT instead.
- Standardize ratio definition in one place.
- Default all nodeboxes to winning z-fights.
Automatic z-fighting prevention was causing some
nodes to fail to connect to neighbors due to the tiny
gaps. Allow certain nodes to "win" the z-fight instead
so they also connect to neighbors properly.