When applying bonemeal to eg. farm crops, these have a chance to grow in
response to the application of bone meal. When a node can be bonemealed, the
applied bone meal item should always be spent after using it, regardless of
the results. Currently this does not work correctly, if the result of
bonemealing has no effect on the node, the used bone meal item is not spent.
This commit fixes the behavior of the bone meal item to always be taken when
used on a node that defines a `_mcl_on_bonemealing()` callback.
The nodes that implement the callback imay use the handler's return value
only to signal if the bonemealing was succesful, not to signal if it was at
all possible. For this reason, some nodes need to be made more strictly
conforming to the API.
* Always take the used bone meal item (if user is not in creative mode),
regardless of whether the bonemealed node's handler returned `true`.
* Make dispensers spawn particles after succesful bonemealing.
* Trivial comment fix.
* Ripe cocoa pod cannot be bonemealed.
* Update API.md to describe the stricter API semantics.
* Fix the squid ink sac craftitem description.
* Update de translation.
* Add es, fr, pl and ru translations.
Note that I do not master all of these languages and this is a best effort
based on picking what I guessed are the most likely translations.
* Updated de, es, fr, pl, ru and zh_TW translations for the new lapis
lazuli craftitem description.
Note that I do not master all of these languages and this is a best
effort based on picking what I guessed are the most likely translations
from web pages.
After the cocoa beans <-> brown dye change, some of the old dye use was still
left in the description and usage help texts of the cocoa beans craftitem.
The mcl_cocoa locale template and translations are also updated.
* Update the cocoa beans craftitem description and usage help text.
* Update de, es, fr, pl, ru and zh_TW translations.
Note that I do not master all of these languages and this is a best effort
based on picking what I guessed are the most likely translations.
* Don't set stack_max to what would be the default anyway.
* Added de, es, fr, pl, ru and zh_TW translations for the new white
black and brown dye items. The new blue dye description is unchanged
and needs no translation update.
Note that I do not master all of these languages and this is a best
effort based on picking what I guessed are the most likely translations
from web pages.
Until now, the black, white, blue and brown dyes doubled as squid ink sac,
bone meal, lapis lazuli and cocoa beans. Since these latter items have all
been given their own craftitem registration, the missing dyes can finally
be added in their own right.
* Add `"mcl_dye:black"` and its crafting recipe.
* Add `"mcl_dye:white"` and its crafting recipe.
* Add `"mcl_dye:blue"` and its crafting recipe.
* Add `"mcl_dye:brown"` and its crafting recipe.
* Remove aliases for white and brown dyes.
* Rename dye item images to be conforming to mineclone naming standards.
* Minor simplifications of mcl_dye/init.lua.
The lapis ore drop has been registered as `"mcl_dye:blue"`
because it doubled as the blue dye for lack of a proper blue dye.
This commit makes the lapis item its own `"mcl_core:lapis"` item and
updates the lapis users (but not the blue dye users.)
* Add craftitem for `"mcl_core:lapis"`.
* Update crafting recipes for lapis block.
* Update lapis ore drops.
The squid ink sac mob drop has been registered as `"mcl_dye:black"`
because it doubled as the black dye for lack of a proper black dye.
This commit makes the squid ink sac its own `"mcl_mobitems:ink_sac"`
item and updates the ink sac users (but not the black dye users.)
* Add craftitem for "mcl_mobitems:ink_sac".
* Update squid drop.
* Update crafting recipe for book and quill.
* Update fishing loot.
* Metatable based direct operator maths on vectors are new in minetest
5.5 which means that they are not yet supported in 5.4. Revert back
to vector.subtract().
* Add `mcl_cocoas:coca_beans` craftitem to mcl_cocoas.
* Remove `mcl_dye:brown` craftitem from mcl_dye.
* Move cocoa beans translations from mcl_dye to mcl_cocoas.
* Add `mcl_dye:brown` alias for `mcl_cocoas:cocoa_beans` to
mcl_dye.
* Abstract cocoa pod node registration into a loop.
* Update chocolate cookies crafting recipe in mcl_farming.
* Bonemealing dirt_with_grass spawns new growth over a wide area, so it
looks better if we spawn a few more extra bone meal particles.
* Update mod.conf depends to mcl_bone_meal.
* Update to use new mcl_bone_meal API:
* Use new bone meal item and remove related comment.
* Update mod depends in mod.conf
* Spelling fixes: s/bonemeal/bone meal/g
* New mod mcl_bone_meal, replacing bone meal functionality previously
held in mcl_dye.
* Improve bonemealing API using callbacks in the nodes that support
bonemealing.
* Rename bone meal item to `"mcl_bone_meal:bone_meal"` and updated its
crafting recipe.
* Implement legacy compatibility for older bone meal API.
* Remove all non dye-related bone meal code, texture and translations from
mcl_dye.
* Add legacy compatibility shims to mcl_dye that refer to mcl_bone_meal.
* Add an alias for "mcl_dye:white" to keep mcl_dye and its API working
uniterrupted.
* Update mod depends in mcl_dye mod.conf.
* Add new file mcl_flowers/bonemeal.lua, containing the bonemealing
callback for "mcl_core:dirt_with_grass".
* Override "mcl_core:dirt_with_grass" with a _mcl_on_bonemealing handler
calling a function defined in mcl_flowers. This sidesteps the problem
that bonemealing a node from mcl_core needs knowledge of mcl_flowers,
which would create a circular dependency. H/t to cora for suggesting
this solution. H/t to wsor for suggesting a solution that also works.
* Abstract unripe beetroot plant node registrations into a single
indexed definition and do the registration in a loop.
* Adds a _mcl_on_bonemealing callback to the unripe melon plants.
By adding cobbled deepslate to the group "cobble", it automatically
inherits all crafting recipes and tool repair capabilities that apply
to that group.
* Add `cobble=1` to cobbled deepslate node definition groups. This
requires a little refactoring of the deepslate variants registration
function.
* Remove stone tools, furnace and brewing stand crafting recipes.
* Register "cooking" crafting recipe for deepslate ores that enables
smelting these ores in furnaces.
* Extend deepslate ore registration function to allow passing cooking
result as argument.
* Update the deepslate ore table to include smelting results.
* Put deepslate w/ lapis drops in a separate table, making the deepslate
ores table less unwieldly.