Erinfest/mods/ITEMS/mcl_mobspawners
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 a620d24ec8 Fix a number of crashes involving unknown nodes, also fix fishbuckets on_place (#3914)
Fixes: #3913 #3915

~~You can reproduce the crash by placing a fish bucket on top snow above an unknown node.

I also noticed that the code always uses pointed_thing.above so I fixed that and also added a function to mcl_utils to figure out where a node should be placed (either above or below). Looks like the rest of the code could also use improvement but at least it does not crash now.~~

Cora fixed a bunch of related crashes in Mineclona so I am replacing my commit and cherry picking all her commits here.
https://codeberg.org/mineclonia/mineclonia/pulls/549

Here is the list of fixes from that PR:
- Crash when placing snow layer on unknown nodes
- Crash when snow layers on unknown nodes are flooded
- Crash when placing fishbucket on snow on top of unknown nodes
- Crash when placing chorus flower and stem on unknown
- Crash when placing mob spawners on unknown
- The fishbucket on place to actually replace buildable_to

Co-authored-by: cora <coradelamouche@gmx.ch>
Reviewed-on: MineClone2/MineClone2#3914
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
Co-authored-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
Co-committed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2023-09-29 18:47:07 +00:00
..
locale Update Russian translation. Fix 1. 2023-09-02 15:51:49 +08:00
README.md Rename "Monster Spawner" to "Mob Spawner" 2018-01-07 16:58:44 +01:00
init.lua Fix a number of crashes involving unknown nodes, also fix fishbuckets on_place (#3914) 2023-09-29 18:47:07 +00:00
mod.conf Move data from deprecated files to mod.conf 2021-03-18 17:37:12 +01:00

README.md

This mod adds a mob spawner for MineClone 2. Monsters will appear around the mob spawner in semi-regular intervals.

This mod is originally based on the mob spawner from Mobs Redo by TenPlus1 but has been modified quite a lot to fit the needs of MineClone 2.

Players can get a mob spawner by giveme and is initially empty after placing.

Programmer notes

To set the mob spawned by a mob spawner, first place the mob spawner (e.g. with minetest.set_node), then use the function mcl_mobspawners.setup_spawner to set its attributes. See the comment in init.lua for more info.

License (code and texture)

MIT License