From d434624cd081479e78901b53ea9e6c8d7344c24d Mon Sep 17 00:00:00 2001 From: AiTechEye <40591179+AiTechEye@users.noreply.github.com> Date: Tue, 7 Aug 2018 21:16:37 +0200 Subject: [PATCH] Add files via upload --- description.txt | 1 + init.lua | 480 ++++++++++++++++++++++++++++++++ pchest.lua | 144 ++++++++++ project.lua | 82 ++++++ screenshot.png | Bin 0 -> 64382 bytes sounds/hook_hard_punch.ogg | Bin 0 -> 9468 bytes sounds/hook_throw.ogg | Bin 0 -> 10600 bytes textures/hook_extras_chest1.png | Bin 0 -> 210 bytes textures/hook_extras_chest2.png | Bin 0 -> 182 bytes textures/hook_extras_chest3.png | Bin 0 -> 238 bytes textures/hook_hook.png | Bin 0 -> 528 bytes textures/hook_hooking.png | Bin 0 -> 249 bytes textures/hook_hookup.png | Bin 0 -> 578 bytes textures/hook_mba.png | Bin 0 -> 260 bytes textures/hook_rope.png | Bin 0 -> 176 bytes textures/hook_rope2.png | Bin 0 -> 462 bytes textures/hook_rope_locked.png | Bin 0 -> 481 bytes textures/hook_slingshot.png | Bin 0 -> 544 bytes 18 files changed, 707 insertions(+) create mode 100644 description.txt create mode 100644 init.lua create mode 100644 pchest.lua create mode 100644 project.lua create mode 100644 screenshot.png create mode 100644 sounds/hook_hard_punch.ogg create mode 100644 sounds/hook_throw.ogg create mode 100644 textures/hook_extras_chest1.png create mode 100644 textures/hook_extras_chest2.png create mode 100644 textures/hook_extras_chest3.png create mode 100644 textures/hook_hook.png create mode 100644 textures/hook_hooking.png create mode 100644 textures/hook_hookup.png create mode 100644 textures/hook_mba.png create mode 100644 textures/hook_rope.png create mode 100644 textures/hook_rope2.png create mode 100644 textures/hook_rope_locked.png create mode 100644 textures/hook_slingshot.png diff --git a/description.txt b/description.txt new file mode 100644 index 0000000..19beabe --- /dev/null +++ b/description.txt @@ -0,0 +1 @@ +Survive & climbing tools \ No newline at end of file diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..37e32e4 --- /dev/null +++ b/init.lua @@ -0,0 +1,480 @@ +local hook_tmp_throw={} +local hook_tmp_throw_timer=0 +local hook_tmp_time= tonumber(minetest.settings:get("item_entity_ttl")) +hook={} +dofile(minetest.get_modpath("hook") .. "/project.lua") +dofile(minetest.get_modpath("hook") .. "/pchest.lua") +if hook_tmp_time=="" or hook_tmp_time==nil then + hook_tmp_time=890 +else + hook_tmp_time=hook_tmp_time-10 +end + +local function slingshot_onuse(itemstack, user) + local veloc=15 + local pos = user:getpos() + local upos={x=pos.x,y=pos.y+2,z=pos.z} + local dir = user:get_look_dir() + local item=itemstack:to_table() + local mode=minetest.deserialize(item["metadata"]) + if mode==nil then mode=1 else mode=mode.mode end + + local item=user:get_inventory():get_stack("main", user:get_wield_index()+mode):get_name() + if item=="" then return itemstack end + local e=minetest.add_item({x=pos.x,y=pos.y+2,z=pos.z},item) + e:setvelocity({x=dir.x*veloc, y=dir.y*veloc, z=dir.z*veloc}) + e:setacceleration({x=dir.x*-3, y=-5, z=dir.z*-3}) + e:get_luaentity().age=hook_tmp_time + table.insert(hook_tmp_throw,{ob=e,timer=2,user=user:get_player_name()}) + + if item=="hook:slingshot" then + itemstack:set_wear(9999999) + end + + user:get_inventory():remove_item("main", item) + minetest.sound_play("hook_throw", {pos=pos, gain = 1.0, max_hear_distance = 5,}) + return itemstack +end + + + +minetest.register_tool("hook:slingshot", { + description = "Slingshot", + range = 4, + inventory_image = "hook_slingshot.png", +on_use=function(itemstack, user, pointed_thing) + if pointed_thing.ref and pointed_thing.ref:is_player()==false and pointed_thing.ref:get_luaentity().name=="__builtin:item" then + pointed_thing.ref:punch(user, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil) + return itemstack + end + slingshot_onuse(itemstack, user) + return itemstack +end, +on_place=function(itemstack, user, pointed_thing) + local item=itemstack:to_table() + local meta=minetest.deserialize(item["metadata"]) + local mode=0 + if meta==nil then meta={} mode=1 end + if meta.mode==nil then meta.mode=1 end + mode=(meta.mode) + if mode==1 then + mode=-1 + minetest.chat_send_player(user:get_player_name(), "Use stack to left") + else + mode=1 + minetest.chat_send_player(user:get_player_name(), "Use stack to right ") + end + meta.mode=mode + item.metadata=minetest.serialize(meta) + item.meta=minetest.serialize(meta) + itemstack:replace(item) + return itemstack +end + +}) + +minetest.register_globalstep(function(dtime) + hook_tmp_throw_timer=hook_tmp_throw_timer+dtime + if hook_tmp_throw_timer<0.2 then return end + hook_tmp_throw_timer=0 + for i, t in pairs(hook_tmp_throw) do + t.timer=t.timer-0.25 + if t.timer<=0 or t.ob==nil or t.ob:getpos()==nil then table.remove(hook_tmp_throw,i) return end + for ii, ob in pairs(minetest.get_objects_inside_radius(t.ob:getpos(), 1.5)) do + if (not ob:get_luaentity()) or (ob:get_luaentity() and (ob:get_luaentity().name~="__builtin:item")) then + if (not ob:is_player()) or (ob:is_player() and ob:get_player_name(ob)~=t.user and minetest.setting_getbool("enable_pvp")==true) then + ob:set_hp(ob:get_hp()-5) + ob:punch(ob, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil) + t.ob:setvelocity({x=0, y=0, z=0}) + if ob:get_hp()<=0 and ob:is_player()==false then ob:remove() end + t.ob:setacceleration({x=0, y=-10,z=0}) + t.ob:setvelocity({x=0, y=-10, z=0}) + table.remove(hook_tmp_throw,i) + minetest.sound_play("hook_hard_punch", {pos=ob:getpos(), gain = 1.0, max_hear_distance = 5,}) + break + end + end + end + end +end) + +function is_hook(pos,name) + local nname=minetest.get_node(pos).name + if name==nil or minetest.is_protected(pos,name)==false then + + if nname=="air" or nname=="hook:rope" or + (nname=="hook:hooking" and minetest.get_meta(pos):get_int("a")==0) then + return true + end + end + return false + +end + +minetest.register_tool("hook:hook", { + description = "Hook with rope (hit a corner to climb)", + range = 2, + inventory_image = "hook_hook.png", + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type~="node" then return itemstack end + local d=minetest.dir_to_facedir(user:get_look_dir()) + local pos=pointed_thing.above + local pos2=pointed_thing.under + local name=user:get_player_name() + if minetest.registered_nodes[minetest.get_node(pos2).name].walkable and + minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name].walkable==false and + (minetest.registered_nodes[minetest.get_node({x=pos2.x,y=pos2.y+1,z=pos2.z}).name].walkable==false or minetest.get_node({x=pos2.x,y=pos2.y+1,z=pos2.z}).name=="default:snow") and + is_hook(pos,name) and + minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name].walkable==false then + if d==3 then d=1 + elseif d==1 then d=3 + elseif d==2 then d=0 + elseif d==0 then d=2 + end + if is_hook({x=pos.x,y=pos.y+1,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y+1,z=pos.z},{name = "hook:hooking",param2=d}) else return itemstack end + if is_hook(pos,name) then minetest.set_node(pos,{name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-1,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-1,z=pos.z}, {name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-2,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-2,z=pos.z}, {name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-3,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-3,z=pos.z}, {name = "hook:rope",param2=d}) end + end + return itemstack + end, +}) + +minetest.register_tool("hook:hook_upgrade", { + description = "Hook with rope (double)", + range = 5, + inventory_image = "hook_hookup.png", + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type~="node" then return itemstack end + local d=minetest.dir_to_facedir(user:get_look_dir()) + local pos=pointed_thing.above + local pos2=pointed_thing.under + local name=user:get_player_name() + if minetest.registered_nodes[minetest.get_node(pos2).name].walkable and + minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name].walkable==false and + (minetest.registered_nodes[minetest.get_node({x=pos2.x,y=pos2.y+1,z=pos2.z}).name].walkable==false or minetest.get_node({x=pos2.x,y=pos2.y+1,z=pos2.z}).name=="default:snow") and + is_hook(pos,name) and + minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name].walkable==false then + if d==3 then d=1 + elseif d==1 then d=3 + elseif d==2 then d=0 + elseif d==0 then d=2 + end + if is_hook({x=pos.x,y=pos.y+1,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y+1,z=pos.z},{name = "hook:hooking",param2=d}) else return itemstack end + if is_hook(pos,name) then minetest.set_node(pos,{name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-1,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-1,z=pos.z}, {name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-2,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-2,z=pos.z}, {name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-3,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-3,z=pos.z}, {name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-4,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-4,z=pos.z}, {name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-5,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-5,z=pos.z}, {name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-6,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-6,z=pos.z}, {name = "hook:rope",param2=d}) else return itemstack end + if is_hook({x=pos.x,y=pos.y-7,z=pos.z},name) then minetest.set_node({x=pos.x,y=pos.y-7,z=pos.z}, {name = "hook:rope",param2=d}) end + end + return itemstack + end, +}) + +minetest.register_tool("hook:climb_rope", { + description = "Climb rope", + range = 2, + inventory_image = "hook_rope2.png", + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type~="node" then + hook.user=user + hook.locked=false + local pos=user:getpos() + local d=user:get_look_dir() + local m=minetest.add_entity({x=pos.x,y=pos.y+1.5,z=pos.z}, "hook:power") + m:setvelocity({x=d.x*15, y=d.y*15, z=d.z*15}) + m:setacceleration({x=0, y=-5, z=0}) + return itemstack + else + local pos=pointed_thing.under + local d=minetest.dir_to_facedir(user:get_look_dir()) + local z=0 + local x=0 + local name=user:get_player_name() + if minetest.registered_nodes[minetest.get_node(pos).name].walkable then + if d==0 then z=1 end + if d==2 then z=-1 end + if d==1 then x=1 end + if d==3 then x=-1 end + if is_hook({x=pos.x+x,y=pos.y,z=pos.z+z},name) and is_hook({x=pos.x+x,y=pos.y+1,z=pos.z+z},name) then + minetest.set_node({x=pos.x+x,y=pos.y+1,z=pos.z+z},{name = "hook:hooking",param2=d}) + minetest.get_meta({x=pos.x+x,y=pos.y+1,z=pos.z+z}):set_int("a",1) + else return itemstack end + itemstack:take_item() + for i=0,20,1 do + if is_hook({x=pos.x+x,y=pos.y-i,z=pos.z+z},name) then minetest.set_node({x=pos.x+x,y=pos.y-i,z=pos.z+z},{name = "hook:rope2",param2=d}) else return itemstack end + end + end + return itemstack + end + end, +}) + + +minetest.register_tool("hook:climb_rope_locked", { + description = "Climb rope (Locked)", + range = 2, + inventory_image = "hook_rope_locked.png", + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type~="node" then + hook.user=user + hook.locked=true + local pos=user:getpos() + local d=user:get_look_dir() + local m=minetest.add_entity({x=pos.x,y=pos.y+1.5,z=pos.z}, "hook:power") + m:setvelocity({x=d.x*15, y=d.y*15, z=d.z*15}) + m:setacceleration({x=0, y=-5, z=0}) + return itemstack + else + local pos=pointed_thing.under + local d=minetest.dir_to_facedir(user:get_look_dir()) + local z=0 + local x=0 + local name=user:get_player_name() + if minetest.registered_nodes[minetest.get_node(pos).name].walkable then + if d==0 then z=1 end + if d==2 then z=-1 end + if d==1 then x=1 end + if d==3 then x=-1 end + if is_hook({x=pos.x+x,y=pos.y,z=pos.z+z},name) and is_hook({x=pos.x+x,y=pos.y+1,z=pos.z+z},name) then + minetest.set_node({x=pos.x+x,y=pos.y+1,z=pos.z+z},{name = "hook:hooking",param2=d}) + minetest.get_meta({x=pos.x+x,y=pos.y+1,z=pos.z+z}):set_int("a",1) + else return itemstack end + itemstack:take_item() + for i=0,20,1 do + if is_hook({x=pos.x+x,y=pos.y-i,z=pos.z+z},name) then + minetest.set_node({x=pos.x+x,y=pos.y-i,z=pos.z+z},{name = "hook:rope3",param2=d}) + minetest.get_meta({x=pos.x+x,y=pos.y-i,z=pos.z+z}):set_string("owner",user:get_player_name()) + else + return itemstack + end + end + end + return itemstack + end + end, +}) + + +minetest.register_node("hook:rope", { + description = "Rope (tempoary)", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {0, -0.5, -0.0625, 0.0625, 0.5, 0}, + } + }, + tiles = {"hook_rope.png"}, + paramtype = "light", + paramtype2 = "facedir", + drop = "", + liquid_viscosity = 1, + liquidtype = "source", + liquid_alternative_flowing="hook:rope", + liquid_alternative_source="hook:rope", + liquid_renewable = false, + liquid_range = 0, + sunlight_propagates = false, + walkable = false, + is_ground_content = false, + groups = {not_in_creative_inventory=1,fleshy = 3, dig_immediate = 3,}, + on_construct = function(pos) + minetest.get_node_timer(pos):start(3) + end, + on_timer = function (pos, elapsed) + for i, ob in pairs(minetest.get_objects_inside_radius(pos, 3)) do + if ob:is_player() then return true end + end + minetest.set_node(pos, {name = "air"}) + return false + end, +}) + +minetest.register_node("hook:rope2", { + description = "Rope", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {0, -0.5, -0.0625, 0.0625, 0.5, 0}, + } + }, + tiles = {"hook_rope.png"}, + paramtype = "light", + paramtype2 = "facedir", + drop = "", + liquid_viscosity = 1, + liquidtype = "source", + liquid_alternative_flowing="hook:rope2", + liquid_alternative_source="hook:rope2", + liquid_renewable = false, + liquid_range = 0, + sunlight_propagates = false, + walkable = false, + is_ground_content = false, + groups = {not_in_creative_inventory=1,fleshy = 3, dig_immediate = 3,}, + on_punch = function(pos, node, puncher, pointed_thing) + if minetest.is_protected(pos,puncher:get_player_name()) then + return false + end + puncher:get_inventory():add_item("main", ItemStack("hook:climb_rope")) + local name=puncher:get_player_name() + for i=0,20,1 do + if minetest.get_node({x=pos.x,y=pos.y-i,z=pos.z}).name=="hook:rope2" or minetest.get_node({x=pos.x,y=pos.y-i,z=pos.z}).name=="air" then minetest.set_node({x=pos.x,y=pos.y-i,z=pos.z},{name = "air"}) else break end + end + for i=0,20,1 do + if minetest.get_node({x=pos.x,y=pos.y+i,z=pos.z}).name=="hook:rope2" or minetest.get_node({x=pos.x,y=pos.y+i,z=pos.z}).name=="hook:hooking" or minetest.get_node({x=pos.x,y=pos.y+i,z=pos.z}).name=="air" then minetest.set_node({x=pos.x,y=pos.y+i,z=pos.z},{name = "air"}) else return false end + end + end, +}) + +minetest.register_node("hook:rope3", { + description = "Rope (locked)", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {0, -0.5, -0.0625, 0.0625, 0.5, 0}, + } + }, + tiles = {"hook_rope.png"}, + paramtype = "light", + paramtype2 = "facedir", + drop = "", + liquid_viscosity = 1, + liquidtype = "source", + liquid_alternative_flowing="hook:rope3", + liquid_alternative_source="hook:rope3", + liquid_renewable = false, + liquid_range = 0, + sunlight_propagates = false, + walkable = false, + is_ground_content = false, +can_dig = function(pos, player) + if minetest.get_meta(pos):get_string("owner")~=player:get_player_name() then + minetest.chat_send_player(player:get_player_name(), "This rope is owned by: ".. minetest.get_meta(pos):get_string("owner")) + return false + end + return true +end, + groups = {not_in_creative_inventory=1,fleshy = 3, dig_immediate = 3,}, +on_punch = function(pos, node, puncher, pointed_thing) + if minetest.get_meta(pos):get_string("owner")~=puncher:get_player_name() then + minetest.chat_send_player(puncher:get_player_name(), "This rope is owned by: ".. minetest.get_meta(pos):get_string("owner")) + return false + end + puncher:get_inventory():add_item("main", ItemStack("hook:climb_rope_locked")) + for i=0,20,1 do + if minetest.get_node({x=pos.x,y=pos.y-i,z=pos.z}).name=="hook:rope3" or minetest.get_node({x=pos.x,y=pos.y-i,z=pos.z}).name=="air" then minetest.set_node({x=pos.x,y=pos.y-i,z=pos.z},{name = "air"}) else break end + end + for i=0,20,1 do + if minetest.get_node({x=pos.x,y=pos.y+i,z=pos.z}).name=="hook:rope3" or minetest.get_node({x=pos.x,y=pos.y+i,z=pos.z}).name=="hook:hooking" or minetest.get_node({x=pos.x,y=pos.y+i,z=pos.z}).name=="air" then minetest.set_node({x=pos.x,y=pos.y+i,z=pos.z},{name = "air"}) else return false end + end +end, +}) + +minetest.register_node("hook:hooking", { + description = "Hooking", + drawtype = "plantlike", + tiles = {"hook_hooking.png"}, + paramtype = "light", + paramtype2 = "facedir", + walkable=false, + pointable=false, + drop = "", + sunlight_propagates = false, + groups = {not_in_creative_inventory=1}, + on_construct = function(pos) + minetest.get_node_timer(pos):start(3) + + end, + on_timer = function (pos, elapsed) + if minetest.get_meta(pos):get_int("a")==1 then return false end + local r=minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name + if r~="hook:rope" then + minetest.set_node(pos, {name="air"}) + return false + end + return true + end, +}) + + +minetest.register_tool("hook:mba", { + description = "Mouth breather assembly", + range = 1, + inventory_image = "hook_mba.png", +on_use=function(itemstack, user, pointed_thing) + local pos=user:getpos() + pos.y=pos.y+1.5 + if minetest.registered_nodes[minetest.get_node(pos).name].drowning==0 then + itemstack:set_wear(1) + else + local use=itemstack:get_wear()+(65536/10) + if use<65536 then + itemstack:set_wear(use) + user:set_breath(11) + end + end + return itemstack +end, +}) + +minetest.register_craft({ + output = "hook:mba", + recipe = { + {"","default:steel_ingot",""}, + {"default:steel_ingot","default:steel_ingot","default:steel_ingot"}, + {"default:steel_ingot","","default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "hook:hook", + recipe = { + {"","default:steel_ingot",""}, + {"","default:steel_ingot","default:steel_ingot"}, + {"default:steel_ingot","",""}, + } +}) +minetest.register_craft({ + output = "hook:hook_upgrade", + recipe = { + {"","hook:hook",""}, + {"","hook:hook",""}, + {"","default:steel_ingot",""}, + } +}) + + + + +minetest.register_craft({ + output = "hook:climb_rope", + recipe = { + {"","default:steel_ingot",""}, + {"","default:steelblock",""}, + {"","default:steel_ingot",""}, + } +}) +minetest.register_craft({ + output = "hook:climb_rope_locked", + recipe = { + {"hook:climb_rope","default:steel_ingot",""}, + } +}) + +minetest.register_craft({ + output = "hook:slingshot", + recipe = { + {"default:steel_ingot","","default:steel_ingot"}, + {"","default:steelblock",""}, + {"","default:steel_ingot",""}, + } +}) + diff --git a/pchest.lua b/pchest.lua new file mode 100644 index 0000000..d71fd1d --- /dev/null +++ b/pchest.lua @@ -0,0 +1,144 @@ +pchest={} + + +minetest.register_craft({ + output = "hook:pchest", + recipe = { + {"default:stick","default:stick","default:stick"}, + {"default:stick","default:chest_locked", "default:diamond"}, + {"default:stick","default:stick","default:stick"}, + } +}) + +pchest.setpchest=function(pos,user) + local meta = minetest.get_meta(pos) + meta:set_string("owner", user:get_player_name()) + meta:set_int("state", 0) + meta:get_inventory():set_size("main", 32) + meta:get_inventory():set_size("trans", 1) + meta:set_string("formspec", + "size[8,8]" .. + "list[context;main;0,0;8,4;]" .. + "list[context;trans;0,0;0,0;]" .. + "list[current_player;main;0,4.3;8,4;]" .. + "listring[current_player;main]" .. + "listring[current_name;main]" .. + default.gui_bg .. + default.gui_bg_img .. + default.gui_slots .. + default.get_hotbar_bg(0,4.3)) + meta:set_string("infotext", "PChest by: " .. user:get_player_name()) +end + + + +minetest.register_tool("hook:pchest", { + description = "Portable locked chest", + inventory_image = "hook_extras_chest3.png", + on_place = function(itemstack, user, pointed_thing) + if minetest.is_protected(pointed_thing.above,user:get_player_name()) or minetest.registered_nodes[minetest.get_node(pointed_thing.above).name].walkable then + return itemstack + end + local p=minetest.dir_to_facedir(user:get_look_dir()) + local item=itemstack:to_table() + local meta=minetest.deserialize(item["metadata"]) + minetest.set_node(pointed_thing.above, {name = "hook:pchest_node",param1="",param2=p}) + pchest.setpchest(pointed_thing.above,user) + + minetest.sound_play("default_place_node_hard", {pos=pointed_thing.above, gain = 1.0, max_hear_distance = 5,}) + if meta==nil then + itemstack:take_item() + return itemstack + end + + local s=meta.stuff + local its=meta.stuff.split(meta.stuff,",",",") + local nmeta=minetest.get_meta(pointed_thing.above) + for i,it in pairs(its) do + if its~="" then + nmeta:get_inventory():set_stack("main",i, ItemStack(it)) + end + end + itemstack:take_item() + return itemstack:take_item() + end, +}) + + + + +minetest.register_node("hook:pchest_node", { + description = "Portable locked chest", + tiles = {"hook_extras_chest2.png","hook_extras_chest2.png","hook_extras_chest1.png","hook_extras_chest1.png","hook_extras_chest1.png","hook_extras_chest3.png"}, + groups = {dig_immediate = 2, not_in_creative_inventory=1,tubedevice = 1, tubedevice_receiver = 1}, + drop="hook:pchest", + paramtype2 = "facedir", + tube = {insert_object = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local added = inv:add_item("main", stack) + --after_inventory_change(pos) + return added + end, + can_insert = function(pos, node, stack, direction) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:room_for_item("main", stack) + end, + input_inventory = "main", + connect_sides = {left = 1, right = 1, front = 1, back = 1, top = 1, bottom = 1}}, +allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local owner = minetest.get_meta(pos):get_string("owner") + if (stack:get_name()~="hook:pchest") and (owner==player:get_player_name() or owner=="") then + if minetest.deserialize(stack:get_metadata())~=nil then + minetest.chat_send_player(player:get_player_name(), "Warning: the meta (information that is saved in the item)") + minetest.chat_send_player(player:get_player_name(), "will be lost when pick up the chest") + end + return stack:get_count() + end + return 0 + end, +allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local owner = minetest.get_meta(pos):get_string("owner") + if owner==player:get_player_name() or owner=="" then + return stack:get_count() + end + return 0 + end, +allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local owner = minetest.get_meta(pos):get_string("owner") + if owner==player:get_player_name() or owner=="" then + return count + end + return 0 + end, +can_dig = function(pos, player) + local owner = minetest.get_meta(pos):get_string("owner") + return (owner=="" and minetest.get_meta(pos):get_inventory():is_empty("main")) + end, +on_punch = function(pos, node, player, pointed_thing) + if minetest.is_protected(pos,player:get_player_name()) then + return false + end + local meta=minetest.get_meta(pos) + if meta:get_string("owner")==player:get_player_name() then + local inv=meta:get_inventory() + local items="" + for i=1,32,1 do + if inv:get_stack("main",i):get_name()~="" then + items=items .. inv:get_stack("main",i):get_name() .." " .. inv:get_stack("main",i):get_count() .. " " .. inv:get_stack("main",i):get_wear() .."," + else + items=items .. "," + end + end + inv:add_item("trans", ItemStack("hook:pchest")) + local item=inv:get_stack("trans",1):to_table() + local tmeta={stuff=items} + item.metadata=minetest.serialize(tmeta) + item.meta=minetest.serialize(tmeta) + player:get_inventory():add_item("main", ItemStack(item)) + minetest.set_node(pos, {name = "air"}) + minetest.sound_play("default_dig_dig_immediate", {pos=pos, gain = 1.0, max_hear_distance = 5,}) + end + end, +}) \ No newline at end of file diff --git a/project.lua b/project.lua new file mode 100644 index 0000000..becfe24 --- /dev/null +++ b/project.lua @@ -0,0 +1,82 @@ +minetest.register_entity("hook:power",{ + hp_max = 100, + physical = true, + weight = 0, + collisionbox = {-0.2,-0.2,-0.2, 0.2,0.2,0.2}, + visual = "upright_sprite", + visual_size = {x=1, y=1}, + textures = {"hook_hooking.png"}, + spritediv = {x=1, y=1}, + is_visible = true, + makes_footstep_sound = false, + automatic_rotate = false, + timer2=0, + d=0, + uname="", + locked=false, +on_activate=function(self, staticdata) + if hook.user==nil then + self.object:remove() + return self + end + self.d=hook.user:get_look_dir() + self.fd=minetest.dir_to_facedir(self.d) + self.uname=hook.user:get_player_name() + self.user=hook.user + self.locked=hook.locked + hook.user=nil + if self.fd==3 then self.fd=1 + elseif self.fd==1 then self.fd=3 + elseif self.fd==2 then self.fd=0 + elseif self.fd==0 then self.fd=2 + end + end, +on_step= function(self, dtime) + self.timer2=self.timer2+dtime + local pos=self.object:getpos() + local kill=0 + if minetest.registered_nodes[minetest.get_node({x=pos.x+self.d.x,y=pos.y,z=pos.z+self.d.z}).name].walkable and minetest.registered_nodes[minetest.get_node({x=pos.x+self.d.x,y=pos.y+1,z=pos.z+self.d.z}).name].walkable==false and is_hook(pos,self.uname) and is_hook({x=pos.x,y=pos.y+1,z=pos.z},self.uname) then + kill=1 + if self.locked then + if self.user:get_inventory():contains_item("main", "hook:climb_rope_locked")==false then + self.object:set_hp(0) + self.object:punch(self.object, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil) + return self + end + if is_hook({x=pos.x,y=pos.y+1,z=pos.z},self.uname) then + minetest.set_node({x=pos.x,y=pos.y+1,z=pos.z},{name = "hook:hooking",param2=self.fd}) + minetest.get_meta({x=pos.x,y=pos.y+1,z=pos.z}):set_int("a",1) + else + return self + end + self.user:get_inventory():remove_item("main", "hook:climb_rope_locked") + for i=0,20,1 do + if is_hook({x=pos.x,y=pos.y-i,z=pos.z},self.uname) then minetest.set_node({x=pos.x,y=pos.y-i,z=pos.z},{name = "hook:rope3",param2=self.fd}) else break end + minetest.get_meta({x=pos.x,y=pos.y-i,z=pos.z}):set_string("owner",self.uname) + end + else + if self.user:get_inventory():contains_item("main", "hook:climb_rope")==false then + self.object:set_hp(0) + self.object:punch(self.object, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil) + return self + end + if is_hook({x=pos.x,y=pos.y+1,z=pos.z},self.uname) then + minetest.set_node({x=pos.x,y=pos.y+1,z=pos.z},{name = "hook:hooking",param2=self.fd}) + minetest.get_meta({x=pos.x,y=pos.y+1,z=pos.z}):set_int("a",1) + else + return self + end + self.user:get_inventory():remove_item("main", "hook:climb_rope") + for i=0,20,1 do + if is_hook({x=pos.x,y=pos.y-i,z=pos.z},self.uname) then minetest.set_node({x=pos.x,y=pos.y-i,z=pos.z},{name = "hook:rope2",param2=self.fd}) else break end + end + end + end + if self.timer2>3 or kill==1 then + self.object:set_hp(0) + self.object:punch(self.object, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil) + + end + return self +end, +}) \ No newline at end of file diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e51dcb4d66864ce878448fe01b157e45fa7b7ba0 GIT binary patch literal 64382 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 U*BYP-#kU#^8ID591u-1?Uojb16951J literal 0 HcmV?d00001 diff --git a/textures/hook_extras_chest1.png b/textures/hook_extras_chest1.png new file mode 100644 index 0000000000000000000000000000000000000000..e30411ccea389f31f6e625e6497cd9f6f62f0dba GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmPND<2o1O6(5S7eJwSPZ!4!i_>o>DGD_h@UZZ!tx{U0 z|48}6&*GJx2gD9uc`!>sV9tHtXV0eP+FJ<;GH9$)+%a)G1B2gp%?g>=i9S&Zd2Hsh z+1Qn%w7araG`rO;XpaAIY{Ir00FIsS|XTE*b$>gTe~DWM4f^ddq< literal 0 HcmV?d00001 diff --git a/textures/hook_extras_chest2.png b/textures/hook_extras_chest2.png new file mode 100644 index 0000000000000000000000000000000000000000..8c3dbea9c61f466606d384837809928d54985c9f GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmPND<2o1`jL$xAfuc;T^vI!PA8Xi`TscYz?hJjkdW}; z(PL%r&$pNRE3z2?LCxjN T5eg0j8pq)2>gTe~DWM4fM$0$6 literal 0 HcmV?d00001 diff --git a/textures/hook_extras_chest3.png b/textures/hook_extras_chest3.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4c7ad4f971b8b479d820d146a903475e98f6fc GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmPND<2o1)-DE(_dua)PZ!4!i_^&^UH(7LJ1{0BCL|<0 zc=TA=`}6JP{)%h{Kv47hOQ*_N1Mis<8Z0_3ISNmlrupaJGpMQh%(j~G`?>kaKrIOY zMka>>m>+Nc(Ai;7@bP2fR>zYUIL-)LWMplhqF^W^4gLbpK28` ZGAx^{`rwj)6erLb44$rjF6*2UngDeoQUCw| literal 0 HcmV?d00001 diff --git a/textures/hook_hook.png b/textures/hook_hook.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8386f4c0d2c80bbf10a83d93d0026c8f73fc7a GIT binary patch literal 528 zcmV+r0`L8aP)3KXLno)xy^eI<~#SEGgo+}R@c{b?kNDrhere7 z$S^c}dcw~i7i|1`B#y3`ai$5C(xXJIVS&pJA9?r`PA{{ov3 zj}MOu6BjZV1rK%3?r-vNz11wh+n=|1J7ohf?|Gbu=Pxgkfyc`>Pu+VNFWVe+_StMS zv{P|Oq8O**N)pBFwA)32)%7)~%;xNfN~X`u6TtHX9AP@lD@Cz175c zKj`cOFzsT<71ORb#4Zt6ePV8=c S7D<>&pIsn@xm4_5;(7SwNvSPZ!6Kh{JEMSqmLd;9v>3doncF zLZG)@wN_2uL525=PX5|AN|*l0Y?;5DfmOqSkt?8qX$3>`i9eYa-X$C_JiYD}t6K4P z2eyem&-VRcnx>#HGci%lq-^W;LmNNuU~4>KCTCH${r@3ltrOhtZokcKHuc#n3J7j$ pa!>oco5|hf1ee^+x9eH`t{YcA-?ZiPZJ>)7JYD@<);T3K0RYW-SbYEh literal 0 HcmV?d00001 diff --git a/textures/hook_hookup.png b/textures/hook_hookup.png new file mode 100644 index 0000000000000000000000000000000000000000..b8066ff2bafd46a0b840eed8a271f0bada561ccc GIT binary patch literal 578 zcmV-I0=@l-P)vos|D=nn^6`$Yio z;obX#eyTst&gWd@3iF2zdhzo&RDOX+b{p#~~Ouk;&qm> zD?ORkiBy}d$>gk33h z&pv}ulCXAQI|8f4l3Xddrb+;gLbXi$y8Z`z5Ts?=UoDn&Vo^2k?T+CEK9?Xe*G}~e z;xMA|baJ5V1wI$K!q+dK$-IH14C=}zSofJERR$V-ztu!bw9)DII1VEM059;l)9tYr z_!uS0-46Q00lQM7CED1k4Yfp@YoU_u2>qraSD2+K9)J3{ci;uSPMdCb%yAfzu^F-* zfjEp{I|2ak?b-9c1mo!htHqK!-5!_gqOq;xM8{v&m(pIE?W2=@YzaJOBWw`~m>*2i?dN!!nSk Q0{{R307*qoM6N<$g1g;2lrl+GMRB><-(U=-xWzHHO{QeLOtp8pDmC& za6%)xy~Qr(%jelVQ)anbi#7^L{a|+L+4uW97{7CRhXl`y6$d(w!PC{xWt~$(697M7 BWj+7^ literal 0 HcmV?d00001 diff --git a/textures/hook_rope.png b/textures/hook_rope.png new file mode 100644 index 0000000000000000000000000000000000000000..efba9157603a6836fba7b1cbf762b8370dca31d9 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmPNH=D4e*`bgB+<`*2o-U3d7N?VaPM-O5{=k6)3QDR6 zfz*Ky&u((F1^v)5VB?u^D!s`tL2dG>bf;$%oHtK+_57lN1aEVq6dQx^n{6-mN=>f- P8pPn~>gTe~DWM4fE&4jq literal 0 HcmV?d00001 diff --git a/textures/hook_rope2.png b/textures/hook_rope2.png new file mode 100644 index 0000000000000000000000000000000000000000..2ca4d0bec77c2c0c0fb9c0b736965f5d726d493e GIT binary patch literal 462 zcmV;<0WtoGP)zwhk}Ehi#WT83a-0{87z2Ey?2s^%JyHz@SeSRtI$t*a2f5Ut{!PVDN zc!7^Bonid>LE9jX37FO!1+f?Ss8nkL07Aw90G(bpuirBPQ5-8V$yIoP4*(+JoI=Ks zaBc@^V(4PE*CDEvLT`8XBO!~)6x*^WWw7mLGYdUPN3*YP)-wZ zRxarB^1!9QXu;M0 zqAi6K9i)OFMsRXapF@*0pUv`eUvf@@@34lZ&9@#d!Y4G+k zQ2q)aZnqP{*S9y)y1S>@Y%0sLL>mX|rU9T9mX>2Fj!#d*d&z+%R`;Li^?I4VspWk+ zR?pAHpklE&5+opW(~y*`{}h8g&l?F6a8{C7f+#$$2l+`RC&le{Xx-gYu2zPEi>u4v zC6$p#f_*^hjuUSpKn4_DRdl3Bww)H#9VZ$)SC%|@p#Z?`c2W{R{91wpLC*kYA0I}7 z)y<8R1WV?FR?Jg;vJBORZf&}+9@SX#~F;J zL2}Fzh1FDnp9u{$Rp5Q_ij=Dr7E2{+XXmMNUTZY?^t>?D?b-?-ZlC?nFXa0d-8A?I X*ESbRuP_7S00000NkvXXu0mjfZ$QZ& literal 0 HcmV?d00001 diff --git a/textures/hook_slingshot.png b/textures/hook_slingshot.png new file mode 100644 index 0000000000000000000000000000000000000000..33629c3c7e4721edaec4bd58312f9852006e8967 GIT binary patch literal 544 zcmV+*0^j|KP)MOgNGaf9-_246msZ2 z70+Ho1+Sh0{sk|x;=w~)Ysi*`p0;Ss>!Eq;ZesSqW0;xu&CK_`5yYIek01JCCr8H- zKiT_W^6Zq(!W>&mi}-&Zc=PHtzuN5}|2C81(!LD*L~nuXmG}JKEHZT8!FN4uDV1TF z3Lulq0kFNhGq`|0wv=I47?!DQDaqt=k=#%mZ^JV2T@T;&Ff20w>q$xozjdJ5g`>Y{-L`mQGo%T)R|5`#K-MN_tvOl7AP5M1B&25S)FsX}~( z*5shJAK8hB2HU$kePCNk5w}dqIPkYGU&ZRD&tzxcF+7|K?0LQ3U*P2nGXl2K<04;} zVQeBztLa2+zA(diz0Ty>>63^duz2h!QC#167OdlXYZE==W2MId_`X-8)pV#O64-HbNjTS8XQ)*R4zZ;z14J3ssF6SpGR)mKS}7$;qR$dDiqf@7&Xm^JzSpW i$LI(EV-sn7*W({;2H*mp6Q^nb0000