diff --git a/mods/furniture/init.lua b/mods/furniture/init.lua index 056d902..c85bbc9 100644 --- a/mods/furniture/init.lua +++ b/mods/furniture/init.lua @@ -102,6 +102,7 @@ dofile(minetest.get_modpath('furniture')..'/news.lua') dofile(minetest.get_modpath('furniture')..'/office.lua') --Things you'd find in an office. dofile(minetest.get_modpath('furniture')..'/outdoors.lua') dofile(minetest.get_modpath('furniture')..'/retail_shelving.lua') --Shelves like you'd find in a store. +dofile(minetest.get_modpath('furniture')..'/ropebox.lua') dofile(minetest.get_modpath('furniture')..'/seating.lua') --chairs, benches, stools dofile(minetest.get_modpath('furniture')..'/storage.lua') --Chests, boxes, etc. dofile(minetest.get_modpath('furniture')..'/tables.lua') --Not sure if I'll ever have more than one table. diff --git a/mods/furniture/models/furniture_ropebox_end.obj b/mods/furniture/models/furniture_ropebox_end.obj new file mode 100644 index 0000000..e1e8d35 --- /dev/null +++ b/mods/furniture/models/furniture_ropebox_end.obj @@ -0,0 +1,34 @@ +# Blender v3.2.1 OBJ File: 'furniture.blend' +# www.blender.org +o Ropebox_rope_end_Cube.072 +v -0.062500 -0.187500 0.062500 +v -0.062500 0.500000 0.062500 +v -0.062500 -0.187500 -0.062500 +v -0.062500 0.500000 -0.062500 +v 0.062500 -0.187500 0.062500 +v 0.062500 0.500000 0.062500 +v 0.062500 -0.187500 -0.062500 +v 0.062500 0.500000 -0.062500 +vt 0.125000 0.062500 +vt 0.125000 0.406250 +vt 0.062500 0.406250 +vt 0.062500 0.062500 +vt 0.000000 0.406250 +vt 0.000000 0.062500 +vt 0.250000 0.062500 +vt 0.250000 0.406250 +vt 0.187500 0.406250 +vt 0.187500 0.062500 +vt 0.062500 0.000000 +vt 0.000000 0.000000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 3/4/2 4/3/2 8/5/2 7/6/2 +f 7/7/3 8/8/3 6/9/3 5/10/3 +f 5/10/4 6/9/4 2/2/4 1/1/4 +f 1/11/5 3/4/5 7/6/5 5/12/5 diff --git a/mods/furniture/models/furniture_ropebox_mid.obj b/mods/furniture/models/furniture_ropebox_mid.obj new file mode 100644 index 0000000..162d80d --- /dev/null +++ b/mods/furniture/models/furniture_ropebox_mid.obj @@ -0,0 +1,30 @@ +# Blender v3.2.1 OBJ File: 'furniture.blend' +# www.blender.org +o Ropebox_rope_mid_Cube.069 +v -0.062500 -0.500000 0.062500 +v -0.062500 0.500000 0.062500 +v -0.062500 -0.500000 -0.062500 +v -0.062500 0.500000 -0.062500 +v 0.062500 -0.500000 0.062500 +v 0.062500 0.500000 0.062500 +v 0.062500 -0.500000 -0.062500 +v 0.062500 0.500000 -0.062500 +vt 0.875000 0.218750 +vt 0.875000 0.718750 +vt 0.812500 0.718750 +vt 0.812500 0.218750 +vt 0.750000 0.718750 +vt 0.750000 0.218750 +vt 1.000000 0.218750 +vt 1.000000 0.718750 +vt 0.937500 0.718750 +vt 0.937500 0.218750 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 3/4/2 4/3/2 8/5/2 7/6/2 +f 7/7/3 8/8/3 6/9/3 5/10/3 +f 5/10/4 6/9/4 2/2/4 1/1/4 diff --git a/mods/furniture/models/furniture_ropebox_top.obj b/mods/furniture/models/furniture_ropebox_top.obj new file mode 100644 index 0000000..0162705 --- /dev/null +++ b/mods/furniture/models/furniture_ropebox_top.obj @@ -0,0 +1,82 @@ +# Blender v3.2.1 OBJ File: 'furniture.blend' +# www.blender.org +o Ropebox_Cube.068 +v -0.125000 0.062500 0.187500 +v -0.125000 0.437500 0.187500 +v -0.125000 0.062500 -0.187500 +v -0.125000 0.437500 -0.187500 +v 0.125000 0.062500 0.187500 +v 0.125000 0.437500 0.187500 +v 0.125000 0.062500 -0.187500 +v 0.125000 0.437500 -0.187500 +v -0.062500 0.437500 0.125000 +v -0.062500 0.500000 0.125000 +v -0.062500 0.437500 -0.125000 +v -0.062500 0.500000 -0.125000 +v 0.062500 0.437500 0.125000 +v 0.062500 0.500000 0.125000 +v 0.062500 0.437500 -0.125000 +v 0.062500 0.500000 -0.125000 +v -0.062500 -0.500000 0.062500 +v -0.062500 0.062500 0.062500 +v -0.062500 -0.500000 -0.062500 +v -0.062500 0.062500 -0.062500 +v 0.062500 -0.500000 0.062500 +v 0.062500 0.062500 0.062500 +v 0.062500 -0.500000 -0.062500 +v 0.062500 0.062500 -0.062500 +vt 0.312500 0.687500 +vt 0.312500 0.875000 +vt 0.125000 0.875000 +vt 0.125000 0.687500 +vt 0.000000 0.875000 +vt 0.000000 0.687500 +vt 0.625000 0.687500 +vt 0.625000 0.875000 +vt 0.437500 0.875000 +vt 0.437500 0.687500 +vt 0.625000 0.562500 +vt 0.437500 0.562500 +vt 0.625000 1.000000 +vt 0.437500 1.000000 +vt 0.187500 1.000000 +vt 0.187500 0.968750 +vt 0.296875 0.968750 +vt 0.296875 1.000000 +vt 0.359375 0.968750 +vt 0.359375 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.968750 +vt 0.125000 0.968750 +vt 0.125000 1.000000 +vt 0.875000 0.718750 +vt 0.875000 1.000000 +vt 0.812500 1.000000 +vt 0.812500 0.718750 +vt 0.750000 1.000000 +vt 0.750000 0.718750 +vt 1.000000 0.718750 +vt 1.000000 1.000000 +vt 0.937500 1.000000 +vt 0.937500 0.718750 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 3/4/2 4/3/2 8/5/2 7/6/2 +f 7/7/3 8/8/3 6/9/3 5/10/3 +f 5/10/4 6/9/4 2/2/4 1/1/4 +f 3/11/5 7/7/5 5/10/5 1/12/5 +f 8/8/6 4/13/6 2/14/6 6/9/6 +f 9/15/1 10/16/1 12/17/1 11/18/1 +f 11/18/2 12/17/2 16/19/2 15/20/2 +f 15/21/3 16/22/3 14/23/3 13/24/3 +f 13/24/4 14/23/4 10/16/4 9/15/4 +f 17/25/1 18/26/1 20/27/1 19/28/1 +f 19/28/2 20/27/2 24/29/2 23/30/2 +f 23/31/3 24/32/3 22/33/3 21/34/3 +f 21/34/4 22/33/4 18/26/4 17/25/4 diff --git a/mods/furniture/ropebox.lua b/mods/furniture/ropebox.lua new file mode 100644 index 0000000..ff61a08 --- /dev/null +++ b/mods/furniture/ropebox.lua @@ -0,0 +1,85 @@ +local function after_dig_node(pos) + local node = minetest.get_node(pos) + local above_pos = {x=pos.x, y=pos.y+1, z=pos.z} + local above_name = minetest.get_node(above_pos).name + if above_name == 'furniture:ropebox_mid' then + minetest.set_node(above_pos, {name = 'furniture:ropebox_end', param2 = node.param2}) + end + local below_pos = {x=pos.x, y=pos.y-1, z=pos.z} + local below_name = minetest.get_node(below_pos).name + while below_name == 'furniture:ropebox_mid' do + minetest.remove_node(below_pos) + below_pos = {x=below_pos.x, y=below_pos.y-1, z=below_pos.z} + below_name = minetest.get_node(below_pos).name + end + if below_name == 'furniture:ropebox_end' then + minetest.remove_node(below_pos) + end +end + +minetest.register_node('furniture:ropebox_top', { + description = 'Ropbox', + drawtype = 'mesh', + mesh = 'furniture_ropebox_top.obj', + tiles = {'furniture_ropebox.png'}, + paramtype = 'light', + paramtype2 = 'facedir', + climbable = true, + sunlight_propagates = true, + walkable = false, + groups = {breakable=1}, + after_place_node = function(pos) + local node = minetest.get_node(pos) + local below_pos = {x=pos.x, y=pos.y-1, z=pos.z} + local below_name = minetest.get_node(below_pos).name + while below_name == 'air' do + minetest.set_node(below_pos, {name = 'furniture:ropebox_mid', param2 = node.param2}) + below_pos = {x=below_pos.x, y=below_pos.y-1, z=below_pos.z} + below_name = minetest.get_node(below_pos).name + end + if below_name ~= 'air' then + local pos = {x=below_pos.x, y=below_pos.y+1, z=below_pos.z} + minetest.set_node(pos, {name = 'furniture:ropebox_end', param2 = node.param2}) + end + end, + after_dig_node = after_dig_node +}) + +local box = { + type = 'fixed', + fixed = { + {-.2, -.5, -.2, .2, .5, .2}}} + +minetest.register_node('furniture:ropebox_mid', { + description = 'Ropbox', + drawtype = 'mesh', + mesh = 'furniture_ropebox_mid.obj', + tiles = {'furniture_ropebox.png'}, + paramtype = 'light', + paramtype2 = 'facedir', + drop = '', + climbable = true, + sunlight_propagates = true, + walkable = false, + selection_box = box, + collision_box = box, + groups = {breakable=1, not_in_creative_inventory=1}, + after_dig_node = after_dig_node +}) + +minetest.register_node('furniture:ropebox_end', { + description = 'Ropbox', + drawtype = 'mesh', + mesh = 'furniture_ropebox_end.obj', + tiles = {'furniture_ropebox.png'}, + paramtype = 'light', + paramtype2 = 'facedir', + drop = '', + climbable = true, + sunlight_propagates = true, + walkable = false, + selection_box = box, + collision_box = box, + groups = {breakable=1, not_in_creative_inventory=1}, + after_dig_node = after_dig_node +}) diff --git a/mods/furniture/textures/furniture_ropebox.png b/mods/furniture/textures/furniture_ropebox.png new file mode 100644 index 0000000..548ff78 Binary files /dev/null and b/mods/furniture/textures/furniture_ropebox.png differ diff --git a/mods/levels/scifi.lua b/mods/levels/scifi.lua index edb1470..4e49a9e 100644 --- a/mods/levels/scifi.lua +++ b/mods/levels/scifi.lua @@ -16,19 +16,3 @@ levels.register_basic('scifi_14', 'Sci-fi 14', 'hard') levels.register_basic('scifi_15', 'Sci-fi 15', 'hard') levels.register_basic('scifi_16', 'Sci-fi 16', 'hard') levels.register_basic('scifi_17', 'Sci-fi 17', 'hard') - -minetest.register_abm({ --This can be removed in a few weeks/months, as all levels:floor nodes should have been replaced. - label = 'convert bad nodes to color nodes.', - nodenames = {'levels:floor_red', 'levels:floor_cyan', 'levels:floor_white'}, - interval = 1, - chance = 1, - action = function(pos, node) - if node.name == 'levels:floor_red' then - minetest.set_node(pos, {name = 'color:red_blocks', param2 = 80}) - elseif node.name == 'levels:floor_cyan' then - minetest.set_node(pos, {name = 'color:aqua_blocks', param2 = 42}) - elseif node.name == 'levels:floor_white' then - minetest.set_node(pos, {name = 'color:grey_blocks', param2 = 60}) - end - end -}) diff --git a/mods/lobby/buttons.lua b/mods/lobby/buttons.lua index d3e08c4..6dcd424 100644 --- a/mods/lobby/buttons.lua +++ b/mods/lobby/buttons.lua @@ -112,7 +112,7 @@ minetest.register_node('lobby:button_0', { if owner == '' then minetest.show_formspec(player_name, 'lobby:button_claim', button_claim(pos)) elseif owner == player_name or minetest.check_player_privs(clicker, {server = true}) then - minetest.show_formspec(player_name, 'lobby:button_create', button_create(id, name, player_count, xp, pos, desc, builders, solo)) + minetest.show_formspec(player_name, 'lobby:button_create', button_create(id, name, 3, 50, pos, desc, builders, solo)) else minetest.show_formspec(player_name, 'lobby:button_display', button_display(id, name, owner, player_count, xp, pos, desc)) lobby.stat[player_name] = id diff --git a/mods/ship/objects.lua b/mods/ship/objects.lua index 33e4bf9..8ad0cf6 100644 --- a/mods/ship/objects.lua +++ b/mods/ship/objects.lua @@ -360,7 +360,7 @@ minetest.register_node('ship:energy_support', { local beam_select = { type = 'fixed', fixed = { - {-.2, -.5, -.2, .2, .5, .2},},} + {-.2, -.5, -.2, .2, .5, .2}}} minetest.register_node('ship:energy_beam', { drawtype = 'mesh',