Commit graph

7334 commits

Author SHA1 Message Date
kabou
af132cc523 Reinstate nil check in on_place_bucket.
* Oops, nil checks on registered_node[name] were erroneously optimized
  away, risking crashes.  Reinstate those checks.
2022-02-21 18:00:56 +01:00
cora
a0b5e4dd0b Merge pull request 'fix filling cauldrons with water buckets and some minor refactoring.' (#2011) from kabou/MineClone2:fix-buckets-cauldrons into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2011
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-02-21 15:18:02 +00:00
kabou
e54502edd6 Add more local aliases for minetest.* namespace functions
* Add locals for
  - minetest.is_creative_enabled
  - minetest.is_protected
  - minetest.record_protection_violation
2022-02-20 20:24:55 +01:00
kabou
639bf936c5 Use alias for minetest.* namespace function call.
* Fix one missed minetest.get_node use in earlier commit.
2022-02-20 19:52:05 +01:00
kabou
d2261426c3 Remove redundant variables in on_place_bucket.
The function on_place_bucket defined a couple of variables that were
used only once or in a redundant check.  After removal of the redundant
check in a previous commit, all use-once variables can now be substituted
with their assignment expressions.
2022-02-20 18:46:23 +01:00
kabou
88ce1e3662 Remove redundant logic.
The function on_place_bucket contains the following logic:
  if not a and not b then return x end
  if a then
    foo(a)
  elseif b then
    foo(b)
  else
    return x
  end

The "if not a and not b then .." is removed because the case is handled
by the else case later on.  This will allow some further simplifications.
2022-02-20 18:46:23 +01:00
kabou
b3aed9d6b8 Use proper get_item_group accessor.
Instead of directly accessing the group table in node definitions, use
the proper minetest.get_item_group accessor to test for "cauldron"
group.
Also adds local alias get_item_group for the global minetest call.
2022-02-20 18:46:23 +01:00
kabou
13baa68b67 Fixed missed alias uses and added set_node alias.
Two instances of add_node and add_item still used the full minetest
call, substitute the alias.
Added a set_node alias for several minetest.set_node calls.
2022-02-20 18:46:23 +01:00
kabou
315f251584 Add local to speedup global function access.
The minetest.registered_nodes function is called from multiple places.
Define a local alias registered_nodes and substitute it in all calls.
2022-02-20 18:46:23 +01:00
kabou
584a75df76 Fix filling cauldrons with water.
When using a bucket of water on a cauldron, this would not fill the
cauldron as expected, but deposit a water source block on top of the
cauldron instead.

Applied patch from mineclone5 #38 (commit #
698c29733f06a7fcb7e755bf26ee46b33b00699b) from mineclone5 that fixes
this problem.
2022-02-20 18:46:23 +01:00
cora
c392fd0269 Merge pull request 'mcl_composters initial commit' (#2005) from kabou/MineClone2:composters into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2005
Reviewed-by: cora <cora@noreply.git.minetest.land>
Reviewed-by: NO11 <no11@noreply.git.minetest.land>
Reviewed-by: AFCMS <afcms@noreply.git.minetest.land>
2022-02-19 23:42:45 +00:00
kabou
8d18ab8a7a Optimize texture files.
* Texture files were optimized with 'optipng  -o7 -zm9 -strip all' .
2022-02-19 21:18:01 +01:00
kabou
f81980da51 Fix hardness and blast resistance.
* Use correct MC values for hardness and blast resistance.
2022-02-19 21:18:01 +01:00
kabou
55009c257e Use new vectors
* Use vector.new instead of xyz table.
2022-02-19 21:18:01 +01:00
kabou
51ca60c097 Change custom node attribute name.
* Rename _compost_level to _mcl_compost_level
2022-02-19 21:18:01 +01:00
kabou
f22baafaa6 Add player object check.
* Add one more check if player object is an actual player.
2022-02-19 21:18:01 +01:00
kabou
ffc2c94096 Add help alias
* Add help alias for the ready type composter
2022-02-19 21:18:01 +01:00
kabou
cea821b2fa Comment fixes.
* Improve comments, some typo fixes.
2022-02-19 21:18:01 +01:00
kabou
64608f50f8 Update mod description and fix comment.
* Make mod description more descriptive.
* Minor comment tweak.
2022-02-19 21:18:01 +01:00
kabou
3257014e00 Add missing melon block.
* Add melon block to the compostabiles list.
2022-02-19 21:18:01 +01:00
kabou
06274518bf Add player object check.
* Handle the case where a mob somehow "clicks" on a composter and we get
  an invalid player object passed.
2022-02-19 21:18:01 +01:00
kabou
8d79d16531 Update mod deps.
* Add dpendency on mcl_dye for the bone meal particle spawner
2022-02-19 21:18:01 +01:00
kabou
1f7697b6f5 Typo fix.
* it's a spruceSapling (thanks NO11)
2022-02-19 21:18:01 +01:00
kabou
64203c38a6 Update documentation.
* Make a mention of the one second delay before composter readies.
2022-02-19 21:18:01 +01:00
kabou
4cf88abe4c Fix composter item image.
* Less is more (thanks AFCMS)
2022-02-19 21:18:01 +01:00
kabou
df8576e77c mcl_composters initial commit
Implements a composter block with crafting recipe, and some more
uncraftable blocks representing various stages of filling.

Adds a list of items that can be used with the composter and the chances
of these items adding a layer to the composter.

Implements methods to add compostable items to the composter, to update
the composter to various levels of compost and to harvest an item of
bone meal when the composter is ready.

Textures were taken from XSSheep/Nova_Wostra Pixel Perfection texture
pack.
2022-02-19 21:18:01 +01:00
cora
6493f2885b Merge pull request 'Correct bucket behavior' (#2007) from NO11/MineClone2:buckets+ into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2007
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-02-18 00:17:50 +00:00
NO11
c40c05f594 Exact MC behavior 2022-02-17 15:32:58 +00:00
NO11
8db28c1337 Update get_pointed_thing function 2022-02-17 15:30:41 +00:00
NO11
d46a96c43a Merge branch 'master' into buckets+ 2022-02-17 14:48:07 +00:00
NO11
3cfcd1355f Add missing dependency 2022-02-17 14:42:01 +00:00
NO11
4707cd4526 Correct bucket behavior 2022-02-17 14:36:48 +00:00
NO11
ad99746d99 Add get_pointed_thing function 2022-02-17 14:35:51 +00:00
cora
cabf6e8cd1 Merge pull request 'Fix mob-in-boat crash in Minetest 5.5-dev' (#2000) from fix-boat-crash-2 into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2000
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-02-15 12:00:03 +00:00
Nils Dagsson Moskopp
adf738854a
Fix mob-in-boat crash in Minetest 5.5-dev
In Minetest 5.4.1, calling get_player_control() on a mob returned the
empty string. Minetest commit 5eb45e1ea03c6104f007efec6dd9c351f310193d
changed this, so now calling get_player_control() on a mob returns nil.

As mcl_boats defines boats that can have a player or a mob as a driver,
code like the following crashes with a changed get_player_control() API:

local ctrl = driver:get_player_control()
if ctrl.sneak then
    detach_object(driver, true)
end

Furthermore, once a world has crashed, joining it near a mob that is the
driver of a boat with such control code immediately crashes again.

When I reported this bug to Minetest, several Minetest core developers
stated that they disliked the old API and proposed other return values
for calling a mob's get_player_control() function – all different from
the empty string. Since I have some doubts that this bug will be fixed
in Minetest 5.5.0, boat code must take into account a nil return value.

Minetest issue: https://github.com/minetest/minetest/issues/11989
2022-02-15 11:17:01 +01:00
cora
87427cb8af Merge pull request 'mcl_armor documentation' (#1917) from AFCMS/MineClone2:armor-doc into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1917
2022-02-13 20:49:37 +00:00
AFCMS
da4952a125
wip mcl_damage documentation 2022-02-13 21:31:04 +01:00
AFCMS
c59bea211d
fix some typos 2022-02-13 21:31:03 +01:00
AFCMS
5aa18d573e
document mcl_armor function (WIP) 2022-02-13 21:31:03 +01:00
AFCMS
13f8fd457c
document manual armor creation 2022-02-13 21:31:03 +01:00
AFCMS
2b820d7756
mcl_armor.register_set() documentation 2022-02-13 21:31:02 +01:00
cora
f803a25aea Merge pull request 'Fix bug when applying another enchantment to a renamed item' (#1989) from fix-1922 into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1989
2022-02-12 20:37:48 +00:00
Elias Åström
4ca89cfcae Update groupcaps_hash function to minetest.sha1 2022-02-12 20:08:03 +01:00
Elias Åström
a6c5c8a72a Call update_groupcaps from load_enchantments
This avoids the need to call the function from on_enchant for unbreaking
and efficiency.
2022-02-12 19:43:01 +01:00
Elias Åström
d898b02c8b Fix #1922 2022-02-12 19:43:01 +01:00
NO11
f3c814bf8f Merge pull request 'Add lanterns and chains' (#1983) from AFCMS/MineClone2:lanterns into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1983
2022-02-11 13:28:55 +00:00
AFCMS
2690094a95 allow placement of lanterns on chains 2022-02-10 11:45:08 +01:00
AFCMS
23873f31f1 add french translation of mcl_lanterns 2022-02-09 22:19:24 +01:00
AFCMS
749d4f1a4b add lanterns translation template 2022-02-09 22:15:44 +01:00
AFCMS
8817d51d64 minecraft like lanterns placement limitations 2022-02-09 22:11:50 +01:00