diff --git a/df_underworld_items/models/LICENSE.txt b/df_underworld_items/models/LICENSE.txt new file mode 100644 index 0000000..f7064b9 --- /dev/null +++ b/df_underworld_items/models/LICENSE.txt @@ -0,0 +1,142 @@ +dfcaverns_open_chest.obj is copied from minetest_game's default mod, whose media license doesn't specify who in particular created it. The media license for the default mod is as follows: + +Licenses of media (textures, models and sounds) +----------------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2010-2018: + + celeron55, Perttu Ahola + Cisoun + G4JC + VanessaE + RealBadAngel + Calinou + MirceaKitsune + Jordach + PilzAdam + jojoa1997 + InfinityProject + Splizard + Zeg9 + paramat + BlockMen + sofar + Neuromancer + Gambit + asl97 + KevDoy + Mito551 + GreenXenith + kaeza + kilbith + tobyplowy + CloudyProton + TumeniNodes + Mossmanikin + random-geek + Extex101 + An0n3m0us + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ + +----------------------- + +Attribution 3.0 Unported (CC BY 3.0) + +Copyright (C) 2009 cmusounddesign +Copyright (C) 2010 Tomlija +Copyright (C) 2010 lsprice +Copyright (C) 2014 sonictechtonic +Copyright (C) 2015 yadronoff +Copyright (C) 2007 HerbertBoland +Copyright (C) 2006 AGFX + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by/3.0/ + +----------------------- + +CC0 1.0 Universal (CC0 1.0) Public Domain Dedication + +Iwan Gabovitch +Ottomaani138 +Ogrebane +blukotek +Sevin7 +Yoyodaman234 +Ryding + +No Copyright + +The person who associated a work with this deed has dedicated the work to the +public domain by waiving all of his or her rights to the work worldwide under +copyright law, including all related and neighboring rights, to the extent +allowed by law. + +You can copy, modify, distribute and perform the work, even for commercial +purposes, all without asking permission. See Other Information below. + +Other Information: + +In no way are the patent or trademark rights of any person affected by CC0, nor +are the rights that other persons may have in the work or in how the work is +used, such as publicity or privacy rights. + +Unless expressly stated otherwise, the person who associated a work with this +deed makes no warranties about the work, and disclaims liability for all uses +of the work, to the fullest extent permitted by applicable law. + +When using or citing the work, you should not imply endorsement by the author +or the affirmer. + +For more details: +https://creativecommons.org/publicdomain/zero/1.0/ \ No newline at end of file diff --git a/df_underworld_items/models/dfcaverns_chest_open.obj b/df_underworld_items/models/dfcaverns_chest_open.obj new file mode 100644 index 0000000..72ba175 --- /dev/null +++ b/df_underworld_items/models/dfcaverns_chest_open.obj @@ -0,0 +1,79 @@ +# Blender v2.78 (sub 0) OBJ File: 'chest-open.blend' +# www.blender.org +o Top_Cube.002_None_Top_Cube.002_None_bottom +v -0.500000 0.408471 0.720970 +v -0.500000 1.115578 0.013863 +v -0.500000 0.894607 -0.207108 +v -0.500000 0.187501 0.499999 +v 0.500000 1.115578 0.013863 +v 0.500000 0.408471 0.720970 +v 0.500000 0.187501 0.499999 +v 0.500000 0.894607 -0.207108 +v -0.500000 0.187500 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 0.187500 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 0.0000 1.0000 +vt 1.0000 1.0000 +vt 1.0000 0.6875 +vt 0.0000 0.6875 +vt 1.0000 1.0000 +vt 0.0000 0.6875 +vt 1.0000 0.6875 +vt 1.0000 0.6875 +vt 1.0000 0.0000 +vt 0.0000 0.0000 +vt 1.0000 0.6875 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 1.0000 0.6875 +vt 1.0000 0.0000 +vt 0.0000 1.0000 +vt 0.0000 0.6875 +vt 0.0000 0.6875 +vt 0.0000 0.0000 +vt 1.0000 0.5000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.5000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.0000 1.0000 +vn -0.0000 0.7071 -0.7071 +vn -0.0000 0.0000 -1.0000 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 1.0000 -0.0000 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Top +s off +f 6/1/1 5/2/1 2/3/1 1/4/1 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Bottom +f 11/5/2 10/6/2 14/7/2 13/8/2 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Right-Left +f 1/9/3 2/10/3 3/11/3 4/12/3 +f 5/13/4 6/1/4 7/14/4 8/15/4 +f 4/12/3 9/16/3 10/17/3 11/18/3 +f 12/19/4 7/14/4 13/8/4 14/20/4 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Back +f 6/21/5 1/9/5 4/12/5 7/22/5 +f 7/22/6 4/12/6 11/18/6 13/23/6 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Front +f 2/10/7 5/24/7 8/25/7 3/11/7 +f 9/16/8 12/26/8 14/27/8 10/17/8 +g Top_Cube.002_None_Top_Cube.002_None_bottom_Top_Cube.002_None_Top_Cube.002_None_bottom_Inside +f 4/28/9 3/29/9 8/30/9 7/31/9 +f 7/31/10 12/32/10 9/33/10 4/28/10 diff --git a/df_underworld_items/puzzle_chest.lua b/df_underworld_items/puzzle_chest.lua index 998369c..38a2341 100644 --- a/df_underworld_items/puzzle_chest.lua +++ b/df_underworld_items/puzzle_chest.lua @@ -78,13 +78,13 @@ local show_formspec = function(pos, node, clicker, itemstack, pointed_thing) formspec = formspec .. "list["..nodemeta..";main;0.6,4.7;8,1;]" if meta:get_string("solved") ~= "true" then - -- TODO play opening sound + minetest.sound_play("dfcaverns_puzzle_chest_open", {pos = pos}) meta:set_string("solved", "true") local old_node = minetest.get_node(pos) minetest.swap_node(pos, {name="df_underworld_items:puzzle_chest_opened", param2=old_node.param2}) end elseif meta:get_string("solved") == "true" then - -- TODO play closing sound + minetest.sound_play("dfcaverns_puzzle_chest_close", {pos = pos}) meta:set_string("solved", "") local old_node = minetest.get_node(pos) minetest.swap_node(pos, {name="df_underworld_items:puzzle_chest_closed", param2=old_node.param2}) @@ -117,7 +117,15 @@ minetest.register_node("df_underworld_items:puzzle_chest_closed", { description = S("Puzzle Chest"), _doc_items_longdesc = df_underworld_items.doc.puzzle_chest_desc, _doc_items_usagehelp = df_underworld_items.doc.puzzle_chest_usage, - tiles = {"default_stone.png"}, + tiles = { + "dfcaverns_slade_block.png^dfcaverns_chest_mask_top.png", + "dfcaverns_slade_block.png^dfcaverns_chest_mask_top.png", + "dfcaverns_slade_block.png^dfcaverns_chest_mask_side.png", + "dfcaverns_slade_block.png^dfcaverns_chest_mask_side.png", + "dfcaverns_slade_block.png^dfcaverns_chest_mask_side.png", + "dfcaverns_slade_block.png^dfcaverns_chest_mask_side.png^dfcaverns_chest_lock_plate.png^dfcaverns_chest_lock_colours.png", + }, + paramtype2="facedir", is_ground_content = false, groups = {stone=1, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1, cracky = 3, building_block=1, material_stone=1}, sounds = df_dependencies.sound_stone({ footstep = { name = "bedrock2_step", gain = 1 } }), @@ -137,8 +145,19 @@ minetest.register_node("df_underworld_items:puzzle_chest_opened", { description = S("Puzzle Chest"), _doc_items_longdesc = df_underworld_items.doc.puzzle_chest_desc, _doc_items_usagehelp = df_underworld_items.doc.puzzle_chest_usage, - tiles = {"dfcaverns_glow_amethyst.png"}, + tiles = { + {name = "dfcaverns_slade_block.png^dfcaverns_chest_mask_top.png", backface_culling = true}, + {name = "dfcaverns_slade_block.png^dfcaverns_chest_mask_top.png", backface_culling = true}, + {name = "dfcaverns_slade_block.png^dfcaverns_chest_mask_side.png", backface_culling = true}, + {name = "dfcaverns_slade_block.png^dfcaverns_chest_mask_side.png", backface_culling = true}, + {name = "dfcaverns_slade_block.png^dfcaverns_chest_mask_side.png^dfcaverns_chest_lock_plate.png^dfcaverns_chest_lock_colours.png", backface_culling = true}, + {name = "([combine:16x32:0,0=dfcaverns_slade_block.png:0,16=dfcaverns_slade_block.png)^dfcaverns_chest_mask_interior.png", backface_culling = true}, + }, is_ground_content = false, + mesh = "dfcaverns_chest_open.obj", + drawtype= "mesh", + visual = "mesh", + paramtype2="facedir", groups = {stone=1, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1, cracky = 3, building_block=1, material_stone=1, not_in_creative_inventory=1}, sounds = df_dependencies.sound_stone({ footstep = { name = "bedrock2_step", gain = 1 } }), _mcl_blast_resistance = 1200, diff --git a/df_underworld_items/sounds/dfcaverns_puzzle_chest_close.ogg b/df_underworld_items/sounds/dfcaverns_puzzle_chest_close.ogg new file mode 100644 index 0000000..15933ed Binary files /dev/null and b/df_underworld_items/sounds/dfcaverns_puzzle_chest_close.ogg differ diff --git a/df_underworld_items/sounds/dfcaverns_puzzle_chest_open.ogg b/df_underworld_items/sounds/dfcaverns_puzzle_chest_open.ogg new file mode 100644 index 0000000..f75104f Binary files /dev/null and b/df_underworld_items/sounds/dfcaverns_puzzle_chest_open.ogg differ diff --git a/df_underworld_items/sounds/license.txt b/df_underworld_items/sounds/license.txt index 21c3566..c4efe8f 100644 --- a/df_underworld_items/sounds/license.txt +++ b/df_underworld_items/sounds/license.txt @@ -17,4 +17,7 @@ dfcaverns_massive_digging.1.ogg - from https://freesound.org/people/OGsoundFX/so dfcaverns_massive_digging.2.ogg - from https://freesound.org/people/OGsoundFX/sounds/423120/ by OGsoundFX under Creative Commons BY 3.0 dfcaverns_massive_digging.3.ogg - from https://freesound.org/people/OGsoundFX/sounds/423120/ by OGsoundFX under Creative Commons BY 3.0 -dfcaverns_drill - from https://freesound.org/people/Jagadamba/sounds/257021/ by Jagadamba under the CC-BY-A 3.0 license \ No newline at end of file +dfcaverns_drill - from https://freesound.org/people/Jagadamba/sounds/257021/ by Jagadamba under the CC-BY-A 3.0 license + +dfcaverns_puzzle_chest_open - from https://freesound.org/people/Garuda1982/sounds/560304/ by Garuda1982 under CC-BY-A 4.0 +dfcaverns_puzzle_chest_close - from https://freesound.org/people/Benboncan/sounds/74441/ by Benboncan under CC-BY-A 4.0 \ No newline at end of file diff --git a/df_underworld_items/textures/dfcaverns_chest_lock_colours.png b/df_underworld_items/textures/dfcaverns_chest_lock_colours.png new file mode 100644 index 0000000..60d3fb4 Binary files /dev/null and b/df_underworld_items/textures/dfcaverns_chest_lock_colours.png differ diff --git a/df_underworld_items/textures/dfcaverns_chest_lock_plate.png b/df_underworld_items/textures/dfcaverns_chest_lock_plate.png new file mode 100644 index 0000000..bb94bda Binary files /dev/null and b/df_underworld_items/textures/dfcaverns_chest_lock_plate.png differ diff --git a/df_underworld_items/textures/dfcaverns_chest_mask_interior.png b/df_underworld_items/textures/dfcaverns_chest_mask_interior.png new file mode 100644 index 0000000..f47686e Binary files /dev/null and b/df_underworld_items/textures/dfcaverns_chest_mask_interior.png differ diff --git a/df_underworld_items/textures/dfcaverns_chest_mask_side.png b/df_underworld_items/textures/dfcaverns_chest_mask_side.png new file mode 100644 index 0000000..7e8c274 Binary files /dev/null and b/df_underworld_items/textures/dfcaverns_chest_mask_side.png differ diff --git a/df_underworld_items/textures/dfcaverns_chest_mask_top.png b/df_underworld_items/textures/dfcaverns_chest_mask_top.png new file mode 100644 index 0000000..c15e8b4 Binary files /dev/null and b/df_underworld_items/textures/dfcaverns_chest_mask_top.png differ