From 29161d898b3d56cbb42666a59c40cfa2f5553baa Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Fri, 26 Aug 2022 13:42:27 -0600 Subject: [PATCH] chest node and sounds --- df_underworld_items/models/LICENSE.txt | 142 ++++++++++++++++++ .../models/dfcaverns_chest_open.obj | 79 ++++++++++ df_underworld_items/puzzle_chest.lua | 27 +++- .../sounds/dfcaverns_puzzle_chest_close.ogg | Bin 0 -> 20425 bytes .../sounds/dfcaverns_puzzle_chest_open.ogg | Bin 0 -> 34580 bytes df_underworld_items/sounds/license.txt | 5 +- .../textures/dfcaverns_chest_lock_colours.png | Bin 0 -> 146 bytes .../textures/dfcaverns_chest_lock_plate.png | Bin 0 -> 123 bytes .../dfcaverns_chest_mask_interior.png | Bin 0 -> 106 bytes .../textures/dfcaverns_chest_mask_side.png | Bin 0 -> 122 bytes .../textures/dfcaverns_chest_mask_top.png | Bin 0 -> 121 bytes 11 files changed, 248 insertions(+), 5 deletions(-) create mode 100644 df_underworld_items/models/LICENSE.txt create mode 100644 df_underworld_items/models/dfcaverns_chest_open.obj create mode 100644 df_underworld_items/sounds/dfcaverns_puzzle_chest_close.ogg create mode 100644 df_underworld_items/sounds/dfcaverns_puzzle_chest_open.ogg create mode 100644 df_underworld_items/textures/dfcaverns_chest_lock_colours.png create mode 100644 df_underworld_items/textures/dfcaverns_chest_lock_plate.png create mode 100644 df_underworld_items/textures/dfcaverns_chest_mask_interior.png create mode 100644 df_underworld_items/textures/dfcaverns_chest_mask_side.png create mode 100644 df_underworld_items/textures/dfcaverns_chest_mask_top.png 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 0000000000000000000000000000000000000000..15933eddc734b1a41cbaf28b1c647a2aacbcca5f GIT binary patch literal 20425 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f75104f7216ee1303e05de741854bd3bd16c3884 GIT binary patch literal 34580 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 Z?WHEgELl823BbQs{Fc@D_3aJ-{tw^kf@c5# literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..60d3fb456c30c32f8d1a193cd2074c030f2f234c GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=2vE`5%OV1TuSeJ+B6k z&sq}X7tBxy1fhRV836?pJzX3_D&mq4aIwr#FiBo8i)j@{Gb49Pn%=j9hVB4<28L6! Vn3R9~R-6Me&ePS;Wt~$(699=MCg%VE literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..bb94bdaea128dfe81c98f67254e33a6fb1c60d40 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0T4_#{+^yF3J7|@|jD5 z{DK(@A2o&X+XA`Lo-U3d6>-T83@1et0{@G9y!p?bwyzopr0C$%geE