diff --git a/api/api.lua b/closet/api/api.lua similarity index 100% rename from api/api.lua rename to closet/api/api.lua diff --git a/api/api_container.lua b/closet/api/api_container.lua similarity index 79% rename from api/api_container.lua rename to closet/api/api_container.lua index c940025..947e3bb 100644 --- a/api/api_container.lua +++ b/closet/api/api_container.lua @@ -7,7 +7,7 @@ function closet.container.get_container_formspec(pos, clicker) local texture if minetest.get_modpath("3d_armor")~=nil then local clicker_name = clicker:get_player_name() - texture = minetest.formspec_escape(armor.textures[clicker_name].skin)..",".. + texture = armor.textures[clicker_name].skin..",".. armor.textures[clicker_name].armor..","..armor.textures[clicker_name].wielditem else texture = clicker:get_properties().textures[1] @@ -16,13 +16,11 @@ function closet.container.get_container_formspec(pos, clicker) local formspec = "size[8,8.25]" .. - "list[nodemeta:" .. spos .. ";main;5,0.25;3,12;]" .. "model[0,0;5,5;preview_model;"..model..";"..texture..";-10,195]" .. + "list[current_player;cloths;3,0.25;1,4]" .. + "list[nodemeta:" .. spos .. ";closet;5,0.25;3,12;]" .. "list[current_player;main;0,4.5;8,1;]" .. "list[current_player;main;0,5.5;8,3;8]" .. - "list[current_player;cloths;3,0.25;1,4]" .. - "listring[nodemeta:" .. spos .. ";main]" .. - "listring[current_player;main]" .. default.get_hotbar_bg(0,4.5) return formspec end @@ -36,9 +34,19 @@ minetest.register_allow_player_inventory_action(function(player, action, invento local stack = inventory:get_stack(inventory_info.from_list, inventory_info.from_index) if stack then local stack_name = stack:get_name() - if minetest.get_item_group(stack_name , "cloth") > 0 then - return 1 + local item_group = minetest.get_item_group(stack_name , "cloth") + if item_group == 0 then --not a cloth + return 0 end + --search for another cloth of the same type + local cloth_list = player:get_inventory():get_list("cloths") + for i = 1, #cloth_list do + local cloth_type = minetest.get_item_group(cloth_list[i]:get_name(), "cloth") + if cloth_type == item_group then + return 0 + end + end + return 1 end return 0 end) @@ -120,12 +128,12 @@ function closet.register_container(name, d) local meta = minetest.get_meta(pos) meta:set_string("infotext", d.description) local inv = meta:get_inventory() - inv:set_size("main", 12*1) + inv:set_size("closet", 12*1) end def.can_dig = function(pos,player) local meta = minetest.get_meta(pos); local inv = meta:get_inventory() - return inv:is_empty("main") + return inv:is_empty("closet") end def.on_rightclick = function(pos, node, clicker) minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos, max_hear_distance = 10}) @@ -141,36 +149,12 @@ function closet.register_container(name, d) end def.on_blast = function(pos) local drops = {} - default.get_inventory_drops(pos, "main", drops) + default.get_inventory_drops(pos, "closet", drops) drops[#drops+1] = "closet:" .. name minetest.remove_node(pos) return drops end - def.on_metadata_inventory_move = function(pos, from_list, from_index, - to_list, to_index, count, player) - minetest.log("action", player:get_player_name() .. - " moves stuff in container at " .. minetest.pos_to_string(pos)) - end - def.on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " moves " .. stack:get_name() .. - " to container at " .. minetest.pos_to_string(pos)) - end - def.on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", player:get_player_name() .. - " takes " .. stack:get_name() .. - " from container at " .. minetest.pos_to_string(pos)) - end - def.allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if listname == "main" then - if minetest.get_item_group(stack:get_name(), "cloth") > 0 then - return 1 - end - end - return 0 - end - local def_opened = table.copy(def) local def_closed = table.copy(def) diff --git a/closet.lua b/closet/closet.lua similarity index 69% rename from closet.lua rename to closet/closet.lua index f0a9f63..e3ac3d4 100644 --- a/closet.lua +++ b/closet/closet.lua @@ -16,3 +16,13 @@ closet.register_container("closet", { sound_close = "default_chest_close", groups = {choppy = 2, oddly_breakable_by_hand = 2}, }) + +minetest.register_craft({ + output = "closet:closet", + type = "shaped", + recipe = { + {"", "group:wood", "group:wood"}, + {"", "group:wood", "group:mirror"}, + {"", "group:wood", "group:wood"}, + } +}) diff --git a/init.lua b/closet/init.lua similarity index 100% rename from init.lua rename to closet/init.lua diff --git a/locale/closet.es.tr b/closet/locale/closet.es.tr similarity index 100% rename from locale/closet.es.tr rename to closet/locale/closet.es.tr diff --git a/mod.conf b/closet/mod.conf similarity index 69% rename from mod.conf rename to closet/mod.conf index 049abd0..b87522e 100644 --- a/mod.conf +++ b/closet/mod.conf @@ -1,5 +1,5 @@ name = closet description = A Wardove for put/store cloths -depends = default, player_api +depends = default, player_api, mirrors optional_depends = version = diff --git a/models/closet.blend b/closet/models/closet.blend similarity index 100% rename from models/closet.blend rename to closet/models/closet.blend diff --git a/models/closet.mtl b/closet/models/closet.mtl similarity index 100% rename from models/closet.mtl rename to closet/models/closet.mtl diff --git a/models/closet.obj b/closet/models/closet.obj similarity index 100% rename from models/closet.obj rename to closet/models/closet.obj diff --git a/models/closet_inv.png b/closet/models/closet_inv.png similarity index 100% rename from models/closet_inv.png rename to closet/models/closet_inv.png diff --git a/models/closet_open.blend b/closet/models/closet_open.blend similarity index 100% rename from models/closet_open.blend rename to closet/models/closet_open.blend diff --git a/models/closet_open.blend1 b/closet/models/closet_open.blend1 similarity index 100% rename from models/closet_open.blend1 rename to closet/models/closet_open.blend1 diff --git a/models/closet_open.mtl b/closet/models/closet_open.mtl similarity index 100% rename from models/closet_open.mtl rename to closet/models/closet_open.mtl diff --git a/models/closet_open.obj b/closet/models/closet_open.obj similarity index 100% rename from models/closet_open.obj rename to closet/models/closet_open.obj diff --git a/nodeboxes/closet.nbe b/closet/nodeboxes/closet.nbe similarity index 100% rename from nodeboxes/closet.nbe rename to closet/nodeboxes/closet.nbe diff --git a/nodeboxes/closet_opened.nbe b/closet/nodeboxes/closet_opened.nbe similarity index 100% rename from nodeboxes/closet_opened.nbe rename to closet/nodeboxes/closet_opened.nbe diff --git a/textures/closet_closet.png b/closet/textures/closet_closet.png similarity index 100% rename from textures/closet_closet.png rename to closet/textures/closet_closet.png diff --git a/textures/closet_closet_inv.png b/closet/textures/closet_closet_inv.png similarity index 100% rename from textures/closet_closet_inv.png rename to closet/textures/closet_closet_inv.png diff --git a/textures/closet_closet_open.png b/closet/textures/closet_closet_open.png similarity index 100% rename from textures/closet_closet_open.png rename to closet/textures/closet_closet_open.png diff --git a/mirrors/init.lua b/mirrors/init.lua new file mode 100644 index 0000000..3892fde --- /dev/null +++ b/mirrors/init.lua @@ -0,0 +1,42 @@ +-- +-- mirrors +-- License:GPLv3 +-- + +local modname = "mirrors" +local modpath = minetest.get_modpath(modname) +-- internationalization boilerplate +local S = minetest.get_translator(minetest.get_current_modname()) + +-- +-- Mirrors Mod +-- + +minetest.register_node("mirrors:mirror", { + description = S("Mirror"), + inventory_image = "mirrors_mirror_inv.png", + wield_image = "mirror_mirror_inv.png", + tiles = {"mirrors_mirror.png", "mirrors_mirror.png", "mirrors_mirror.png", "mirrors_mirror.png", + "mirrors_mirror_back.png","mirrors_mirror.png"}, + groups = {mirror = 1, cracky=1}, + sounds = default.node_sound_glass_defaults(), + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, 0.375, 0.5, 0.5, 0.5 }, + }, + }, +}) + +minetest.register_craft({ + output = "mirror:mirror", + type = "shaped", + recipe = { + {"default:stick", "default:stick", "default:stick"}, + {"default:stick", "xpanes:pane_flat", "default:stick"}, + {"default:stick", "default:stick", "default:stick"}, + } +}) + diff --git a/mirrors/locale/mirrors.es.tr b/mirrors/locale/mirrors.es.tr new file mode 100644 index 0000000..b412767 --- /dev/null +++ b/mirrors/locale/mirrors.es.tr @@ -0,0 +1,2 @@ +# textdomain: mirrors +Mirror=Espejo diff --git a/mirrors/mod.conf b/mirrors/mod.conf new file mode 100644 index 0000000..b8dd5ab --- /dev/null +++ b/mirrors/mod.conf @@ -0,0 +1,5 @@ +name = mirrors +description = A Wardove for put/store cloths +depends = default, xpanes +optional_depends = +version = diff --git a/mirrors/textures/mirrors_mirror.png b/mirrors/textures/mirrors_mirror.png new file mode 100644 index 0000000..7a6dc2d Binary files /dev/null and b/mirrors/textures/mirrors_mirror.png differ diff --git a/mirrors/textures/mirrors_mirror_back.png b/mirrors/textures/mirrors_mirror_back.png new file mode 100644 index 0000000..ac29268 Binary files /dev/null and b/mirrors/textures/mirrors_mirror_back.png differ diff --git a/mirrors/textures/mirrors_mirror_inv.png b/mirrors/textures/mirrors_mirror_inv.png new file mode 100644 index 0000000..69a865a Binary files /dev/null and b/mirrors/textures/mirrors_mirror_inv.png differ diff --git a/modpack.txt b/modpack.txt new file mode 100644 index 0000000..e69de29