From d4b551de8c64e0c19d71e10d9c0d4b5196ce989b Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 6 Jan 2017 04:29:38 +0100 Subject: [PATCH] Fix armor stand for MineClone --- mods/3d_armor/3d_armor_stand/depends.txt | 3 +- mods/3d_armor/3d_armor_stand/init.lua | 116 +---------------------- 2 files changed, 6 insertions(+), 113 deletions(-) diff --git a/mods/3d_armor/3d_armor_stand/depends.txt b/mods/3d_armor/3d_armor_stand/depends.txt index fdbb29000..6117511e5 100644 --- a/mods/3d_armor/3d_armor_stand/depends.txt +++ b/mods/3d_armor/3d_armor_stand/depends.txt @@ -1,2 +1,3 @@ 3d_armor - +default +stairs diff --git a/mods/3d_armor/3d_armor_stand/init.lua b/mods/3d_armor/3d_armor_stand/init.lua index 0a4e91c12..691727979 100644 --- a/mods/3d_armor/3d_armor_stand/init.lua +++ b/mods/3d_armor/3d_armor_stand/init.lua @@ -1,8 +1,4 @@ local armor_stand_formspec = "size[8,7]" .. - default.gui_bg .. - default.gui_bg_img .. - default.gui_slots .. - default.get_hotbar_bg(0,3) .. "list[current_name;armor_head;3,0.5;1,1;]" .. "list[current_name;armor_torso;4,0.5;1,1;]" .. "list[current_name;armor_legs;3,1.5;1,1;]" .. @@ -84,22 +80,8 @@ local function update_entity(pos) end end -local function has_locked_armor_stand_privilege(meta, player) - local name = "" - if player then - if minetest.check_player_privs(player, "protection_bypass") then - return true - end - name = player:get_player_name() - end - if name ~= meta:get_string("owner") then - return false - end - return true -end - minetest.register_node("3d_armor_stand:armor_stand", { - description = "Armor stand", + description = "Armor Stand", drawtype = "mesh", mesh = "3d_armor_stand.obj", tiles = {"default_wood.png", "default_steel_block.png"}, @@ -165,89 +147,6 @@ minetest.register_node("3d_armor_stand:armor_stand", { end, }) -minetest.register_node("3d_armor_stand:locked_armor_stand", { - description = "Locked Armor stand", - drawtype = "mesh", - mesh = "3d_armor_stand.obj", - tiles = {"default_wood.png", "default_steel_block.png"}, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.5,-0.5,-0.5, 0.5,1.4,0.5} - }, - groups = {choppy=2, oddly_breakable_by_hand=2}, - sounds = default.node_sound_wood_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", armor_stand_formspec) - meta:set_string("infotext", "Armor Stand") - meta:set_string("owner", "") - local inv = meta:get_inventory() - for _, element in pairs(elements) do - inv:set_size("armor_"..element, 1) - end - end, - can_dig = function(pos, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - for _, element in pairs(elements) do - if not inv:is_empty("armor_"..element) then - return false - end - end - return true - end, - after_place_node = function(pos, placer) - minetest.add_entity(pos, "3d_armor_stand:armor_entity") - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name() or "") - meta:set_string("infotext", "Armor Stand (owned by " .. - meta:get_string("owner") .. ")") - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_armor_stand_privilege(meta, player) then - return 0 - end - local def = stack:get_definition() or {} - local groups = def.groups or {} - if groups[listname] then - return 1 - end - return 0 - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - local meta = minetest.get_meta(pos) - if not has_locked_armor_stand_privilege(meta, player) then - return 0 - end - return stack:get_count() - end, - allow_metadata_inventory_move = function(pos) - return 0 - end, - on_metadata_inventory_put = function(pos) - update_entity(pos) - end, - on_metadata_inventory_take = function(pos) - update_entity(pos) - end, - after_destruct = function(pos) - update_entity(pos) - end, - on_blast = function(pos) - local object = get_stand_object(pos) - if object then - object:remove() - end - minetest.after(1, function(pos) - update_entity(pos) - end, pos) - end, -}) - minetest.register_entity("3d_armor_stand:armor_entity", { physical = true, visual = "mesh", @@ -286,16 +185,9 @@ minetest.register_entity("3d_armor_stand:armor_entity", { minetest.register_craft({ output = "3d_armor_stand:armor_stand", recipe = { - {"", "default:fence_wood", ""}, - {"", "default:fence_wood", ""}, - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - } -}) - -minetest.register_craft({ - output = "3d_armor_stand:locked_armor_stand", - recipe = { - {"3d_armor_stand:armor_stand", "default:steel_ingot"}, + {"default:stick", "default:stick", "default:stick"}, + {"", "default:stick", ""}, + {"default:stick", "stairs:slab_stone", "default:stick"}, } })