Added ropbox
parent
80fd11d709
commit
1528c1f964
|
@ -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.
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
})
|
Binary file not shown.
After Width: | Height: | Size: 3.4 KiB |
|
@ -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
|
||||
})
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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',
|
||||
|
|
Loading…
Reference in New Issue