From f77f058fd0a7e82343a0436dd22d5093583e29d2 Mon Sep 17 00:00:00 2001 From: Fernando Zapata Date: Tue, 31 Jan 2012 20:46:02 -0700 Subject: [PATCH 1/2] Works with new minetest --- gemstones/init.lua | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gemstones/init.lua b/gemstones/init.lua index bf73537..80875b5 100644 --- a/gemstones/init.lua +++ b/gemstones/init.lua @@ -24,7 +24,7 @@ register_gem = function( gemtype, rarity, basetime, durability, toolrules ) -- Gems/lumps -- gemname = "gemstones:gem_" .. gemtype gemtex = "gemstones_gem_" .. gemtype .. ".png" - craftname = 'craft "' .. gemname .. '"' + craftname = gemname -- Solid block -- blockname = "gemstones:block_" .. gemtype @@ -43,16 +43,15 @@ register_gem = function( gemtype, rarity, basetime, durability, toolrules ) inventory_image = minetest.inventorycube( mineraltex ), is_ground_content = true, material = minetest.digprop_stonelike(1.0), - dug_item = craftname .. ' 1', - extra_dug_item = craftname .. ' 1', - extra_dug_item_rarity = 20, + drop = craftname .. ' 1', + } ) -- Solid block -- minetest.register_node( blockname, { --drawtype = "glasslike", tile_images = { blocktex }, - inventory_image = minetest.inventorycube( blocktex ), + inventory_image = blocktex, --alpha = 200, is_ground_content = true, material = minetest.digprop_glasslike(3.0), @@ -63,7 +62,7 @@ register_gem = function( gemtype, rarity, basetime, durability, toolrules ) -- Crafting blocks -- minetest.register_craft( { - output = 'node "' .. blockname .. '" 1', + output = blockname .. ' 1', recipe = { { craftname,craftname,craftname }, { craftname,craftname,craftname }, @@ -74,7 +73,7 @@ register_gem = function( gemtype, rarity, basetime, durability, toolrules ) minetest.register_craft( { output = craftname .. ' 9', recipe = { - { 'node "' .. blockname .. '"' }, + { blockname .. '"' }, }, } ) end @@ -139,4 +138,4 @@ register_gem( "sapphire", 5, 1.2, 500, { sword_time = 1 } ) ---- Was loaded? --------------------------------------------------------------- -- Just to be sure, may remove if you like. -print( "Loaded: Gemstones, by ZLovesPancakes" ) +print( " ++ loaded : Gemstones, by ZLovesPancakes" ) From e0f90e19245dd2d8e3ef266119e199a93c721fb9 Mon Sep 17 00:00:00 2001 From: Fernando Zapata Date: Tue, 31 Jan 2012 21:36:38 -0700 Subject: [PATCH 2/2] added minecraty door to the tree --- zlpdoors/depends.txt | 1 + zlpdoors/init.lua | 211 ++++++++++++++++++++++++++++ zlpdoors/textures/door_door.png | Bin 0 -> 166 bytes zlpdoors/textures/door_door_a.png | Bin 0 -> 245 bytes zlpdoors/textures/door_door_a_r.png | Bin 0 -> 249 bytes zlpdoors/textures/door_door_b.png | Bin 0 -> 216 bytes zlpdoors/textures/door_door_b_r.png | Bin 0 -> 216 bytes 7 files changed, 212 insertions(+) create mode 100644 zlpdoors/depends.txt create mode 100644 zlpdoors/init.lua create mode 100644 zlpdoors/textures/door_door.png create mode 100644 zlpdoors/textures/door_door_a.png create mode 100644 zlpdoors/textures/door_door_a_r.png create mode 100644 zlpdoors/textures/door_door_b.png create mode 100644 zlpdoors/textures/door_door_b_r.png diff --git a/zlpdoors/depends.txt b/zlpdoors/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/zlpdoors/depends.txt @@ -0,0 +1 @@ +default diff --git a/zlpdoors/init.lua b/zlpdoors/init.lua new file mode 100644 index 0000000..952e344 --- /dev/null +++ b/zlpdoors/init.lua @@ -0,0 +1,211 @@ +-------------------------------------------------------------------------------- +-- Doors +-------------------------------------------------------------------------------- +-- This mod adds 'minecraftlike' doors to the game +-- +-- (c) 2011 Fernando Zapata +-- Code licensed under GNU GPLv3 +-- Content licensed under CC BY-SA 3.0 +-- +-- 2012-01-08 11:03:57 +-------------------------------------------------------------------------------- + +local WALLMX = 3 +local WALLMZ = 5 +local WALLPX = 2 +local WALLPZ = 4 + +-------------------------------------------------------------------------------- + +minetest.register_node( 'zlpdoors:door', { + description = 'Door', + drawtype = 'signlike', + tile_images = { 'door_door.png' }, + inventory_image = 'door_door.png', + wield_image = 'door_door.png', + paramtype2 = 'wallmounted', + selection_box = { type = 'wallmounted' }, + material = minetest.digprop_constanttime(1.0), +}) + +minetest.register_craft( { + output = 'zlpdoors:door', + recipe = { + { 'default:wood', 'default:wood' }, + { 'default:wood', 'default:wood' }, + { 'default:wood', 'default:wood' }, + }, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'zlpdoors:door', + burntime = 30, +}) + +minetest.register_node( 'zlpdoors:door_a_c', { + Description = 'Top Closed Door', + drawtype = 'signlike', + tile_images = { 'door_door_a.png' }, + inventory_image = 'door_door_a.png', + paramtype = 'light', + paramtype2 = 'wallmounted', + walkable = true, + selection_box = { type = "wallmounted", }, + material = minetest.digprop_constanttime(1.0), + legacy_wallmounted = true, + drop = 'zlpdoors:door', +}) + +minetest.register_node( 'zlpdoors:door_b_c', { + Description = 'Bottom Closed Door', + drawtype = 'signlike', + tile_images = { 'door_door_b.png' }, + inventory_image = 'door_door_b.png', + paramtype = 'light', + paramtype2 = 'wallmounted', + walkable = true, + selection_box = { type = "wallmounted", }, + material = minetest.digprop_constanttime(1.0), + legacy_wallmounted = true, + drop = 'zlpdoors:door', +}) + +minetest.register_node( 'zlpdoors:door_a_o', { + Description = 'Top Open Door', + drawtype = 'signlike', + tile_images = { 'door_door_a_r.png' }, + inventory_image = 'door_door_a_r.png', + paramtype = 'light', + paramtype2 = 'wallmounted', + walkable = false, + selection_box = { type = "wallmounted", }, + material = minetest.digprop_constanttime(1.0), + legacy_wallmounted = true, + drop = 'zlpdoors:door', +}) + +minetest.register_node( 'zlpdoors:door_b_o', { + Description = 'Bottom Open Door', + drawtype = 'signlike', + tile_images = { 'door_door_b_r.png' }, + inventory_image = 'door_door_b_r.png', + paramtype = 'light', + paramtype2 = 'wallmounted', + walkable = false, + selection_box = { type = "wallmounted", }, + material = minetest.digprop_constanttime(1.0), + legacy_wallmounted = true, + drop = 'zlpdoors:door', +}) + +-------------------------------------------------------------------------------- + +local round = function( n ) + if n >= 0 then + return math.floor( n + 0.5 ) + else + return math.ceil( n - 0.5 ) + end +end + +local on_door_placed = function( pos, node, placer ) + if node.name ~= 'zlpdoors:door' then return end + + upos = { x = pos.x, y = pos.y - 1, z = pos.z } + apos = { x = pos.x, y = pos.y + 1, z = pos.z } + und = minetest.env:get_node( upos ) + abv = minetest.env:get_node( apos ) + + dir = placer:get_look_dir() + + if round( dir.x ) == 1 then + newparam = WALLPX + elseif round( dir.x ) == -1 then + newparam = WALLMX + elseif round( dir.z ) == 1 then + newparam = WALLPZ + elseif round( dir.z ) == -1 then + newparam = WALLMZ + end + + if und.name == 'air' then + minetest.env:add_node( pos, { name = 'zlpdoors:door_a_c', param2 = newparam } ) + minetest.env:add_node( upos, { name = 'zlpdoors:door_b_c', param2 = newparam } ) + elseif abv.name == 'air' then + minetest.env:add_node( pos, { name = 'zlpdoors:door_b_c', param2 = newparam } ) + minetest.env:add_node( apos, { name = 'zlpdoors:door_a_c', param2 = newparam } ) + else + minetest.env:remove_node( pos ) + placer:get_inventory():add_item( "main", 'zlpdoors:door' ) + minetest.chat_send_player( placer:get_player_name(), 'not enough space' ) + end +end + +local on_door_punched = function( pos, node, puncher ) + if string.find( node.name, 'zlpdoors:door' ) == nil then return end + + upos = { x = pos.x, y = pos.y - 1, z = pos.z } + apos = { x = pos.x, y = pos.y + 1, z = pos.z } + + if string.find( node.name, '_c', -2 ) ~= nil then + if node.param2 == WALLPX then + newparam = WALLMZ + elseif node.param2 == WALLMZ then + newparam = WALLMX + elseif node.param2 == WALLMX then + newparam = WALLPZ + elseif node.param2 == WALLPZ then + newparam = WALLPX + end + elseif string.find( node.name, '_o', -2 ) ~= nil then + if node.param2 == WALLMZ then + newparam = WALLPX + elseif node.param2 == WALLMX then + newparam = WALLMZ + elseif node.param2 == WALLPZ then + newparam = WALLMX + elseif node.param2 == WALLPX then + newparam = WALLPZ + end + end + + if ( node.name == 'zlpdoors:door_a_c' ) then + minetest.env:add_node( pos, { name = 'zlpdoors:door_a_o', param2 = newparam } ) + minetest.env:add_node( upos, { name = 'zlpdoors:door_b_o', param2 = newparam } ) + + elseif ( node.name == 'zlpdoors:door_b_c' ) then + minetest.env:add_node( pos, { name = 'zlpdoors:door_b_o', param2 = newparam } ) + minetest.env:add_node( apos, { name = 'zlpdoors:door_a_o', param2 = newparam } ) + + elseif ( node.name == 'zlpdoors:door_a_o' ) then + minetest.env:add_node( pos, { name = 'zlpdoors:door_a_c', param2 = newparam } ) + minetest.env:add_node( upos, { name = 'zlpdoors:door_b_c', param2 = newparam } ) + + elseif ( node.name == 'zlpdoors:door_b_o' ) then + minetest.env:add_node( pos, { name = 'zlpdoors:door_b_c', param2 = newparam } ) + minetest.env:add_node( apos, { name = 'zlpdoors:door_a_c', param2 = newparam } ) + + end +end + +local on_door_digged = function( pos, node, digger ) + upos = { x = pos.x, y = pos.y - 1, z = pos.z } + apos = { x = pos.x, y = pos.y + 1, z = pos.z } + + if ( node.name == 'zlpdoors:door_a_c' ) or ( node.name == 'zlpdoors:door_a_o' ) then + minetest.env:remove_node( upos ) + elseif ( node.name == 'zlpdoors:door_b_c' ) or ( node.name == 'zlpdoors:door_b_o' ) then + minetest.env:remove_node( apos ) + end +end + +-------------------------------------------------------------------------------- + +minetest.register_on_placenode( on_door_placed ) +minetest.register_on_punchnode( on_door_punched ) +minetest.register_on_dignode( on_door_digged ) + +-------------------------------------------------------------------------------- + +print( ' ++ loaded : Doors by ZLovesPancakes' ) diff --git a/zlpdoors/textures/door_door.png b/zlpdoors/textures/door_door.png new file mode 100644 index 0000000000000000000000000000000000000000..120fc982f7aeb151b2c014678b205072b2b20907 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|5QL70(Y)*K0-AbW|YuPgf8JNEnGOxZE68JfWgz%&t;ucLK6U;(ox$0 literal 0 HcmV?d00001 diff --git a/zlpdoors/textures/door_door_a_r.png b/zlpdoors/textures/door_door_a_r.png new file mode 100644 index 0000000000000000000000000000000000000000..9315b75ad9fe9039ca407cbfc40ed4ec33ccd3b7 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf)~NowNM&_oXE`KAXVwWT~s5UPGhs_Wj06pS_uv{*&MLNpAIz z#oqm_dMHx`u@dw}(Or&=Cxtu6{1-oD!M<&(uQL70(Y)*K0-AbW|YuPgf^OLM`TEF?z;>R92T`0_Q>Tl$W;A>*WVAeJ-+#~800;~x yaJZTB@bT)LDD-S%tIQ1aI3v8YamEyOc7}sBqJ8paLODP?7(8A5T-G@yGywoZbUldx literal 0 HcmV?d00001 diff --git a/zlpdoors/textures/door_door_b_r.png b/zlpdoors/textures/door_door_b_r.png new file mode 100644 index 0000000000000000000000000000000000000000..9c53aa410599bb156bc5df9b25c42a2a72dc7809 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf