From 76b86c036876faabe49e274e9ada4fb9d8bd6aea Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Tue, 19 Mar 2013 16:46:26 +0100 Subject: Add a delay to nodeupdate() --- builtin/falling.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'builtin') diff --git a/builtin/falling.lua b/builtin/falling.lua index 1c09f9856..5ae51e763 100644 --- a/builtin/falling.lua +++ b/builtin/falling.lua @@ -170,12 +170,14 @@ function nodeupdate(p) p.x = math.floor(p.x+0.5) p.y = math.floor(p.y+0.5) p.z = math.floor(p.z+0.5) + nodeupdate_single(p) for x = -1,1 do for y = -1,1 do for z = -1,1 do - p2 = {x=p.x+x, y=p.y+y, z=p.z+z} - nodeupdate_single(p2) + if not (x==0 and y==0 and z==0) then + minetest.after(0.1, nodeupdate_single, {x=p.x+x, y=p.y+y, z=p.z+z}) + end end end end -- cgit v1.2.3 From 2fb0e547a01a6e61b821737e61315bad3312e41e Mon Sep 17 00:00:00 2001 From: Diego Martínez Date: Fri, 5 Apr 2013 02:51:31 -0300 Subject: Use the nodebox as selection box if it's not set manually --- builtin/misc_register.lua | 4 ++++ doc/lua_api.txt | 1 + 2 files changed, 5 insertions(+) (limited to 'builtin') diff --git a/builtin/misc_register.lua b/builtin/misc_register.lua index f9c06a02a..d1e28fdab 100644 --- a/builtin/misc_register.lua +++ b/builtin/misc_register.lua @@ -103,6 +103,10 @@ function minetest.register_item(name, itemdef) -- Apply defaults and add to registered_* table if itemdef.type == "node" then + -- Use the nodebox as selection box if it's not set manually + if itemdef.drawtype == "nodebox" and not itemdef.selection_box then + itemdef.selection_box = itemdef.node_box + end setmetatable(itemdef, {__index = minetest.nodedef_default}) minetest.registered_nodes[itemdef.name] = itemdef elseif itemdef.type == "craft" then diff --git a/doc/lua_api.txt b/doc/lua_api.txt index a61ffce64..de73ecd3f 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -1589,6 +1589,7 @@ Node definition (register_node) damage_per_second = 0, -- If player is inside node, this damage is caused node_box = {type="regular"}, -- See "Node boxes" selection_box = {type="regular"}, -- See "Node boxes" + ^ If drawtype "nodebox" is used and selection_box is nil, then node_box is used legacy_facedir_simple = false, -- Support maps made in and before January 2012 legacy_wallmounted = false, -- Support maps made in and before January 2012 sounds = { -- cgit v1.2.3 From 1bae82e6c4ee6242dee0f87aa2f2575331861770 Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Wed, 27 Mar 2013 21:37:09 -0400 Subject: Add private messaging with /msg --- builtin/chatcommands.lua | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'builtin') diff --git a/builtin/chatcommands.lua b/builtin/chatcommands.lua index 4b09f7b2b..9f14749f4 100644 --- a/builtin/chatcommands.lua +++ b/builtin/chatcommands.lua @@ -665,3 +665,23 @@ minetest.register_chatcommand("clearobjects", { minetest.chat_send_all("*** Cleared all objects.") end, }) + +minetest.register_chatcommand("msg", { + params = " ", + description = "Send a private message", + privs = {shout=true}, + func = function(name, param) + local found, _, sendto, message = param:find("^([^%s]+)%s(.+)$") + if found then + if minetest.env:get_player_by_name(sendto) then + minetest.log("action", "PM from "..name.." to "..sendto..": "..message) + minetest.chat_send_player(sendto, "PM from "..name..": "..message) + minetest.chat_send_player(name, "Message sent") + else + minetest.chat_send_player(name, "The player "..sendto.." is not online") + end + else + minetest.chat_send_player(name, "Invalid usage, see /help msg") + end + end, +}) -- cgit v1.2.3 From 1586cdac53935cd4735162ad8337c269f0dfa718 Mon Sep 17 00:00:00 2001 From: khonkhortisan Date: Tue, 19 Mar 2013 11:05:32 -0700 Subject: unkn own block -> unkn own node --- builtin/misc_register.lua | 8 ++++---- games/minimal/mods/experimental/init.lua | 4 ++-- src/content_cao.cpp | 6 +++--- src/game.cpp | 2 +- src/nodedef.cpp | 2 +- textures/base/pack/unknown_block.png | Bin 582 -> 0 bytes textures/base/pack/unknown_node.png | Bin 0 -> 608 bytes 7 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 textures/base/pack/unknown_block.png create mode 100644 textures/base/pack/unknown_node.png (limited to 'builtin') diff --git a/builtin/misc_register.lua b/builtin/misc_register.lua index d1e28fdab..4041fb9e2 100644 --- a/builtin/misc_register.lua +++ b/builtin/misc_register.lua @@ -253,8 +253,8 @@ minetest.register_item(":unknown", { minetest.register_node(":air", { description = "Air (you hacker you!)", - inventory_image = "unknown_block.png", - wield_image = "unknown_block.png", + inventory_image = "unknown_node.png", + wield_image = "unknown_node.png", drawtype = "airlike", paramtype = "light", sunlight_propagates = true, @@ -269,8 +269,8 @@ minetest.register_node(":air", { minetest.register_node(":ignore", { description = "Ignore (you hacker you!)", - inventory_image = "unknown_block.png", - wield_image = "unknown_block.png", + inventory_image = "unknown_node.png", + wield_image = "unknown_node.png", drawtype = "airlike", paramtype = "none", sunlight_propagates = false, diff --git a/games/minimal/mods/experimental/init.lua b/games/minimal/mods/experimental/init.lua index 2edfd0f67..6fce9698a 100644 --- a/games/minimal/mods/experimental/init.lua +++ b/games/minimal/mods/experimental/init.lua @@ -28,10 +28,10 @@ minetest.after(1.0, switch_player_visual) ]] minetest.register_node("experimental:soundblock", { - tile_images = {"unknown_block.png", "default_tnt_bottom.png", + tile_images = {"unknown_node.png", "default_tnt_bottom.png", "default_tnt_side.png", "default_tnt_side.png", "default_tnt_side.png", "default_tnt_side.png"}, - inventory_image = minetest.inventorycube("unknown_block.png", + inventory_image = minetest.inventorycube("unknown_node.png", "default_tnt_side.png", "default_tnt_side.png"), groups = {dig_immediate=3}, }) diff --git a/src/content_cao.cpp b/src/content_cao.cpp index 8bec67c8c..9738dc34c 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -864,7 +864,7 @@ public: m_spritenode = smgr->addBillboardSceneNode( NULL, v2f(1, 1), v3f(0,0,0), -1); m_spritenode->setMaterialTexture(0, - tsrc->getTextureRaw("unknown_block.png")); + tsrc->getTextureRaw("unknown_node.png")); m_spritenode->setMaterialFlag(video::EMF_LIGHTING, false); m_spritenode->setMaterialFlag(video::EMF_BILINEAR_FILTER, false); m_spritenode->setMaterialType(video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF); @@ -1268,7 +1268,7 @@ public: { if(m_prop.visual == "sprite") { - std::string texturestring = "unknown_block.png"; + std::string texturestring = "unknown_node.png"; if(m_prop.textures.size() >= 1) texturestring = m_prop.textures[0]; texturestring += mod; @@ -1334,7 +1334,7 @@ public: { for (u32 i = 0; i < 6; ++i) { - std::string texturestring = "unknown_block.png"; + std::string texturestring = "unknown_node.png"; if(m_prop.textures.size() > i) texturestring = m_prop.textures[i]; texturestring += mod; diff --git a/src/game.cpp b/src/game.cpp index 5e4e06148..65feb50bf 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2388,7 +2388,7 @@ void the_game( infotext = narrow_to_wide(meta->getString("infotext")); } else { MapNode n = map.getNode(nodepos); - if(nodedef->get(n).tiledef[0].name == "unknown_block.png"){ + if(nodedef->get(n).tiledef[0].name == "unknown_node.png"){ infotext = L"Unknown node: "; infotext += narrow_to_wide(nodedef->get(n).name); } diff --git a/src/nodedef.cpp b/src/nodedef.cpp index ca8898907..e2b72333f 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -593,7 +593,7 @@ public: { tiledef[j] = f->tiledef[j]; if(tiledef[j].name == "") - tiledef[j].name = "unknown_block.png"; + tiledef[j].name = "unknown_node.png"; } bool is_liquid = false; diff --git a/textures/base/pack/unknown_block.png b/textures/base/pack/unknown_block.png deleted file mode 100644 index a27cb8ca9..000000000 Binary files a/textures/base/pack/unknown_block.png and /dev/null differ diff --git a/textures/base/pack/unknown_node.png b/textures/base/pack/unknown_node.png new file mode 100644 index 000000000..9cae26d5c Binary files /dev/null and b/textures/base/pack/unknown_node.png differ -- cgit v1.2.3 From 97f0bb03423b6d2e22058166b677e568c53d7567 Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Fri, 5 Apr 2013 22:33:11 +0200 Subject: Only enqueue falling nodes if they really want to fall --- builtin/falling.lua | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'builtin') diff --git a/builtin/falling.lua b/builtin/falling.lua index 5ae51e763..f6491991b 100644 --- a/builtin/falling.lua +++ b/builtin/falling.lua @@ -142,7 +142,7 @@ end -- Some common functions -- -function nodeupdate_single(p) +function nodeupdate_single(p, delay) n = minetest.env:get_node(p) if minetest.get_node_group(n.name, "falling_node") ~= 0 then p_bottom = {x=p.x, y=p.y-1, z=p.z} @@ -151,9 +151,13 @@ function nodeupdate_single(p) if minetest.registered_nodes[n_bottom.name] and (not minetest.registered_nodes[n_bottom.name].walkable or minetest.registered_nodes[n_bottom.name].buildable_to) then - minetest.env:remove_node(p) - spawn_falling_node(p, n.name) - nodeupdate(p) + if delay then + minetest.after(0.1, nodeupdate_single, {x=p.x, y=p.y, z=p.z}, false) + else + minetest.env:remove_node(p) + spawn_falling_node(p, n.name) + nodeupdate(p) + end end end @@ -170,14 +174,11 @@ function nodeupdate(p) p.x = math.floor(p.x+0.5) p.y = math.floor(p.y+0.5) p.z = math.floor(p.z+0.5) - nodeupdate_single(p) for x = -1,1 do for y = -1,1 do for z = -1,1 do - if not (x==0 and y==0 and z==0) then - minetest.after(0.1, nodeupdate_single, {x=p.x+x, y=p.y+y, z=p.z+z}) - end + nodeupdate_single({x=p.x+x, y=p.y+y, z=p.z+z}, not (x==0 and y==0 and z==0)) end end end -- cgit v1.2.3