Spread ABM intervals evenly across 1 to 16 seconds
16s ensures no nodes are missed when player walks past
Adjust chance values to compensate, for identical action rates
Combine lavacooling ABMs into one, return to chance = 1
Grass growth: add 'neighbors = "air"' to avoid
processing the thousands of underground dirt nodes
Grass death: Reduce action rate to that of grass growth
Fire: Use chance = 1 for flame extinguishing
and flame removal when mod is disabled
Node timers are higher precision and a better guarantee
of happening at regular intervals, whereas ABM's may be
postponed, cancelled or missed if a player is too far.
The largest benefit is that once the furnace is done
cooking, no more ABM's are fired - the timer is stopped
instead and no more events are created until items
are put in the furnace.
This patch is larger due to the migration of the timer
function and indentation change as a result of the somewhat
reduced complexity. I've tested with several furnaces and
this works correctly and behavior is not affected, although
people may find that their furnaces now work more
regularly.
If you place several furnaces next to eachother, you will
still find all furnace timers firing exactly at the same
time. This is a bug in core that should not coalesce node
timers at second intervals.
This converts the call to minetest.register() for the default
fence node, so it can be called by other mods to quickly
setup other fences.
Since this creates an API, insert it into the game_api.txt.
The api looks like minetest.register(name, {def}), and has two
uncommon fields: "texture" and "material". Any normal nodedef
property can be passed through, except "drawtype". The "fence"
group will always be added.
The default fence recipe is modified to be as follows:
wood, stick, wood
wood, stick, wood
This recipe yields 4 fence nodes.
This allows us to create according recipes for acacia, pine,
aspen, and junglewood fences without adding new stick types:
pine wood, stick, pine wood
pine wood, stick, pine wood
This is a from-scratch implementation, written by heart but inspired
by (#665 - Add many wooden fences).
Stick and fences nodes are named in a consistent way.
Adds a birch-like tree to the default_game. Aspen was chosen on
purpose instead of birch, as several birch tree mods already exist
and choosing a different name avoids any conflicts.
Schematics were made for both normal and sapling version, assuring
saplings will not be able to grief. The shape of the Aspen is "fanning
out at the top" and provides an easy tree to walk under, but still a
somewhat thick cover. The Aspen trunk is 4 to 6 blocks tall, with up
to three layers of leaves on top, making it slightly taller than an
Apple tree, but shorter than a Pine tree, which provides a good blend.
Textures were painted from scratch, except tree_top and _wood
variants, which are color modified versions of the pine_wood
variants. Appropriate licenses have been chosen for the new textures.
The leaf texture is light enough to contrast other trees, but dark
enough to offset against our light default grass color. The leaves
are drawn in the typical minetest default fashion with plenty of
transparancy, but enough definition to suggest that you're seeing
something that looks like leaves. The placement of leaves in the
schematic also suggests the top of the tree is sparse and you can
see the sky through the leaves.
Sapling texture is both traditional and different, with lush green
leaves and a well-defined stem, but slightly stick-like and skinny,
as these plants tend to grow up first, then out.
Add fallen Aspen logs. We make these logs a minimum of 2 blocks long,
and up to 3. This allows us to make these logs a place where both
red and brown mushrooms can be found, to these may be attractive to
players. However, the spawn rate for these has been reduced a lot
compared to the other logs, to account for the scarcity of Aspen.
Add stairs, slabs for these wood types as well.
Mapgen will place these trees in deciduous forests only, but in
a way that the biome is a range between entirely Apple trees, and
mostly entirely Aspen trees, with a bias to Apple trees. To make
fallen logs somewhat correlated with trees, we modify the planting
of Apple trees and logs to use perlin noise and not fill ratio,
otherwise you'd always end up with Apple logs in Aspen tree areas,
which would be suspicious. There still is a bit of a mix.
We can vary the landscape a bit more by placing "fallen logs"
around the various forests. These decorations are quite fast
and will provide some gameplay value but are still more rare
than the corresponding trees, so they don't provide free
materials.
I've manually put the schematic as lua tables since these log
schematics are only 8 blocks. We vary the log lengths between
1 and 3 blocks by making the end blocks have a lower chance
of appearing.
Amount is varied by fill_ratio, except for acacia trees where
we reduce the scale, so that acacia logs show up near places with
acacia trees consistently.
Mushrooms are placed optionally on each log. We can't place
two different mushrooms on a log, so instead we opt to place
brown mushrooms on oak/appletree logs, brown mushrooms on
jungletree logs, and red mushrooms on pine logs. No mushrooms
are placed on acacia logs, as they occur in a dry biome,
savannah, and this adds a bit of biome diversity.
Combine any written book with an empty book to copy it. The
copy is in player hands when using, and the original is put
back on the crafting grid and can be directly copied again.
All ownership and metadata is retained, so the copy of the book
is as writable as the original is, or isn't.
Since written books are quite different from empty books, the
visual clue that they are different items is really needed in-game.
I've added a "clasp" or "belt-with-buckle" like element to the
png from default_book, keeping them very similar but also
immediately recgnizably different.
I added the new texture to blockmen's license list since it's
obviously derivative of his work.
The PNG was run through a minimizer/optimizer to save space.
The fixing of low density decorations allows returning to
sidelen 16 for acacia trees and cacti, previously sidelen
80 was required for low density decorations to appear
Also use sidelen 16 instead of 8 for mgv6 papyrus
Bring humidity points closer to reduce distortion of voronoi cells
Slightly reduce size of hot and frozen biomes
Improve location of glacier biomes
Remove unnecessary snow nodeboxes from tundra to improve FPS
Add missing dirt_with_snow to taiga
Dirt waters are more suitable for waterlilies
Add dedicated dunes biome in coniferous forest
Papyrus: use dirt base again
Force-place roots on mapgen tree schematics
Tune some humidity points to improve voronoi cells
Add random rotation to jungle trees
Rename in game.conf and documentation
Update game_api.txt documentation for bucket API and tree functions
Fix tab, space and comment formatting in game_api.txt
Rename in mod READMEs
More complex distribution of dry grasses
Remove water below glacier rivers
Gravel as glacier seabed
Do not force-place acacia root
Tune acacia tree density
Match mgv5/v7 mushrooms to tree density
Spawn mgv6 mushrooms by trees
* Move furnace related code into furnace.lua
* Move duplicated code into functions
* Rewrite ABM:
* Easier to follow strcuture (no returns in the middle)
* No unnecessary calls to get_craft_result
* Split logic and "visual feedback" (a bit)
* Fewer calls to meta:set and meta:get
* Better feedback on the current state of the furnace
Also, move "waving = 1" property for grasses/shrubs over to default/nodes.lua
and put all instances of this property right under the drawtype, since they
are directly related and depend on the above.
hat layer, when the area for the cape (a 8x12 set of pixels) which is to
the right of the arm texture, is given a non-alpha or semi-alpha pixel,
it will display ingame, similar to the hat layer on the player's head.
object found *among* the stone.
That is, mese should behave such that you get something potentially useful out
of the aggregate block you just broke, rather than just collecting the whole
block when mined.
Mese crystals in stone give a single Mese Crystal when mines. Craft three of
those + 2 sticks for Mese Pickaxe, or 9 for a Mese block. Craft one Mese
Crystal by itself to get 9 Mese Crystal fragments, which all mods should use
when a full Mese Crystal is too much.
This includes new textures for the above objects, tweaks to the sounds used for
them, and naming tweaks for the textures used for default mese in stone, so
that old texture packs don't use the "wrong" image.
This represents my best effort to match C55's suggestions.
Update player script to match the animations in the previous commit
Shorten the still mine animation so the hand matches the speed of the walk-mine animation
Reduce animation speed to half when sneaking
Also get the mine animation working when holding the left mouse button. Walk animations have priority over it, and sadly you can't play both at the same time
Set initial player animation to stand
Add a function which allows registering different frame ranges for different player models
Cosmetic improvements to the player script
More progress on the player animation functions, this commit adds useles code currently
I forgot frame range definitions need to be per-model, since each model could have its own animations. Specify current ones as being player.x's
Add death animation, and correct many mesh issues I didn't notice last time
Rename player to character, to avoid conflicting with the default player sprite
New skin by Jordach
Add licenses to readme for the model and skin
Fix bad mirroring of left arm for player model
Consists of a simple standi animation currently being looped.
Compatible with any MineCraft skin, no texture included on GIT for licensing reasons.
Walk animations for the player (forward, backward, strafe left and strafe right). This commit removes other test cases from the default script, so that player.lua can be brought to what it's intended for
Punch / mine animation, and some consistency improvements to the player script
Entries for the newly added animation features
Update player script to work with the latest code
Add a test case for attachments. A LUA entity is attached to the player with a specified name 10 seconds after the server starts
Add a detachment test case (5 seconds after attaching)
Update function names, plus add a test case for both player to player and lua-entity to player attachments
Trigger the player.lua file in init.lua
Commit the ugly and temporary test model and texture. We'll get to a real animated player mesh once the code for that is ready
Set visual_size accordingly so the player model doesn't stretch vertically (default of the sprite player)
Attempt to use the b3d model format, although it doesn't seem to work so far