diff --git a/CHANGELOG.md b/CHANGELOG.md index 38cdbea..63b0184 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [Jun 26th - **RELEASE SOON** 2024] Major Update: Adventure and Magic Update +## [Jun 26th - Jul 6th 2024] Major Update: Adventure and Magic Update **This update contains breaking changes!!** @@ -19,7 +19,7 @@ - Removed a Bunch of Colored Blocks (Because I don't want to add that much dyes, flowers, and crafting recipes) - Added String and Dyes - Replaced Every Colored Block with \ Wool Block -- Added Recipe for White, Red, Blue, Yellow, and Purple Dye +- Added Recipe for Red, Blue, Yellow, and Purple Dye - Bring Back Old Dirt Functionality - Remove Coarse Dirt - Major Codebase Refactors @@ -55,9 +55,19 @@ - *Finally* Added Stairs - Added Furniture - Added Tables + - Added Chairs + - Added Mini Tables - Minor Texture Changes - Added Gravel - Added Fireflies +- Added `explode` command +- Added `place` command +- Added a Bunch of Tiny Enhancements +- Added Crate Opening Sound + +Now that I think of it, this wasn't much of an "adventure" update.. + +... next update will have more adventure! ## [Some Day I Don't Remember] Unnamed Minor Update diff --git a/mods/pyutest_cmds/fun.lua b/mods/pyutest_cmds/fun.lua new file mode 100644 index 0000000..c4a227d --- /dev/null +++ b/mods/pyutest_cmds/fun.lua @@ -0,0 +1,22 @@ +minetest.register_privilege("fun", { + description = "Access to for fun commands", + give_to_singeplayer = true +}) + +minetest.register_chatcommand("explode", { + params = "", + description = "Create an explosion of size RANGE.", + privs = { + fun = true + }, + func = function(name, param) + local player = minetest.get_player_by_name(name) + local range = tonumber(param) + + if range == nil then + return false, "Please use a number for the range." + end + + PyuTestCore.create_explosion(player:get_pos(), range, false, range, player, true) + end +}) diff --git a/mods/pyutest_cmds/init.lua b/mods/pyutest_cmds/init.lua index ca89a66..88f9a3a 100644 --- a/mods/pyutest_cmds/init.lua +++ b/mods/pyutest_cmds/init.lua @@ -1,11 +1,4 @@ PyuTestCmds_Path = minetest.get_modpath("pyutest_cmds") dofile(PyuTestCmds_Path.."/worldedit.lua") dofile(PyuTestCmds_Path.."/gameplay.lua") - -minetest.register_chatcommand("superban", { - params = "", - description = "\"Super Ban\" PLAYER", - func = function(name, param) - return true, string.format("%s has been superbanned!", param) - end -}) +dofile(PyuTestCmds_Path.."/fun.lua") diff --git a/mods/pyutest_cmds/worldedit.lua b/mods/pyutest_cmds/worldedit.lua index d72d912..69d55a8 100644 --- a/mods/pyutest_cmds/worldedit.lua +++ b/mods/pyutest_cmds/worldedit.lua @@ -43,3 +43,15 @@ Or it can be `anyblock` which replaces any block other than air and ignore. return false, "Requires 3 arguments" end }) + +minetest.register_chatcommand("place", { + params = "", + description = "Place SCHEMATIC at player position", + privs = { + builder = true + }, + func = function(name, param) + local player = minetest.get_player_by_name(name) + minetest.place_schematic(player:get_pos(), PyuTestCore.get_schem_path(param), "random", nil, false, "place_center_x, place_center_z") + end +}) diff --git a/mods/pyutest_core/blocks.lua b/mods/pyutest_core/blocks.lua index 084733f..11355d9 100644 --- a/mods/pyutest_core/blocks.lua +++ b/mods/pyutest_core/blocks.lua @@ -48,13 +48,14 @@ PyuTestCore.node_boxes = { PyuTestCore.building_blocks = {} PyuTestCore.make_building_blocks = function (name, desc, tex, colortint, cgroups, extra_conf) - local groups = cgroups or { + local groups = PyuTestCore.util.tablecopy(cgroups) or { block = PyuTestCore.BLOCK_BREAKABLE_NORMAL } groups["block"] = groups["block"] or PyuTestCore.BLOCK_BREAKABLE_NORMAL local econf = extra_conf or {} econf["is_ground_content"] = econf["is_ground_content"] or true + econf["color"] = colortint local id_block = name.."_block" local id_carpet = name.."_carpet" @@ -73,7 +74,6 @@ PyuTestCore.make_building_blocks = function (name, desc, tex, colortint, cgroups minetest.register_node(id_block, PyuTestCore.util.tableconcat({ description = Translate(desc.." Block"), tiles = tex, - color = colortint, groups = groups, sounds = PyuTestCore.make_node_sounds(), }, econf)) @@ -82,7 +82,6 @@ PyuTestCore.make_building_blocks = function (name, desc, tex, colortint, cgroups description = Translate(desc .. " Carpet"), tiles = tex, groups = groups, - color = colortint, drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", @@ -94,7 +93,6 @@ PyuTestCore.make_building_blocks = function (name, desc, tex, colortint, cgroups description = Translate(desc.." Slab"), tiles = tex, groups = groups, - color = colortint, drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", @@ -106,7 +104,6 @@ PyuTestCore.make_building_blocks = function (name, desc, tex, colortint, cgroups description = Translate(desc.." Pillar"), tiles = tex, groups = groups, - color = colortint, drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", @@ -118,7 +115,6 @@ PyuTestCore.make_building_blocks = function (name, desc, tex, colortint, cgroups description = Translate(desc.." Stairs"), tiles = tex, groups = groups, - color = colortint, drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", @@ -494,6 +490,7 @@ PyuTestCore.make_node("pyutest_core:crate", "Crate", { "listring[nodemeta:"..spos..";main]" .. "listring[current_player;main]" minetest.show_formspec(clicker:get_player_name(), string.format("pyutest_core:crate_%d_%d_%d", pos.x, pos.y, pos.z), formspec) + minetest.sound_play({name = "crate_open", gain = 1}, {pos = pos}) end }) diff --git a/mods/pyutest_core/crafts.lua b/mods/pyutest_core/crafts.lua index aabbc2a..4738336 100644 --- a/mods/pyutest_core/crafts.lua +++ b/mods/pyutest_core/crafts.lua @@ -134,7 +134,6 @@ minetest.register_craft({ } }) - minetest.register_craft({ output = "pyutest_core:stone_pickaxe", recipe = { @@ -143,3 +142,35 @@ minetest.register_craft({ {"", "pyutest_core:stick", ""} } }) + +minetest.register_craft({ + output = "pyutest_core:red_dye", + recipe = { + "pyutest_core:flower" + }, + type = "shapeless" +}) + +minetest.register_craft({ + output = "pyutest_core:yellow_dye", + recipe = { + "pyutest_core:flower2" + }, + type = "shapeless" +}) + +minetest.register_craft({ + output = "pyutest_core:blue_dye", + recipe = { + "pyutest_core:flower3" + }, + type = "shapeless" +}) + +minetest.register_craft({ + output = "pyutest_core:purple_dye", + recipe = { + "pyutest_core:flower4" + }, + type = "shapeless" +}) diff --git a/mods/pyutest_core/furniture.lua b/mods/pyutest_core/furniture.lua index cc78010..3a190f8 100644 --- a/mods/pyutest_core/furniture.lua +++ b/mods/pyutest_core/furniture.lua @@ -10,22 +10,102 @@ PyuTestCore.FURNITURE_NODEBOXES = { PyuTestCore.make_furniture = function(name, desc, craft, tiles, cgroups, extra_conf) local econf = extra_conf or {} - local groups = cgroups or { + local groups = PyuTestCore.util.tablecopy(cgroups) or { block = PyuTestCore.BLOCK_BREAKABLE_NORMAL } groups["block"] = groups["block"] or PyuTestCore.BLOCK_BREAKABLE_NORMAL + groups["furniture"] = 1 local id_table = name.."_table" + local id_chair = name.."_chair" + local id_mtable = name.."_mtable" minetest.register_node(id_table, PyuTestCore.util.tableconcat({ description = Translate(desc.." Table"), tiles = tiles, - groups = groups, + groups = PyuTestCore.util.tableconcat(groups, { + table = 1 + }), sounds = PyuTestCore.make_node_sounds(), drawtype = "nodebox", paramtype = "light", - node_box = PyuTestCore.FURNITURE_NODEBOXES.TABLE + node_box = PyuTestCore.FURNITURE_NODEBOXES.TABLE, + connects_to = {"group:table"} }, econf)) + + minetest.register_node(id_chair, PyuTestCore.util.tableconcat({ + description = Translate(desc.." Chair"), + tiles = tiles, + groups = PyuTestCore.util.tableconcat(groups, { + chair = 1, + attached_node = 3, + }), + sounds = PyuTestCore.make_node_sounds(), + paramtype = "light", + paramtype2 = "4dir", + drawtype = "mesh", + mesh = "chair.obj", + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 1.1, 0.5} + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.10, 0.5} + } + } + }, econf)) + + minetest.register_node(id_mtable, PyuTestCore.util.tableconcat({ + description = Translate(desc.." Mini Table"), + tiles = tiles, + groups = PyuTestCore.util.tableconcat(groups, { + mtable = 1, + attached_node = 3, + }), + sounds = PyuTestCore.make_node_sounds(), + paramtype = "light", + paramtype2 = "4dir", + drawtype = "mesh", + mesh = "mtable.obj", + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5} + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5} + } + } + }, econf)) + + minetest.register_craft({ + output = id_table .. " 4", + recipe = { + {craft, craft, craft}, + {"", craft, ""}, + {"", craft, ""} + } + }) + + minetest.register_craft({ + output = id_chair .. " 4", + recipe = { + {craft, "", ""}, + {craft, craft, craft}, + {craft, "", craft} + } + }) + + minetest.register_craft({ + output = id_mtable .. " 4", + recipe = { + {craft, craft, craft}, + {craft, craft, craft} + } + }) end for _, v in pairs(PyuTestCore.building_blocks) do diff --git a/mods/pyutest_core/models/chair.mtl b/mods/pyutest_core/models/chair.mtl new file mode 100644 index 0000000..bbff51c --- /dev/null +++ b/mods/pyutest_core/models/chair.mtl @@ -0,0 +1,2 @@ +# Made in Blockbench 4.10.3 +newmtl none \ No newline at end of file diff --git a/mods/pyutest_core/models/chair.obj b/mods/pyutest_core/models/chair.obj new file mode 100644 index 0000000..167b334 --- /dev/null +++ b/mods/pyutest_core/models/chair.obj @@ -0,0 +1,417 @@ +# Made in Blockbench 4.10.3 +mtllib chair.mtl + +o cube +v 0.5 0 0.5 +v 0.5 0 0.375 +v 0.5 -0.5625 0.5 +v 0.5 -0.5625 0.375 +v 0.375 0 0.375 +v 0.375 0 0.5 +v 0.375 -0.5625 0.375 +v 0.375 -0.5625 0.5 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 3/8/2 4/7/2 2/6/2 1/5/2 +f 8/12/3 3/11/3 1/10/3 6/9/3 +f 7/16/4 8/15/4 6/14/4 5/13/4 +f 6/20/5 1/19/5 2/18/5 5/17/5 +f 7/24/6 4/23/6 3/22/6 8/21/6 +o cube +v -0.375 0 0.5 +v -0.375 0 0.375 +v -0.375 -0.5625 0.5 +v -0.375 -0.5625 0.375 +v -0.5 0 0.375 +v -0.5 0 0.5 +v -0.5 -0.5625 0.375 +v -0.5 -0.5625 0.5 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 12/28/7 15/27/7 13/26/7 10/25/7 +f 11/32/8 12/31/8 10/30/8 9/29/8 +f 16/36/9 11/35/9 9/34/9 14/33/9 +f 15/40/10 16/39/10 14/38/10 13/37/10 +f 14/44/11 9/43/11 10/42/11 13/41/11 +f 15/48/12 12/47/12 11/46/12 16/45/12 +o cube +v -0.375 0 -0.375 +v -0.375 0 -0.5 +v -0.375 -0.5625 -0.375 +v -0.375 -0.5625 -0.5 +v -0.5 0 -0.5 +v -0.5 0 -0.375 +v -0.5 -0.5625 -0.5 +v -0.5 -0.5625 -0.375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 20/52/13 23/51/13 21/50/13 18/49/13 +f 19/56/14 20/55/14 18/54/14 17/53/14 +f 24/60/15 19/59/15 17/58/15 22/57/15 +f 23/64/16 24/63/16 22/62/16 21/61/16 +f 22/68/17 17/67/17 18/66/17 21/65/17 +f 23/72/18 20/71/18 19/70/18 24/69/18 +o cube +v 0.5 0 -0.375 +v 0.5 0 -0.5 +v 0.5 -0.5625 -0.375 +v 0.5 -0.5625 -0.5 +v 0.375 0 -0.5 +v 0.375 0 -0.375 +v 0.375 -0.5625 -0.5 +v 0.375 -0.5625 -0.375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 28/76/19 31/75/19 29/74/19 26/73/19 +f 27/80/20 28/79/20 26/78/20 25/77/20 +f 32/84/21 27/83/21 25/82/21 30/81/21 +f 31/88/22 32/87/22 30/86/22 29/85/22 +f 30/92/23 25/91/23 26/90/23 29/89/23 +f 31/96/24 28/95/24 27/94/24 32/93/24 +o cube +v 0.5 0.125 0.5 +v 0.5 0.125 -0.5 +v 0.5 0 0.5 +v 0.5 0 -0.5 +v -0.5 0.125 -0.5 +v -0.5 0.125 0.5 +v -0.5 0 -0.5 +v -0.5 0 0.5 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0 +vt 0 0 +vt 0 1 +vt 1 1 +vt 1 0 +vt 0 0 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 36/100/25 39/99/25 37/98/25 34/97/25 +f 35/104/26 36/103/26 34/102/26 33/101/26 +f 40/108/27 35/107/27 33/106/27 38/105/27 +f 39/112/28 40/111/28 38/110/28 37/109/28 +f 38/116/29 33/115/29 34/114/29 37/113/29 +f 39/120/30 36/119/30 35/118/30 40/117/30 +o cube +v 0.5 1.125 0.5 +v 0.5 1.125 0.3125 +v 0.5 0.125 0.5 +v 0.5 0.125 0.3125 +v 0.3125 1.125 0.3125 +v 0.3125 1.125 0.5 +v 0.3125 0.125 0.3125 +v 0.3125 0.125 0.5 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0 +vt 0 0 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0 +vt 0 0 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0 +vt 0 0 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0 +vt 0 0 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.8125 +vt 0 0.8125 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.8125 +vt 0 0.8125 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 44/124/31 47/123/31 45/122/31 42/121/31 +f 43/128/32 44/127/32 42/126/32 41/125/32 +f 48/132/33 43/131/33 41/130/33 46/129/33 +f 47/136/34 48/135/34 46/134/34 45/133/34 +f 46/140/35 41/139/35 42/138/35 45/137/35 +f 47/144/36 44/143/36 43/142/36 48/141/36 +o cube +v -0.3125 1.125 0.5 +v -0.3125 1.125 0.3125 +v -0.3125 0.125 0.5 +v -0.3125 0.125 0.3125 +v -0.5 1.125 0.3125 +v -0.5 1.125 0.5 +v -0.5 0.125 0.3125 +v -0.5 0.125 0.5 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0 +vt 0 0 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0 +vt 0 0 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0 +vt 0 0 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0 +vt 0 0 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.8125 +vt 0 0.8125 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.8125 +vt 0 0.8125 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 52/148/37 55/147/37 53/146/37 50/145/37 +f 51/152/38 52/151/38 50/150/38 49/149/38 +f 56/156/39 51/155/39 49/154/39 54/153/39 +f 55/160/40 56/159/40 54/158/40 53/157/40 +f 54/164/41 49/163/41 50/162/41 53/161/41 +f 55/168/42 52/167/42 51/166/42 56/165/42 +o cube +v -0.3125 1.1250000000000002 0.5 +v -0.3125 1.1250000000000002 0.3125 +v 0.3125 1.125 0.5 +v 0.3125 1.125 0.3125 +v -0.3125 0.9375000000000002 0.3125 +v -0.3125 0.9375000000000002 0.5 +v 0.3125 0.9375 0.3125 +v 0.3125 0.9375 0.5 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.375 +vt 0 0.375 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.375 +vt 0 0.375 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.375 +vt 0 0.375 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.375 +vt 0 0.375 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.8125 +vt 0 0.8125 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.8125 +vt 0 0.8125 +vn 0 0 -1 +vn 2.220446049250313e-16 1 0 +vn 0 0 1 +vn -2.220446049250313e-16 -1 0 +vn -1 2.220446049250313e-16 0 +vn 1 -2.220446049250313e-16 0 +usemtl none +f 60/172/43 63/171/43 61/170/43 58/169/43 +f 59/176/44 60/175/44 58/174/44 57/173/44 +f 64/180/45 59/179/45 57/178/45 62/177/45 +f 63/184/46 64/183/46 62/182/46 61/181/46 +f 62/188/47 57/187/47 58/186/47 61/185/47 +f 63/192/48 60/191/48 59/190/48 64/189/48 +o cube +v -0.3125 0.6875000000000002 0.5 +v -0.3125 0.6875000000000002 0.3125 +v 0.3125 0.6875 0.5 +v 0.3125 0.6875 0.3125 +v -0.3125 0.5000000000000002 0.3125 +v -0.3125 0.5000000000000002 0.5 +v 0.3125 0.5 0.3125 +v 0.3125 0.5 0.5 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.375 +vt 0 0.375 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.375 +vt 0 0.375 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.375 +vt 0 0.375 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.375 +vt 0 0.375 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.8125 +vt 0 0.8125 +vt 0 1 +vt 0.1875 1 +vt 0.1875 0.8125 +vt 0 0.8125 +vn 0 0 -1 +vn 2.220446049250313e-16 1 0 +vn 0 0 1 +vn -2.220446049250313e-16 -1 0 +vn -1 2.220446049250313e-16 0 +vn 1 -2.220446049250313e-16 0 +usemtl none +f 68/196/49 71/195/49 69/194/49 66/193/49 +f 67/200/50 68/199/50 66/198/50 65/197/50 +f 72/204/51 67/203/51 65/202/51 70/201/51 +f 71/208/52 72/207/52 70/206/52 69/205/52 +f 70/212/53 65/211/53 66/210/53 69/209/53 +f 71/216/54 68/215/54 67/214/54 72/213/54 \ No newline at end of file diff --git a/mods/pyutest_core/models/mtable.mtl b/mods/pyutest_core/models/mtable.mtl new file mode 100644 index 0000000..bbff51c --- /dev/null +++ b/mods/pyutest_core/models/mtable.mtl @@ -0,0 +1,2 @@ +# Made in Blockbench 4.10.3 +newmtl none \ No newline at end of file diff --git a/mods/pyutest_core/models/mtable.obj b/mods/pyutest_core/models/mtable.obj new file mode 100644 index 0000000..8befb9a --- /dev/null +++ b/mods/pyutest_core/models/mtable.obj @@ -0,0 +1,371 @@ +# Made in Blockbench 4.10.3 +mtllib mtable.mtl + +o cube +v 0.5 0.0625 -0.375 +v 0.5 0.0625 -0.5 +v 0.5 -0.5 -0.375 +v 0.5 -0.5 -0.5 +v 0.375 0.0625 -0.5 +v 0.375 0.0625 -0.375 +v 0.375 -0.5 -0.5 +v 0.375 -0.5 -0.375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 3/8/2 4/7/2 2/6/2 1/5/2 +f 8/12/3 3/11/3 1/10/3 6/9/3 +f 7/16/4 8/15/4 6/14/4 5/13/4 +f 6/20/5 1/19/5 2/18/5 5/17/5 +f 7/24/6 4/23/6 3/22/6 8/21/6 +o cube +v -0.375 0.0625 -0.375 +v -0.375 0.0625 -0.5 +v -0.375 -0.5 -0.375 +v -0.375 -0.5 -0.5 +v -0.5 0.0625 -0.5 +v -0.5 0.0625 -0.375 +v -0.5 -0.5 -0.5 +v -0.5 -0.5 -0.375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 12/28/7 15/27/7 13/26/7 10/25/7 +f 11/32/8 12/31/8 10/30/8 9/29/8 +f 16/36/9 11/35/9 9/34/9 14/33/9 +f 15/40/10 16/39/10 14/38/10 13/37/10 +f 14/44/11 9/43/11 10/42/11 13/41/11 +f 15/48/12 12/47/12 11/46/12 16/45/12 +o cube +v 0.5 0.0625 0.5 +v 0.5 0.0625 0.375 +v 0.5 -0.5 0.5 +v 0.5 -0.5 0.375 +v 0.375 0.0625 0.375 +v 0.375 0.0625 0.5 +v 0.375 -0.5 0.375 +v 0.375 -0.5 0.5 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 20/52/13 23/51/13 21/50/13 18/49/13 +f 19/56/14 20/55/14 18/54/14 17/53/14 +f 24/60/15 19/59/15 17/58/15 22/57/15 +f 23/64/16 24/63/16 22/62/16 21/61/16 +f 22/68/17 17/67/17 18/66/17 21/65/17 +f 23/72/18 20/71/18 19/70/18 24/69/18 +o cube +v -0.375 0.0625 0.5 +v -0.375 0.0625 0.375 +v -0.375 -0.5 0.5 +v -0.375 -0.5 0.375 +v -0.5 0.0625 0.375 +v -0.5 0.0625 0.5 +v -0.5 -0.5 0.375 +v -0.5 -0.5 0.5 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.4375 +vt 0 0.4375 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 28/76/19 31/75/19 29/74/19 26/73/19 +f 27/80/20 28/79/20 26/78/20 25/77/20 +f 32/84/21 27/83/21 25/82/21 30/81/21 +f 31/88/22 32/87/22 30/86/22 29/85/22 +f 30/92/23 25/91/23 26/90/23 29/89/23 +f 31/96/24 28/95/24 27/94/24 32/93/24 +o cube +v 0.5 0.1875 0.5 +v 0.5 0.1875 -0.5 +v 0.5 0.0625 0.5 +v 0.5 0.0625 -0.5 +v -0.5 0.1875 -0.5 +v -0.5 0.1875 0.5 +v -0.5 0.0625 -0.5 +v -0.5 0.0625 0.5 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0 +vt 0 0 +vt 0 1 +vt 1 1 +vt 1 0 +vt 0 0 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 36/100/25 39/99/25 37/98/25 34/97/25 +f 35/104/26 36/103/26 34/102/26 33/101/26 +f 40/108/27 35/107/27 33/106/27 38/105/27 +f 39/112/28 40/111/28 38/110/28 37/109/28 +f 38/116/29 33/115/29 34/114/29 37/113/29 +f 39/120/30 36/119/30 35/118/30 40/117/30 +o cube +v 0.5 -0.0625 0.375 +v 0.5 -0.0625 -0.375 +v 0.5 -0.1875 0.375 +v 0.5 -0.1875 -0.375 +v -0.5 -0.0625 -0.375 +v -0.5 -0.0625 0.375 +v -0.5 -0.1875 -0.375 +v -0.5 -0.1875 0.375 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0.875 +vt 0 0.875 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vt 0 1 +vt 1 1 +vt 1 0.25 +vt 0 0.25 +vt 0 1 +vt 1 1 +vt 1 0.25 +vt 0 0.25 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 44/124/31 47/123/31 45/122/31 42/121/31 +f 43/128/32 44/127/32 42/126/32 41/125/32 +f 48/132/33 43/131/33 41/130/33 46/129/33 +f 47/136/34 48/135/34 46/134/34 45/133/34 +f 46/140/35 41/139/35 42/138/35 45/137/35 +f 47/144/36 44/143/36 43/142/36 48/141/36 +o cube +v 0.375 -0.0625 -0.375 +v 0.375 -0.0625 -0.5 +v 0.375 -0.1875 -0.375 +v 0.375 -0.1875 -0.5 +v -0.375 -0.0625 -0.5 +v -0.375 -0.0625 -0.375 +v -0.375 -0.1875 -0.5 +v -0.375 -0.1875 -0.375 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 52/148/37 55/147/37 53/146/37 50/145/37 +f 51/152/38 52/151/38 50/150/38 49/149/38 +f 56/156/39 51/155/39 49/154/39 54/153/39 +f 55/160/40 56/159/40 54/158/40 53/157/40 +f 54/164/41 49/163/41 50/162/41 53/161/41 +f 55/168/42 52/167/42 51/166/42 56/165/42 +o cube +v 0.375 -0.0625 0.5 +v 0.375 -0.0625 0.375 +v 0.375 -0.1875 0.5 +v 0.375 -0.1875 0.375 +v -0.375 -0.0625 0.375 +v -0.375 -0.0625 0.5 +v -0.375 -0.1875 0.375 +v -0.375 -0.1875 0.5 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vt 0 1 +vt 0.125 1 +vt 0.125 0.875 +vt 0 0.875 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vt 0 1 +vt 0.75 1 +vt 0.75 0.875 +vt 0 0.875 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 60/172/43 63/171/43 61/170/43 58/169/43 +f 59/176/44 60/175/44 58/174/44 57/173/44 +f 64/180/45 59/179/45 57/178/45 62/177/45 +f 63/184/46 64/183/46 62/182/46 61/181/46 +f 62/188/47 57/187/47 58/186/47 61/185/47 +f 63/192/48 60/191/48 59/190/48 64/189/48 \ No newline at end of file diff --git a/mods/pyutest_core/overrides.lua b/mods/pyutest_core/overrides.lua index e69de29..4e42485 100644 --- a/mods/pyutest_core/overrides.lua +++ b/mods/pyutest_core/overrides.lua @@ -0,0 +1,15 @@ +minetest.override_item("pyutest_core:leaves_block", { + drop = { + max_items = 1, + items = { + { + rarity = 5, + items = {"pyutest_core:apple 2"} + }, + + { + items = {"pyutest_core:leaves_block"} + } + } + } +}) diff --git a/mods/pyutest_core/sounds/crate_open.ogg b/mods/pyutest_core/sounds/crate_open.ogg new file mode 100644 index 0000000..9968aed Binary files /dev/null and b/mods/pyutest_core/sounds/crate_open.ogg differ diff --git a/mods/pyutest_core/utils.lua b/mods/pyutest_core/utils.lua index 1aff68c..e323584 100644 --- a/mods/pyutest_core/utils.lua +++ b/mods/pyutest_core/utils.lua @@ -17,6 +17,15 @@ PyuTestCore.util = { nt[#nt+i] = t2[i] end return nt + end, + + tablecopy = function(t) + if t == nil then return nil end + local t2 = {} + for k,v in pairs(t) do + t2[k] = v + end + return t2 end } @@ -80,8 +89,6 @@ PyuTestCore.create_explosion = function (pos, range, rm_pos, dmg, creator, dmg_c minetest.sound_play("block_break", { pos = pos, - gain = 1.5 + gain = 2.5 }) end - -