diff --git a/mods/README.md b/mods/README.md index 8fd3fdb..d4a8221 100644 --- a/mods/README.md +++ b/mods/README.md @@ -8,7 +8,7 @@ For information check [../README.md](../README.md) | mod name | origin or work | version | info | | ------------------ | --------------------------------------------------- | -------- | --- | | api | https://codeberg.org/minenux/minetest-game-minetest | https://codeberg.org/minenux/minetest-game-minetest/commit/eb64ff94f82d726e4a55b20fa7ce30e4a7470cc5 | [api](../game_api.md) | -| beds | https://codeberg.org/minenux/minetest-mod-beds | https://codeberg.org/minenux/minetest-mod-beds/commit/7b6fae96d5e273dad9a373e63eb958145c9bfbef | [beds/README.md](beds/README.md) | +| beds | https://codeberg.org/minenux/minetest-mod-beds | https://codeberg.org/minenux/minetest-mod-beds/commit/a1aac5940c88106b901c00409d7dac942720dd5b | [beds/README.md](beds/README.md) | | boats | https://codeberg.org/minenux/minetest-mod-boats | https://codeberg.org/minenux/minetest-mod-boats/commit/3832de08f705d5d2e7b5a971760e5fad1653305f | [boats/README.md](boats/README.md) | | bucket | https://codeberg.org/minenux/minetest-mod-bucket.git | https://codeberg.org/minenux/minetest-mod-bucket/commit/1d9f32295aba3ef2a86be302050f34c1766e93d5 | [bucket/README.md](bucket/README.md) | | butterflies | https://codeberg.org/minenux/minetest-mod-bucket.git | https://codeberg.org/minenux/minetest-mod-bucket/commit/1d9f32295aba3ef2a86be302050f34c1766e93d5 | [bucket/README.md](bucket/README.md) | diff --git a/mods/beds/Changelog.txt b/mods/beds/Changelog.txt index c9d005c..b05364f 100644 --- a/mods/beds/Changelog.txt +++ b/mods/beds/Changelog.txt @@ -1,3 +1,10 @@ +NEXT +---- + +- add more beds as fuel, add mini-game respawn flag. +- add new white simple bed, change red bed recipes to use red wool, add my own screenshot +- older engine detection and intlib + 1.0.1 beta ---------- - Add backwards compatibility with PilzAdam's beds mod diff --git a/mods/beds/README.md b/mods/beds/README.md index 64f0790..f67988e 100644 --- a/mods/beds/README.md +++ b/mods/beds/README.md @@ -6,37 +6,37 @@ This mod improves beds which allows sleep, featured to (auto) skip the night. Information ----------- -This mod is named `beds` to sleep, by rightclick the bed. It featured -in singleplayer mode that the night gets skipped immediately. If playing -in multiplayer you get shown how many other players are in bed too, -if all players are sleeping the night gets skipped. +This mod is named `beds` to sleep, by rightclick the bed. It featured +in singleplayer mode that the night gets skipped immediately. If playing +in multiplayer you get shown how many other players are in bed too, +if all players are sleeping the night gets skipped. ![screenshot.jpg](screenshot.jpg) Tech information ---------------- -This mod sustitute default one, you must disable the default of minetest +This mod sustitute default one, you must disable the default of minetest game if present or override it. #### Features -* Night Skypping: +* Night Skypping: This mod auto featured night skip in singleplayer, in multiplayer it skipped -if more than a set percentage (default 50%) of the players are lying +if more than a set percentage (default 50%) of the players are lying in bed and use this option. Check configuration section for more info. -* Controlled respawning: +* Controlled respawning: -If you have slept in bed (not just lying in it) your respawn point +If you have slept in bed (not just lying in it) your respawn point is set to the beds location and you will respawn there after death. Check configuration section for more info. * More beds: -It features two more beds, the "Blue Simple Bed" like the "Simple Bed" -but in blue, and the "Pink Fancy Bed" like the "Fancy Bed" but in pink. +It features more beds, so along with the Red simple bed we now have White and +Blue, and the fance beds has the original Red and now Pink. #### Dependencies @@ -48,13 +48,13 @@ Optional dependences: * intllib (only for older engines) * pova (optional) -The pova mod are not xplicit set as optional depends, due the circular depends bug, +The pova mod are not xplicit set as optional depends, due the circular depends bug, its detected and used. #### Configuration | Configuration | type | default | place file | Notes about | -| --------------------- | ----- | ------- | ------------ | ----------------------------------------- | +| --------------------- | ----- | ------- | ------------ | ----------------------------------------- | | enable_bed_respawn | bool | true | minetest.conf | Enable respawn point set to last sleep bed | | enable_bed_night_skip | bool | false | minetest.conf | You can disable the night skip feature | | bed_sleep_divide | int | 2 | minetest.conf | Division of players needed to skip night | @@ -77,6 +77,14 @@ Crafting are same as original default mod, but colored uses a white plus the oth | beds:bed_top_red | beds:bed_top | | beds:bed_bottom_red | beds:bed_bottom | +#### Mini-Game Support + +If enable_bed_respawn is set to true and a player dies when playing a mini-game then this +can interrupt the game, so a special beds.respawn[player_name] flag has been added which +is set to 'true' by default to always respawn player at their bed, but can be set to +'false' during a mini-game to stop this behaviour. + + License ------ diff --git a/mods/beds/beds.lua b/mods/beds/beds.lua index f544839..323e068 100644 --- a/mods/beds/beds.lua +++ b/mods/beds/beds.lua @@ -3,7 +3,7 @@ local S = beds.get_translator -- Fancy shaped bed beds.register_bed("beds:fancy_bed", { - description = S("Fancy Bed"), + description = S("Red Fancy Bed"), inventory_image = "beds_bed_fancy.png", wield_image = "beds_bed_fancy.png", tiles = {"beds_fancy_bed.png", "default_wood.png"}, @@ -12,7 +12,7 @@ beds.register_bed("beds:fancy_bed", { collisionbox = {-0.5, -0.5, -0.5, 0.5, -0.06, 1.5}, recipe = { {"", "", "group:stick"}, - {"wool:white", "wool:white", "wool:white"}, + {"wool:red", "wool:red", "wool:white"}, {"group:wood", "group:wood", "group:wood"} } }) @@ -34,8 +34,22 @@ beds.register_bed("beds:fancy_bed_pink", { -- Simple shaped bed +beds.register_bed("beds:bed_white", { + description = S("White Simple Bed"), + inventory_image = "beds_bed_white.png", + wield_image = "beds_bed_white.png", + tiles = {"beds_simple_bed_white.png"}, + mesh = "beds_simple_bed.obj", + selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + recipe = { + {"wool:white", "wool:white", "wool:white"}, + {"group:wood", "group:wood", "group:wood"} + } +}) + beds.register_bed("beds:bed", { - description = S("Simple Bed"), + description = S("Red Simple Bed"), inventory_image = "beds_bed.png", wield_image = "beds_bed.png", tiles = {"beds_simple_bed.png"}, @@ -43,7 +57,7 @@ beds.register_bed("beds:bed", { selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, recipe = { - {"wool:white", "wool:white", "wool:white"}, + {"wool:red", "wool:red", "wool:white"}, {"group:wood", "group:wood", "group:wood"} } }) @@ -75,8 +89,26 @@ minetest.register_craft({ burntime = 13 }) +minetest.register_craft({ + type = "fuel", + recipe = "beds:fancy_bed_pink", + burntime = 13 +}) + minetest.register_craft({ type = "fuel", recipe = "beds:bed", burntime = 12 }) + +minetest.register_craft({ + type = "fuel", + recipe = "beds:bed_blue", + burntime = 12 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "beds:bed_white", + burntime = 12 +}) diff --git a/mods/beds/functions.lua b/mods/beds/functions.lua index 6e21bfc..543e392 100644 --- a/mods/beds/functions.lua +++ b/mods/beds/functions.lua @@ -319,6 +319,15 @@ end -- Only register respawn callback if respawn enabled if enable_respawn then + -- set respawn flag to true by default + minetest.register_on_joinplayer(function(player) + + if not player then return end + + local name = player:get_player_name() + beds.respawn[name] = true + end) + -- respawn player at bed if enabled and valid position is found minetest.register_on_respawnplayer(function(player) @@ -327,7 +336,8 @@ if enable_respawn then local name = player:get_player_name() local pos = beds.spawn[name] - if pos then + -- check if respawn flag is true (for mini-game support, can be set to false) + if pos and beds.respawn[name] then player:set_pos(pos) return true end diff --git a/mods/beds/init.lua b/mods/beds/init.lua index 41a64e3..97d86f1 100644 --- a/mods/beds/init.lua +++ b/mods/beds/init.lua @@ -27,10 +27,12 @@ else end beds = { + mod = "redo", player = {}, bed_position = {}, pos = {}, spawn = {}, + respawn = {}, get_translator = S, formspec = "size[8,11;true]" .. "no_prepend[]" diff --git a/mods/beds/license.txt b/mods/beds/license.txt index f3c517f..bc6053b 100644 --- a/mods/beds/license.txt +++ b/mods/beds/license.txt @@ -59,3 +59,7 @@ rights may limit how you use the material. For more details: http://creativecommons.org/licenses/by-sa/3.0/ + + +WTFPL license applies to bed .obj files by jp from mesh beds mod: +https://forum.minetest.net/viewtopic.php?t=11817 diff --git a/mods/beds/screenshot.jpg b/mods/beds/screenshot.jpg index a523878..fb972df 100644 Binary files a/mods/beds/screenshot.jpg and b/mods/beds/screenshot.jpg differ diff --git a/mods/beds/spawns.lua b/mods/beds/spawns.lua index dc8ae78..3764563 100644 --- a/mods/beds/spawns.lua +++ b/mods/beds/spawns.lua @@ -50,6 +50,7 @@ function beds.read_spawns() end +-- load player spawn positions beds.read_spawns() diff --git a/mods/beds/textures/beds_bed_white.png b/mods/beds/textures/beds_bed_white.png new file mode 100644 index 0000000..b57c8ac Binary files /dev/null and b/mods/beds/textures/beds_bed_white.png differ diff --git a/mods/beds/textures/beds_simple_bed_white.png b/mods/beds/textures/beds_simple_bed_white.png new file mode 100644 index 0000000..552c802 Binary files /dev/null and b/mods/beds/textures/beds_simple_bed_white.png differ diff --git a/mods/boats/init.lua b/mods/boats/init.lua index 0129646..622d707 100644 --- a/mods/boats/init.lua +++ b/mods/boats/init.lua @@ -25,7 +25,7 @@ else end end -- check for minetest 5.x compatibility -is_53 = minetest.has_feature("direct_velocity_on_players") or minetest.has_feature("is_creative_enabled") of false +is_53 = minetest.has_feature("direct_velocity_on_players") or minetest.has_feature("is_creative_enabled") or false -- -- Helper functions