New furniture and task.
|
@ -368,7 +368,7 @@ local function generate_random_board(rez, count, icons)
|
|||
tex[#tex+1] = ":"..math.random(1,rez-32)..","..math.random(1,rez-32)
|
||||
.."="..icons[math.random(1,#icons)]
|
||||
end
|
||||
tex[#tex+1] = "^[resize:16x16)"
|
||||
tex[#tex+1] = "^[resize:32x32)"
|
||||
return table.concat(tex)
|
||||
end
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ minetest.register_craftitem('color:brush', {
|
|||
end
|
||||
end,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
if pointed_thing.type ~= 'node' then return end
|
||||
local player = user:get_player_name()
|
||||
local pos = minetest.get_pointed_thing_position(pointed_thing)
|
||||
local node = minetest.get_node(pos)
|
||||
|
|
|
@ -62,7 +62,7 @@ function color.register_stair(subname, images, palette, hex, worldaligntex)
|
|||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
is_ground_content = false,
|
||||
groups = {breakable=1},
|
||||
groups = {breakable=1, stainable=1},
|
||||
node_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
|
@ -77,8 +77,6 @@ function color.register_stair(subname, images, palette, hex, worldaligntex)
|
|||
|
||||
return rotate_and_place(itemstack, placer, pointed_thing)
|
||||
end,
|
||||
on_punch = color.make_darker,
|
||||
on_rightclick = color.make_lighter,
|
||||
})
|
||||
end
|
||||
|
||||
|
@ -113,7 +111,7 @@ function color.register_slab(subname, images, palette, hex, worldaligntex)
|
|||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
is_ground_content = false,
|
||||
groups = {breakable=1},
|
||||
groups = {breakable=1, stainable=1},
|
||||
node_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||
|
@ -150,8 +148,6 @@ function color.register_slab(subname, images, palette, hex, worldaligntex)
|
|||
return rotate_and_place(itemstack, placer, pointed_thing)
|
||||
end
|
||||
end,
|
||||
on_punch = color.make_darker,
|
||||
on_rightclick = color.make_lighter,
|
||||
})
|
||||
end
|
||||
|
||||
|
@ -189,7 +185,7 @@ function color.register_stair_inner(subname, images, palette, hex, worldaligntex
|
|||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
is_ground_content = false,
|
||||
groups = {breakable=1},
|
||||
groups = {breakable=1, stainable=1},
|
||||
node_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
|
@ -205,8 +201,6 @@ function color.register_stair_inner(subname, images, palette, hex, worldaligntex
|
|||
|
||||
return rotate_and_place(itemstack, placer, pointed_thing)
|
||||
end,
|
||||
on_punch = color.make_darker,
|
||||
on_rightclick = color.make_lighter,
|
||||
})
|
||||
end
|
||||
|
||||
|
@ -245,7 +239,7 @@ function color.register_stair_outer(subname, images, palette, hex, worldaligntex
|
|||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
is_ground_content = false,
|
||||
groups = {breakable=1},
|
||||
groups = {breakable=1, stainable=1},
|
||||
node_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
|
@ -260,8 +254,6 @@ function color.register_stair_outer(subname, images, palette, hex, worldaligntex
|
|||
|
||||
return rotate_and_place(itemstack, placer, pointed_thing)
|
||||
end,
|
||||
on_punch = color.make_darker,
|
||||
on_rightclick = color.make_lighter,
|
||||
})
|
||||
end
|
||||
|
||||
|
|
|
@ -214,6 +214,7 @@ for i in ipairs(dye_table) do
|
|||
inventory_image = 'furniture_curtain_short_1.png^[multiply:'..hex,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = 'clip',
|
||||
selection_box = {
|
||||
|
@ -270,6 +271,7 @@ for i in ipairs(dye_table) do
|
|||
inventory_image = 'furniture_curtain_sl_1.png^[multiply:'..hex,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = 'clip',
|
||||
drop = 'furniture:curtain_ss_'..name..'_1',
|
||||
|
@ -324,6 +326,7 @@ for i in ipairs(dye_table) do
|
|||
inventory_image = 'furniture_curtain_sr_1.png^[multiply:'..hex,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = 'clip',
|
||||
drop = 'furniture:curtain_ss_'..name..'_1',
|
||||
|
@ -378,6 +381,7 @@ for i in ipairs(dye_table) do
|
|||
inventory_image = 'furniture_curtain_sc_1.png^[multiply:'..hex,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = 'clip',
|
||||
drop = 'furniture:curtain_ss_'..name..'_1',
|
||||
|
@ -432,6 +436,7 @@ for i in ipairs(dye_table) do
|
|||
inventory_image = 'furniture_curtain_tall_1.png^[multiply:'..hex,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = 'clip',
|
||||
selection_box = {
|
||||
|
@ -488,6 +493,7 @@ for i in ipairs(dye_table) do
|
|||
inventory_image = 'furniture_curtain_tl_1.png^[multiply:'..hex,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = 'clip',
|
||||
drop = 'furniture:curtain_tl_'..name..'_1',
|
||||
|
@ -542,6 +548,7 @@ for i in ipairs(dye_table) do
|
|||
inventory_image = 'furniture_curtain_tr_1.png^[multiply:'..hex,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = 'clip',
|
||||
drop = 'furniture:curtain_tl_'..name..'_1',
|
||||
|
@ -596,6 +603,7 @@ for i in ipairs(dye_table) do
|
|||
inventory_image = 'furniture_curtain_tc_1.png^[multiply:'..hex,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = 'clip',
|
||||
drop = 'furniture:curtain_tl_'..name..'_1',
|
||||
|
|
|
@ -99,6 +99,7 @@ dofile(minetest.get_modpath('furniture')..'/library.lua') --Books things.
|
|||
dofile(minetest.get_modpath('furniture')..'/misc.lua') --Miscilanious things that don't particularly fit any single category
|
||||
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')..'/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.
|
||||
|
|
|
@ -103,6 +103,60 @@ minetest.register_node('furniture:cabinet_counter_corner_outside', {
|
|||
on_punch = furniture.punch
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:cabinet_counter_1', {
|
||||
description = 'Cabinet with Countertop',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_cabinet_counter.obj',
|
||||
tiles = {'furniture_cabinet_counter_1.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, .5, .5},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, .5, .5},
|
||||
},
|
||||
groups = {breakable=1, stash=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:cabinet_counter_corner_inside_1', {
|
||||
description = 'Cabinet with Countertop',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_cabinet_counter_corner_inside.obj',
|
||||
tiles = {'furniture_cabinet_counter_1.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, .5, .5},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, .5, .5},
|
||||
},
|
||||
groups = {breakable=1, stash=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:cabinet_counter_corner_outside_1', {
|
||||
description = 'Cabinet with Countertop',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_cabinet_counter_corner_outside.obj',
|
||||
tiles = {'furniture_cabinet_counter_1.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, .5, .5},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, .5, .5},
|
||||
},
|
||||
groups = {breakable=1, stash=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:microwave', {
|
||||
description = 'Microwave',
|
||||
drawtype = 'mesh',
|
||||
|
|
|
@ -71,17 +71,21 @@ minetest.register_node('furniture:railing_corner', {
|
|||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, .4375, .5, .4375, .5625},
|
||||
fixed = {{-.5, -.5, .4375, .5, .4375, .5625},
|
||||
{.5625, -.5, -.5, .4375, .4375, .5625}}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, .4375, .5, 1, .5625},
|
||||
fixed = {{-.5, -.5, .4375, .5, .4375, .5625},
|
||||
{.5625, -.5, -.5, .4375, .4375, .5625}}
|
||||
},
|
||||
groups = {breakable=1},
|
||||
after_place_node = function(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
local new_pos = {x = pos.x, y = pos.y+1, z = pos.z}
|
||||
minetest.remove_node(pos)
|
||||
minetest.add_node(new_pos, {name = 'furniture:railing_corner', param2 = node.param2})
|
||||
if placer:get_player_control().sneak then
|
||||
local node = minetest.get_node(pos)
|
||||
local new_pos = {x = pos.x, y = pos.y+1, z = pos.z}
|
||||
minetest.remove_node(pos)
|
||||
minetest.add_node(new_pos, {name = 'furniture:railing_corner', param2 = node.param2})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
# Blender v2.93.5 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Retail_shelf_0_Cube.045
|
||||
v 0.500000 -0.500000 0.437500
|
||||
v 0.500000 0.500000 0.437500
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 0.500000 0.437500
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
vt 0.296875 0.734375
|
||||
vt 0.296875 0.984375
|
||||
vt 0.281250 0.984375
|
||||
vt 0.281250 0.734375
|
||||
vt 0.562500 0.734375
|
||||
vt 0.562500 0.984375
|
||||
vt 0.546875 0.984375
|
||||
vt 0.546875 0.734375
|
||||
vt 0.546875 1.000000
|
||||
vt 0.296875 1.000000
|
||||
vn 1.0000 0.0000 0.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 7/5/2 8/6/2 6/7/2 5/8/2
|
||||
f 5/8/3 6/7/3 2/2/3 1/1/3
|
||||
f 8/9/4 4/10/4 2/2/4 6/7/4
|
|
@ -0,0 +1,81 @@
|
|||
# Blender v2.93.5 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Retail_shelf_2_Cube.042
|
||||
v 0.500000 -0.500000 0.437500
|
||||
v 0.500000 0.500000 0.437500
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 0.500000 0.437500
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v -0.500000 0.250000 0.437500
|
||||
v -0.500000 0.125000 0.437500
|
||||
v -0.500000 0.250000 -0.312500
|
||||
v -0.500000 0.187500 -0.312500
|
||||
v 0.500000 0.250000 0.437500
|
||||
v 0.500000 0.125000 0.437500
|
||||
v 0.500000 0.250000 -0.312500
|
||||
v 0.500000 0.187500 -0.312500
|
||||
v 0.500000 -0.375000 -0.312500
|
||||
v 0.500000 -0.312500 -0.312500
|
||||
v 0.500000 -0.437500 0.437500
|
||||
v 0.500000 -0.312500 0.437500
|
||||
v -0.500000 -0.375000 -0.312500
|
||||
v -0.500000 -0.312500 -0.312500
|
||||
v -0.500000 -0.437500 0.437500
|
||||
v -0.500000 -0.312500 0.437500
|
||||
vt 0.296875 0.734375
|
||||
vt 0.296875 0.984375
|
||||
vt 0.281250 0.984375
|
||||
vt 0.281250 0.734375
|
||||
vt 0.031250 0.328125
|
||||
vt 0.281250 0.328125
|
||||
vt 0.281250 0.515625
|
||||
vt 0.031250 0.515625
|
||||
vt 0.562500 0.734375
|
||||
vt 0.562500 0.984375
|
||||
vt 0.546875 0.984375
|
||||
vt 0.546875 0.734375
|
||||
vt 0.031250 0.531250
|
||||
vt 0.281250 0.531250
|
||||
vt 0.546875 1.000000
|
||||
vt 0.296875 1.000000
|
||||
vt 0.296875 0.515625
|
||||
vt 0.312500 0.328125
|
||||
vt -0.000000 0.328125
|
||||
vt 0.015625 0.515625
|
||||
vt -0.000000 0.328125
|
||||
vt 0.031250 0.328125
|
||||
vt 0.031250 0.515625
|
||||
vt 0.015625 0.515625
|
||||
vt 0.296875 0.515625
|
||||
vt 0.281250 0.515625
|
||||
vt 0.281250 0.328125
|
||||
vt 0.312500 0.328125
|
||||
vt 0.031250 0.531250
|
||||
vt 0.281250 0.531250
|
||||
vt 0.281250 0.718750
|
||||
vt 0.031250 0.718750
|
||||
vt 0.281250 0.718750
|
||||
vt 0.031250 0.718750
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 -0.9965 -0.0830
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 9/5/2 13/6/2 15/7/2 11/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/12/4 6/11/4 2/2/4 1/1/4
|
||||
f 12/13/4 11/8/4 15/7/4 16/14/4
|
||||
f 8/15/2 4/16/2 2/2/2 6/11/2
|
||||
f 16/17/1 15/7/1 13/6/1 14/18/1
|
||||
f 10/19/3 9/5/3 11/8/3 12/20/3
|
||||
f 23/21/3 24/22/3 22/23/3 21/24/3
|
||||
f 17/25/1 18/26/1 20/27/1 19/28/1
|
||||
f 21/29/4 22/23/4 18/26/4 17/30/4
|
||||
f 24/22/2 20/27/2 18/26/2 22/23/2
|
||||
f 16/14/5 14/31/5 10/32/5 12/13/5
|
||||
f 17/30/5 19/33/5 23/34/5 21/29/5
|
|
@ -0,0 +1,106 @@
|
|||
# Blender v2.93.5 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Retail_shelf_3_Cube.046
|
||||
v 0.500000 -0.500000 0.437500
|
||||
v 0.500000 0.500000 0.437500
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 0.500000 0.437500
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v -0.500000 0.000000 0.437500
|
||||
v -0.500000 -0.125000 0.437500
|
||||
v -0.500000 0.000000 -0.312500
|
||||
v -0.500000 -0.062500 -0.312500
|
||||
v 0.500000 0.000000 0.437500
|
||||
v 0.500000 -0.125000 0.437500
|
||||
v 0.500000 0.000000 -0.312500
|
||||
v 0.500000 -0.062500 -0.312500
|
||||
v 0.500000 -0.437500 -0.312500
|
||||
v 0.500000 -0.375000 -0.312500
|
||||
v 0.500000 -0.500000 0.437500
|
||||
v 0.500000 -0.375000 0.437500
|
||||
v -0.500000 -0.437500 -0.312500
|
||||
v -0.500000 -0.375000 -0.312500
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 -0.375000 0.437500
|
||||
v -0.500000 0.437500 0.437500
|
||||
v -0.500000 0.312500 0.437500
|
||||
v -0.500000 0.437500 -0.312500
|
||||
v -0.500000 0.375000 -0.312500
|
||||
v 0.500000 0.437500 0.437500
|
||||
v 0.500000 0.312500 0.437500
|
||||
v 0.500000 0.437500 -0.312500
|
||||
v 0.500000 0.375000 -0.312500
|
||||
vt 0.296875 0.734375
|
||||
vt 0.296875 0.984375
|
||||
vt 0.281250 0.984375
|
||||
vt 0.281250 0.734375
|
||||
vt 0.031250 0.328125
|
||||
vt 0.281250 0.328125
|
||||
vt 0.281250 0.515625
|
||||
vt 0.031250 0.515625
|
||||
vt 0.562500 0.734375
|
||||
vt 0.562500 0.984375
|
||||
vt 0.546875 0.984375
|
||||
vt 0.546875 0.734375
|
||||
vt 0.031250 0.531250
|
||||
vt 0.281250 0.531250
|
||||
vt 0.546875 1.000000
|
||||
vt 0.296875 1.000000
|
||||
vt 0.296875 0.515625
|
||||
vt 0.312500 0.328125
|
||||
vt -0.000000 0.328125
|
||||
vt 0.015625 0.515625
|
||||
vt 0.000000 0.328125
|
||||
vt 0.031250 0.328125
|
||||
vt 0.031250 0.515625
|
||||
vt 0.015625 0.515625
|
||||
vt 0.296875 0.515625
|
||||
vt 0.281250 0.515625
|
||||
vt 0.281250 0.328125
|
||||
vt 0.312500 0.328125
|
||||
vt 0.031250 0.531250
|
||||
vt 0.281250 0.531250
|
||||
vt 0.281250 0.718750
|
||||
vt 0.031250 0.718750
|
||||
vt 0.281250 0.718750
|
||||
vt 0.031250 0.718750
|
||||
vt 0.031250 0.328125
|
||||
vt 0.281250 0.328125
|
||||
vt 0.281250 0.515625
|
||||
vt 0.031250 0.515625
|
||||
vt 0.031250 0.531250
|
||||
vt 0.281250 0.531250
|
||||
vt 0.296875 0.515625
|
||||
vt 0.312500 0.328125
|
||||
vt -0.000000 0.328125
|
||||
vt 0.015625 0.515625
|
||||
vt 0.281250 0.718750
|
||||
vt 0.031250 0.718750
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 -0.9965 -0.0830
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 9/5/2 13/6/2 15/7/2 11/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/12/4 6/11/4 2/2/4 1/1/4
|
||||
f 12/13/4 11/8/4 15/7/4 16/14/4
|
||||
f 8/15/2 4/16/2 2/2/2 6/11/2
|
||||
f 16/17/1 15/7/1 13/6/1 14/18/1
|
||||
f 10/19/3 9/5/3 11/8/3 12/20/3
|
||||
f 23/21/3 24/22/3 22/23/3 21/24/3
|
||||
f 17/25/1 18/26/1 20/27/1 19/28/1
|
||||
f 21/29/4 22/23/4 18/26/4 17/30/4
|
||||
f 24/22/2 20/27/2 18/26/2 22/23/2
|
||||
f 16/14/5 14/31/5 10/32/5 12/13/5
|
||||
f 17/30/5 19/33/5 23/34/5 21/29/5
|
||||
f 25/35/2 29/36/2 31/37/2 27/38/2
|
||||
f 28/39/4 27/38/4 31/37/4 32/40/4
|
||||
f 32/41/1 31/37/1 29/36/1 30/42/1
|
||||
f 26/43/3 25/35/3 27/38/3 28/44/3
|
||||
f 32/40/5 30/45/5 26/46/5 28/39/5
|
|
@ -0,0 +1,78 @@
|
|||
# Blender v2.93.5 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Retail_shelf_base_1_Cube.041
|
||||
v 0.500000 -0.500000 0.437500
|
||||
v 0.500000 0.500000 0.437500
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 0.500000 0.437500
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.375000
|
||||
v 0.500000 -0.312500 -0.375000
|
||||
v 0.500000 -0.500000 0.437500
|
||||
v 0.500000 -0.312500 0.437500
|
||||
v -0.500000 -0.500000 -0.375000
|
||||
v -0.500000 -0.312500 -0.375000
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 -0.312500 0.437500
|
||||
v 0.500000 0.062500 -0.312500
|
||||
v 0.500000 0.125000 -0.312500
|
||||
v 0.500000 0.000000 0.437500
|
||||
v 0.500000 0.125000 0.437500
|
||||
v -0.500000 0.062500 -0.312500
|
||||
v -0.500000 0.125000 -0.312500
|
||||
v -0.500000 0.000000 0.437500
|
||||
v -0.500000 0.125000 0.437500
|
||||
vt 0.015625 0.734375
|
||||
vt 0.015625 0.984375
|
||||
vt 0.000000 0.984375
|
||||
vt 0.000000 0.734375
|
||||
vt 0.343750 0.250000
|
||||
vt 0.296875 0.250000
|
||||
vt 0.296875 0.046875
|
||||
vt 0.343750 0.046875
|
||||
vt 0.281250 0.734375
|
||||
vt 0.281250 0.984375
|
||||
vt 0.265625 0.984375
|
||||
vt 0.265625 0.734375
|
||||
vt -0.000000 0.046875
|
||||
vt 0.046875 0.046875
|
||||
vt 0.046875 0.250000
|
||||
vt -0.000000 0.250000
|
||||
vt 0.265625 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.296875 0.000000
|
||||
vt 0.046875 0.000000
|
||||
vt 0.000000 0.328125
|
||||
vt 0.031250 0.328125
|
||||
vt 0.031250 0.515625
|
||||
vt 0.015625 0.515625
|
||||
vt 0.296875 0.515625
|
||||
vt 0.281250 0.515625
|
||||
vt 0.281250 0.328125
|
||||
vt 0.312500 0.328125
|
||||
vt 0.031250 0.531250
|
||||
vt 0.281250 0.531250
|
||||
vt 0.281250 0.718750
|
||||
vt 0.031250 0.718750
|
||||
vn 1.0000 0.0000 0.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 -0.9965 -0.0830
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 15/5/2 16/6/2 14/7/2 13/8/2
|
||||
f 7/9/2 8/10/2 6/11/2 5/12/2
|
||||
f 5/12/3 6/11/3 2/2/3 1/1/3
|
||||
f 9/13/1 10/14/1 12/15/1 11/16/1
|
||||
f 8/17/4 4/18/4 2/2/4 6/11/4
|
||||
f 13/19/3 14/7/3 10/14/3 9/20/3
|
||||
f 16/6/4 12/15/4 10/14/4 14/7/4
|
||||
f 23/21/2 24/22/2 22/23/2 21/24/2
|
||||
f 17/25/1 18/26/1 20/27/1 19/28/1
|
||||
f 21/29/3 22/23/3 18/26/3 17/30/3
|
||||
f 24/22/4 20/27/4 18/26/4 22/23/4
|
||||
f 17/30/5 19/31/5 23/32/5 21/29/5
|
|
@ -0,0 +1,100 @@
|
|||
# Blender v2.93.5 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Retail_shelf_base_2_Cube.044
|
||||
v 0.500000 -0.500000 0.437500
|
||||
v 0.500000 0.500000 0.437500
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 0.500000 0.437500
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.375000
|
||||
v 0.500000 -0.312500 -0.375000
|
||||
v 0.500000 -0.500000 0.437500
|
||||
v 0.500000 -0.312500 0.437500
|
||||
v -0.500000 -0.500000 -0.375000
|
||||
v -0.500000 -0.312500 -0.375000
|
||||
v -0.500000 -0.500000 0.437500
|
||||
v -0.500000 -0.312500 0.437500
|
||||
v -0.500000 0.125000 0.437500
|
||||
v -0.500000 -0.312500 0.437500
|
||||
v -0.500000 0.125000 -0.312500
|
||||
v -0.500000 -0.312500 -0.312500
|
||||
v 0.500000 0.125000 0.437500
|
||||
v 0.500000 -0.312500 0.437500
|
||||
v 0.500000 0.125000 -0.312500
|
||||
v 0.500000 -0.312500 -0.312500
|
||||
v -0.437500 0.125000 -0.250000
|
||||
v 0.437500 0.125000 -0.250000
|
||||
v -0.437500 0.125000 0.437500
|
||||
v 0.437500 0.125000 0.437500
|
||||
v -0.437500 -0.312500 -0.250000
|
||||
v 0.437500 -0.312500 -0.250000
|
||||
v -0.437500 -0.312500 0.437500
|
||||
v 0.437500 -0.312500 0.437500
|
||||
vt 0.015625 0.734375
|
||||
vt 0.015625 0.984375
|
||||
vt 0.000000 0.984375
|
||||
vt 0.000000 0.734375
|
||||
vt 0.343750 0.250000
|
||||
vt 0.296875 0.250000
|
||||
vt 0.296875 0.046875
|
||||
vt 0.343750 0.046875
|
||||
vt 0.281250 0.734375
|
||||
vt 0.281250 0.984375
|
||||
vt 0.265625 0.984375
|
||||
vt 0.265625 0.734375
|
||||
vt 0.000000 0.046875
|
||||
vt 0.046875 0.046875
|
||||
vt 0.046875 0.250000
|
||||
vt 0.000000 0.250000
|
||||
vt 0.265625 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.296875 0.000000
|
||||
vt 0.046875 0.000000
|
||||
vt 0.375000 0.109375
|
||||
vt 0.562500 0.109375
|
||||
vt 0.546875 0.125000
|
||||
vt 0.375000 0.125000
|
||||
vt 0.812500 -0.000000
|
||||
vt 0.812500 0.109375
|
||||
vt 0.562500 -0.000000
|
||||
vt 0.375000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.109375
|
||||
vt 0.796875 0.125000
|
||||
vt 0.578125 0.125000
|
||||
vt 1.000000 0.125000
|
||||
vt 0.828125 0.125000
|
||||
vt 0.796875 0.250000
|
||||
vt 0.578125 0.250000
|
||||
vt 0.578125 0.140625
|
||||
vt 0.796875 0.140625
|
||||
vt 0.968750 0.250000
|
||||
vt 0.968750 0.140625
|
||||
vt 0.406250 0.250000
|
||||
vt 0.406250 0.140625
|
||||
vn 1.0000 0.0000 0.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 0.0000 1.0000
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 15/5/2 16/6/2 14/7/2 13/8/2
|
||||
f 7/9/2 8/10/2 6/11/2 5/12/2
|
||||
f 5/12/3 6/11/3 2/2/3 1/1/3
|
||||
f 9/13/1 10/14/1 12/15/1 11/16/1
|
||||
f 8/17/4 4/18/4 2/2/4 6/11/4
|
||||
f 13/19/3 14/7/3 10/14/3 9/20/3
|
||||
f 16/6/4 12/15/4 10/14/4 14/7/4
|
||||
f 21/21/4 23/22/4 26/23/4 28/24/4
|
||||
f 20/25/3 19/26/3 23/22/3 24/27/3
|
||||
f 24/27/1 23/22/1 21/21/1 22/28/1
|
||||
f 18/29/2 17/30/2 19/26/2 20/25/2
|
||||
f 23/22/4 19/26/4 25/31/4 26/32/4
|
||||
f 19/26/4 17/30/4 27/33/4 25/34/4
|
||||
f 26/35/5 25/36/5 29/37/5 30/38/5
|
||||
f 28/39/2 26/35/2 30/38/2 32/40/2
|
||||
f 25/36/1 27/41/1 31/42/1 29/37/1
|
|
@ -0,0 +1,49 @@
|
|||
minetest.register_node('furniture:retail_shelf_base_1',{
|
||||
description = 'Retail Shelving Base',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_rshelf_base_1.obj',
|
||||
tiles = {'furniture_retail_shelving.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:retail_shelf_base_2',{
|
||||
description = 'Retail Shelving Base',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_rshelf_base_2.obj',
|
||||
tiles = {'furniture_retail_shelving.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:retail_shelf_1',{
|
||||
description = 'Retail Shelving',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_rshelf_1.obj',
|
||||
tiles = {'furniture_retail_shelving.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:retail_shelf_2',{
|
||||
description = 'Retail Shelving',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_rshelf_2.obj',
|
||||
tiles = {'furniture_retail_shelving.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:retail_shelf_3',{
|
||||
description = 'Retail Shelving',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_rshelf_3.obj',
|
||||
tiles = {'furniture_retail_shelving.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
groups = {breakable=1},
|
||||
})
|
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 31 KiB |
|
@ -0,0 +1,45 @@
|
|||
local glass_table = { --name, description, texture Set img transparency to 15 before Export.
|
||||
{'white', 'White', '01'},
|
||||
{'grey75', 'Light Grey', '02'},
|
||||
{'grey50', 'Grey', '03'},
|
||||
{'grey25', 'Dark Grey', '04'},
|
||||
{'black', 'Black', '05'}
|
||||
}
|
||||
|
||||
for i in ipairs (glass_table) do
|
||||
local name = glass_table[i][1]
|
||||
local desc = glass_table[i][2]
|
||||
local texture = glass_table[i][3]
|
||||
|
||||
minetest.register_node('glass:'..name..'s', {
|
||||
description = desc..' Glass',
|
||||
drawtype = 'nodebox',
|
||||
node_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-0.5, -0.5, -0.1, 0.5, 0.5, 0.1}
|
||||
},
|
||||
tiles = {'blank.png', 'blank.png', 'blank.png', 'blank.png', 'glass-'..texture..'.png', 'glass-'..texture..'.png'},
|
||||
inventory_image = 'glass-'..texture..'.png',
|
||||
use_texture_alpha = 'blend',
|
||||
sunlight_propagates = true,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('glass:'..name..'d', {
|
||||
description = desc..' Glass (Double Height)',
|
||||
drawtype = 'nodebox',
|
||||
node_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-0.5, -0.5, -0.1, 0.5, 1.5, 0.1}
|
||||
},
|
||||
tiles = {'blank.png', 'blank.png', 'blank.png', 'blank.png', 'glass-'..texture..'.png', 'glass-'..texture..'.png'},
|
||||
inventory_image = 'glass-'..texture..'.png^glass-x2.png',
|
||||
use_texture_alpha = 'blend',
|
||||
sunlight_propagates = true,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
groups = {breakable=1},
|
||||
})
|
||||
end
|
|
@ -0,0 +1,8 @@
|
|||
Code is licensed MIT, Media CC by SA 4.0
|
||||
Copyright 2020 Nathan Salapat
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
-------------------
|
|
@ -0,0 +1 @@
|
|||
name = glass
|
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 636 B |
|
@ -1,9 +1,9 @@
|
|||
minetest.register_node("levels:glass_01", {
|
||||
description = "Glass",
|
||||
drawtype = "glasslike_framed",
|
||||
tiles = {"levels_glass.png", "levels_glass_detail.png"},
|
||||
use_texture_alpha = "clip", -- only needed for stairs API
|
||||
paramtype = "light",
|
||||
minetest.register_node('levels:glass_01', {
|
||||
description = 'Glass',
|
||||
drawtype = 'glasslike_framed',
|
||||
tiles = {'levels_glass.png', 'levels_glass_detail.png'},
|
||||
use_texture_alpha = 'clip', -- only needed for stairs API
|
||||
paramtype = 'light',
|
||||
sunlight_propagates = true,
|
||||
groups = {breakable = 1},
|
||||
-- sounds = default.node_sound_glass_defaults(),
|
||||
|
|
|
@ -72,6 +72,7 @@ dofile(minetest.get_modpath('levels')..'/ducts.lua')
|
|||
dofile(minetest.get_modpath('levels')..'/glass.lua')
|
||||
dofile(minetest.get_modpath('levels')..'/ground.lua')
|
||||
dofile(minetest.get_modpath('levels')..'/metal.lua')
|
||||
dofile(minetest.get_modpath('levels')..'/misc.lua')
|
||||
dofile(minetest.get_modpath('levels')..'/scifi.lua')
|
||||
dofile(minetest.get_modpath('levels')..'/specials.lua')
|
||||
dofile(minetest.get_modpath('levels')..'/stone.lua')
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
levels.register_basic('crate_0', 'Wooden Crate', 'wood', 0)
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 123 B After Width: | Height: | Size: 1.4 KiB |
|
@ -26,3 +26,34 @@ lights.chandelier_removal = function(pos)
|
|||
local pos2 = {x=pos.x+2, y=pos.y-4, z=pos.z+2}
|
||||
worldedit.replace(pos1, pos2, 'lights:source_14', 'air', false)
|
||||
end
|
||||
|
||||
lights.drop_light = function(pos, val) --Drops a light to the ground
|
||||
local i = 1
|
||||
while i < 20 do
|
||||
local new_pos = {x=pos.x, y=pos.y-i, z=pos.z}
|
||||
local new_node = minetest.get_node(new_pos)
|
||||
if new_node.name == 'air' then
|
||||
i = i + 1
|
||||
end
|
||||
if new_node.name ~= 'air' then
|
||||
if i > 2 then
|
||||
i = i - 1
|
||||
minetest.set_node({x=pos.x, y=pos.y-i, z=pos.z},{name='lights:source_'..val})
|
||||
end
|
||||
i = 21
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
lights.dropped_light_removal = function(pos) --Removes a dropped light.
|
||||
local i = 1
|
||||
while i < 20 do
|
||||
local new_pos = {x=pos.x, y=pos.y-i, z=pos.z}
|
||||
local new_node = minetest.get_node(new_pos)
|
||||
if minetest.get_item_group(new_node.name, 'invisible_light') > 0 then
|
||||
minetest.remove_node(new_pos)
|
||||
i = 21
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,6 +15,7 @@ end
|
|||
dofile(minetest.get_modpath('lights')..'/functions.lua')
|
||||
dofile(minetest.get_modpath('lights')..'/modern.lua')
|
||||
dofile(minetest.get_modpath('lights')..'/vintage.lua')
|
||||
dofile(minetest.get_modpath('lights')..'/outdoor.lua')
|
||||
dofile(minetest.get_modpath('lights')..'/scifi.lua')
|
||||
dofile(minetest.get_modpath('lights')..'/neon.lua')
|
||||
dofile(minetest.get_modpath('lights')..'/nodes.lua')
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
# Blender v2.93.5 OBJ File: 'lights.blend'
|
||||
# www.blender.org
|
||||
o chandelier.001_Cube.013
|
||||
v -0.031250 -0.500000 0.031250
|
||||
v -0.031250 0.500000 0.031250
|
||||
v -0.031250 -0.500000 -0.031250
|
||||
v -0.031250 0.500000 -0.031250
|
||||
v 0.031250 -0.500000 0.031250
|
||||
v 0.031250 0.500000 0.031250
|
||||
v 0.031250 -0.500000 -0.031250
|
||||
v 0.031250 0.500000 -0.031250
|
||||
vt 0.187500 -0.000000
|
||||
vt 0.187500 1.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.125000 -0.000000
|
||||
vt 0.062500 1.000000
|
||||
vt 0.062500 -0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 -0.000000
|
||||
vt 0.250000 -0.000000
|
||||
vt 0.250000 1.000000
|
||||
vt 0.187500 0.062500
|
||||
vt 0.250000 0.062500
|
||||
vt 0.250000 0.937500
|
||||
vt 0.187500 0.937500
|
||||
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/6/3 8/5/3 6/7/3 5/8/3
|
||||
f 5/9/4 6/10/4 2/2/4 1/1/4
|
||||
f 3/11/5 7/12/5 5/9/5 1/1/5
|
||||
f 8/13/6 4/14/6 2/2/6 6/10/6
|
|
@ -0,0 +1,34 @@
|
|||
# Blender v2.93.5 OBJ File: 'lights.blend'
|
||||
# www.blender.org
|
||||
o Street_light_base_Cube.014
|
||||
v -0.187500 -1.000000 0.187500
|
||||
v -0.187500 0.500000 0.187500
|
||||
v -0.187500 -1.000000 -0.187500
|
||||
v -0.187500 0.500000 -0.187500
|
||||
v 0.187500 -1.000000 0.187500
|
||||
v 0.187500 0.500000 0.187500
|
||||
v 0.187500 -1.000000 -0.187500
|
||||
v 0.187500 0.500000 -0.187500
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.187500 0.750000
|
||||
vt 0.187500 0.000000
|
||||
vt -0.000000 0.750000
|
||||
vt -0.000000 0.000000
|
||||
vt 0.750000 0.000000
|
||||
vt 0.750000 0.750000
|
||||
vt 0.562500 0.750000
|
||||
vt 0.562500 0.000000
|
||||
vt 0.187500 0.937500
|
||||
vt -0.000000 0.937500
|
||||
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 8/5/5 4/3/5 2/11/5 6/12/5
|
|
@ -0,0 +1,62 @@
|
|||
# Blender v2.93.5 OBJ File: 'lights.blend'
|
||||
# www.blender.org
|
||||
o Street_light_light_Cube.020
|
||||
v 0.093750 0.183403 0.903347
|
||||
v 0.093750 0.306504 0.925053
|
||||
v -0.093750 0.183403 0.903347
|
||||
v -0.093750 0.306504 0.925053
|
||||
v 0.093750 0.313640 0.164741
|
||||
v 0.093750 0.436741 0.186447
|
||||
v -0.093750 0.313640 0.164741
|
||||
v -0.093750 0.436741 0.186447
|
||||
v 0.156250 0.250000 0.187500
|
||||
v 0.156250 0.437500 0.187500
|
||||
v -0.156250 0.250000 0.187500
|
||||
v -0.156250 0.437500 0.187500
|
||||
v 0.156250 0.250000 -0.125000
|
||||
v 0.156250 0.437500 -0.125000
|
||||
v -0.156250 0.250000 -0.125000
|
||||
v -0.156250 0.437500 -0.125000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.312500 0.000000
|
||||
vt 0.312500 0.375000
|
||||
vt 0.250000 0.375000
|
||||
vt 0.500000 0.093750
|
||||
vt 0.593750 0.093750
|
||||
vt 0.593750 0.250000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.156250 0.375000
|
||||
vt 0.093750 0.375000
|
||||
vt 0.093750 0.000000
|
||||
vt 0.156250 0.000000
|
||||
vt 0.000000 0.375000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.250000
|
||||
vt 1.000000 0.343750
|
||||
vt 0.843750 0.343750
|
||||
vt 0.843750 0.250000
|
||||
vt 0.843750 0.093750
|
||||
vt 0.843750 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.093750
|
||||
vt 0.750000 0.250000
|
||||
vt 0.750000 0.093750
|
||||
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.9848 0.1736
|
||||
vn 0.0000 -0.9848 -0.1736
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
s off
|
||||
f 3/1/1 4/2/1 8/3/1 7/4/1
|
||||
f 9/5/2 10/6/2 12/7/2 11/8/2
|
||||
f 5/9/3 6/10/3 2/11/3 1/12/3
|
||||
f 8/13/4 4/14/4 2/11/4 6/10/4
|
||||
f 3/1/5 7/4/5 5/9/5 1/12/5
|
||||
f 11/15/1 12/16/1 16/17/1 15/18/1
|
||||
f 13/19/3 14/20/3 10/21/3 9/22/3
|
||||
f 16/23/6 12/7/6 10/6/6 14/24/6
|
||||
f 11/15/7 15/18/7 13/19/7 9/22/7
|
||||
f 15/18/8 16/23/8 14/24/8 13/19/8
|
|
@ -0,0 +1,34 @@
|
|||
# Blender v2.93.5 OBJ File: 'lights.blend'
|
||||
# www.blender.org
|
||||
o Street_light_top_Cube.015
|
||||
v -0.125000 -0.500000 0.125000
|
||||
v -0.125000 0.500000 0.125000
|
||||
v -0.125000 -0.500000 -0.125000
|
||||
v -0.125000 0.500000 -0.125000
|
||||
v 0.125000 -0.500000 0.125000
|
||||
v 0.125000 0.500000 0.125000
|
||||
v 0.125000 -0.500000 -0.125000
|
||||
v 0.125000 0.500000 -0.125000
|
||||
vt 0.250000 -0.000000
|
||||
vt 0.250000 0.500000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.125000 -0.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 -0.000000
|
||||
vt 0.500000 -0.000000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.375000 -0.000000
|
||||
vt 0.125000 0.625000
|
||||
vt 0.000000 0.625000
|
||||
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 8/5/5 4/3/5 2/11/5 6/12/5
|
|
@ -104,4 +104,21 @@ minetest.register_node('lights:chandelier_1', {
|
|||
groups = {breakable=1},
|
||||
after_place_node = lights.chandelier_placement,
|
||||
on_destruct = lights.chandelier_removal,
|
||||
on_punch = lights.chandelier_placement
|
||||
})
|
||||
|
||||
minetest.register_node('lights:chandelier_rod_br', {
|
||||
description = 'Chandelier Rod (Oil Rubbed Bronze)',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'lights_chandelier_rod.obj',
|
||||
tiles = {'lights_chandelier_rod_br.png'},
|
||||
paramtype = 'light',
|
||||
light_source = 2,
|
||||
selection_box = {type = 'fixed',
|
||||
fixed = {
|
||||
{-.1, -.5, -.1, .1, .5, .1},}},
|
||||
collision_box = {type = 'fixed',
|
||||
fixed = {
|
||||
{-.1, -.5, -.1, .1, .5, .1},}},
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
minetest.register_node('lights:street_light_base', {
|
||||
description = 'Street Light Base',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'lights_street_light_base.obj',
|
||||
tiles = {'lights_street_light_base.png'},
|
||||
paramtype = 'light',
|
||||
selection_box = {type = 'fixed',
|
||||
fixed = {
|
||||
{-.2, -.5, -.2, .2, .5, .2},}},
|
||||
collision_box = {type = 'fixed',
|
||||
fixed = {
|
||||
{-.2, -.5, -.2, .2, .5, .2},}},
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('lights:street_light_top', {
|
||||
description = 'Street Light top',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'lights_street_light_top.obj',
|
||||
tiles = {'lights_street_light_top.png'},
|
||||
paramtype = 'light',
|
||||
selection_box = {type = 'fixed',
|
||||
fixed = {
|
||||
{-.125, -.5, -.125, .125, .5, .125},}},
|
||||
collision_box = {type = 'fixed',
|
||||
fixed = {
|
||||
{-.125, -.5, -.125, .125, .5, .125},}},
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('lights:street_light_light', {
|
||||
description = 'Street Light',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'lights_street_light_light.obj',
|
||||
tiles = {'lights_street_light_light.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
light_source = 14,
|
||||
selection_box = {type = 'fixed',
|
||||
fixed = {
|
||||
{-.2, .2, -.2, .2, .5, .75},}},
|
||||
collision_box = {type = 'fixed',
|
||||
fixed = {
|
||||
{-.2, .2, -.2, .2, .5, .75},}},
|
||||
groups = {breakable=1},
|
||||
on_construct = function(pos)
|
||||
lights.drop_light(pos, 14)
|
||||
end,
|
||||
on_destruct = lights.dropped_light_removal
|
||||
})
|
After Width: | Height: | Size: 814 B |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
|
@ -3,13 +3,13 @@ local esc = minetest.formspec_escape
|
|||
local function button_create(id, name, player_count, xp, pos, desc)
|
||||
local formspec =
|
||||
'formspec_version[3]'..
|
||||
'size[12,12]'..
|
||||
'size[12,8.5]'..
|
||||
'field[0.5,1;5,.5;ID;ID Must not contain spaces or special characters;'..esc(id)..']'..
|
||||
'field[6,1;5,.5;name;Map Name;'..esc(name)..']'..
|
||||
'field[0.5,2;3,.5;player_count;Required # of Players;'..esc(player_count)..']'..
|
||||
'field[4,2;3,.5;xp;Required XP;'..esc(xp)..']'..
|
||||
'field[7.5,2;3,.5;pos;Spawn POS (x,y,z);'..esc(pos)..']'..
|
||||
'textarea[0.5,3;10,3;desc;Description of map;'..esc(desc)..']'..
|
||||
'textarea[0.5,3;10,3.5;desc;Description of map;'..esc(desc)..']'..
|
||||
'button_exit[3,7;2,1;save;Submit]'..
|
||||
'button_exit[6,7;2,1;discard;Unclaim]'
|
||||
return formspec
|
||||
|
@ -18,13 +18,13 @@ end
|
|||
local function button_display(id, name, player_count, xp, pos, desc)
|
||||
local formspec =
|
||||
'formspec_version[3]'..
|
||||
'size[12,6]'..
|
||||
'size[12,8]'..
|
||||
'textarea[0.5,1;5,2;;Map Name;'..esc(name)..']'..
|
||||
'textarea[0.5,2;5,2;;Required # of Players;'..esc(player_count)..']'..
|
||||
'textarea[0.5,3;5,2;;Required XP;'..esc(xp)..']'..
|
||||
'textarea[0.5,4;10,3;;Description of map;'..esc(desc)..']'..
|
||||
'textarea[0.5,4;11,3.5;;Description of map:;'..esc(desc)..']'..
|
||||
'textarea[5,1;6,4;;;Sneak punch to visit without starting a game. Return with /spawn.\n'..
|
||||
'Be sure all interested parties are standing within four nodes of the button before punching.]'
|
||||
'Be sure all interested parties are standing within three nodes of the button before punching.]'
|
||||
return formspec
|
||||
end
|
||||
|
||||
|
@ -37,7 +37,7 @@ local button_claim =
|
|||
minetest.register_node('lobby:button_0', {
|
||||
description = 'Unconfigured Button',
|
||||
tiles = {'lobby_button_0.png'},
|
||||
groups = {breakable=1},
|
||||
groups = {breakable=1, not_in_creative_inventory=1},
|
||||
light_source = 5,
|
||||
after_place_node = function(pos, placer)
|
||||
local meta = minetest.get_meta(pos)
|
||||
|
@ -46,7 +46,7 @@ minetest.register_node('lobby:button_0', {
|
|||
meta:set_string('name', '')
|
||||
meta:set_string('player_count', '')
|
||||
meta:set_string('xp', '')
|
||||
meta:set_string('pos', '0,0,0')
|
||||
meta:set_string('pos', '')
|
||||
meta:set_string('desc', '')
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
|
@ -193,7 +193,7 @@ minetest.register_node('lobby:button_1', {
|
|||
minetest.chat_send_player(puncher:get_player_name(), 'Taking you to the level.')
|
||||
else
|
||||
local needed_players = tonumber(meta:get_string('player_count')) or 8
|
||||
local objs = minetest.get_objects_inside_radius(pos, 4)
|
||||
local objs = minetest.get_objects_inside_radius(pos, 3)
|
||||
local player_count = 0
|
||||
local map_players = {}
|
||||
for _, obj in pairs(objs) do
|
||||
|
|
|
@ -12,7 +12,7 @@ minetest.register_chatcommand('spawn', {
|
|||
privs = {creative=true},
|
||||
func = function (name)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
player:set_pos({x=0, y=0, z=0})
|
||||
player:set_pos({x=30000, y=-18, z=30000})
|
||||
end
|
||||
})
|
||||
|
||||
|
@ -35,7 +35,7 @@ minetest.register_chatcommand('lobby', {
|
|||
color = {a = 255, r = 255, g = 255, b = 255}
|
||||
})
|
||||
player:set_properties({visual_size = {x = 1, y = 1}, collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}})
|
||||
player:set_pos({x=0, y=0, z=0})
|
||||
player:set_pos({x=30000, y=-18, z=30000})
|
||||
minetest.chat_send_player(name, 'Here you are.')
|
||||
player_attributes:set_string('ghost', 'false')
|
||||
local player_inv = player:get_inventory()
|
||||
|
@ -54,7 +54,7 @@ minetest.register_chatcommand('kick', {
|
|||
if name == params then
|
||||
local traitor = lobby.traitors[map_id]
|
||||
local player = minetest.get_player_by_name(name)
|
||||
player:set_pos({x=0, y=0, z=0})
|
||||
player:set_pos({x=30000, y=-18, z=30000})
|
||||
local player_inv = player:get_inventory()
|
||||
player_inv:set_list('main', {})
|
||||
lobby.game[name] = 'lobby'
|
||||
|
|
|
@ -22,10 +22,10 @@ minetest.register_on_joinplayer(function(player)
|
|||
if not_builder(player) then
|
||||
local player_inv = player:get_inventory()
|
||||
player_inv:set_list('main', {})
|
||||
player:set_pos({x=0, y=0, z=0})
|
||||
player:set_pos({x=30000, y=-18, z=30000})
|
||||
end
|
||||
if not pro_player(player) then
|
||||
player:set_pos({x=-30, y=0, z=12})
|
||||
player:set_pos({x=30000, y=-18, z=30000})
|
||||
minetest.show_formspec(name, 'lobby:help_1', lobby_help_1)
|
||||
end
|
||||
end)
|
||||
|
|
|
@ -35,7 +35,7 @@ end
|
|||
-- Register stair
|
||||
-- Node will be called stairs:stair_<subname>
|
||||
|
||||
function stairs.register_stair(subname, groups, images, sounds, worldaligntex)
|
||||
function stairs.register_stair(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
-- Set backface culling and world-aligned textures
|
||||
local stair_images = {}
|
||||
for i, image in ipairs(images) do
|
||||
|
@ -63,6 +63,7 @@ function stairs.register_stair(subname, groups, images, sounds, worldaligntex)
|
|||
description = subname..' stair',
|
||||
drawtype = 'nodebox',
|
||||
tiles = stair_images,
|
||||
use_texture_alpha = alpha,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
is_ground_content = false,
|
||||
|
@ -89,7 +90,7 @@ end
|
|||
-- Register slab
|
||||
-- Node will be called stairs:slab_<subname>
|
||||
|
||||
function stairs.register_slab(subname, groups, images, sounds, worldaligntex)
|
||||
function stairs.register_slab(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
-- Set world-aligned textures
|
||||
local slab_images = {}
|
||||
for i, image in ipairs(images) do
|
||||
|
@ -113,6 +114,7 @@ function stairs.register_slab(subname, groups, images, sounds, worldaligntex)
|
|||
description = subname..' slab',
|
||||
drawtype = 'nodebox',
|
||||
tiles = slab_images,
|
||||
use_texture_alpha = alpha,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
is_ground_content = false,
|
||||
|
@ -160,7 +162,7 @@ end
|
|||
-- Register inner stair
|
||||
-- Node will be called stairs:stair_inner_<subname>
|
||||
|
||||
function stairs.register_stair_inner(subname, groups, images, sounds, worldaligntex)
|
||||
function stairs.register_stair_inner(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
-- Set backface culling and world-aligned textures
|
||||
local stair_images = {}
|
||||
for i, image in ipairs(images) do
|
||||
|
@ -188,6 +190,7 @@ function stairs.register_stair_inner(subname, groups, images, sounds, worldalign
|
|||
description = subname..' inner stair',
|
||||
drawtype = 'nodebox',
|
||||
tiles = stair_images,
|
||||
use_texture_alpha = alpha,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
is_ground_content = false,
|
||||
|
@ -215,7 +218,7 @@ end
|
|||
-- Register outer stair
|
||||
-- Node will be called stairs:stair_outer_<subname>
|
||||
|
||||
function stairs.register_stair_outer(subname, groups, images, sounds, worldaligntex)
|
||||
function stairs.register_stair_outer(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
-- Set backface culling and world-aligned textures
|
||||
local stair_images = {}
|
||||
for i, image in ipairs(images) do
|
||||
|
@ -243,6 +246,7 @@ function stairs.register_stair_outer(subname, groups, images, sounds, worldalign
|
|||
description = subname..' outer stair',
|
||||
drawtype = 'nodebox',
|
||||
tiles = stair_images,
|
||||
use_texture_alpha = alpha,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
is_ground_content = false,
|
||||
|
@ -269,9 +273,9 @@ end
|
|||
-- Stair/slab registration function.
|
||||
-- Nodes will be called stairs:{stair,slab}_<subname>
|
||||
|
||||
function stairs.register_stair_and_slab(subname, groups, images, sounds, worldaligntex)
|
||||
stairs.register_stair(subname, groups, images, sounds, worldaligntex)
|
||||
stairs.register_stair_inner(subname, groups, images, sounds, worldaligntex)
|
||||
stairs.register_stair_outer(subname, groups, images, sounds, worldaligntex)
|
||||
stairs.register_slab(subname, groups, images, sounds, worldaligntex)
|
||||
function stairs.register_stair_and_slab(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
stairs.register_stair(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
stairs.register_stair_inner(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
stairs.register_stair_outer(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
stairs.register_slab(subname, groups, images, sounds, worldaligntex, alpha)
|
||||
end
|
||||
|
|
|
@ -13,6 +13,7 @@ dofile(minetest.get_modpath('tasks')..'/engine_0.lua')
|
|||
dofile(minetest.get_modpath('tasks')..'/engine_1.lua')
|
||||
dofile(minetest.get_modpath('tasks')..'/example.lua')
|
||||
dofile(minetest.get_modpath('tasks')..'/items.lua')
|
||||
dofile(minetest.get_modpath('tasks')..'/match.lua')
|
||||
dofile(minetest.get_modpath('tasks')..'/rubbish.lua')
|
||||
dofile(minetest.get_modpath('tasks')..'/smoke_detector.lua')
|
||||
dofile(minetest.get_modpath('tasks')..'/storage_locker.lua')
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
for i = 1,8 do
|
||||
minetest.register_craftitem('tasks:card_'..i, {
|
||||
description = 'Playing Card',
|
||||
inventory_image = 'tasks_playing_card.png',
|
||||
stack_max = 1,
|
||||
groups = {not_in_creative_inventory=1}
|
||||
})
|
||||
end
|
||||
|
||||
local function match_formspec(pname, tries, card1, card2)
|
||||
local val1 = string.sub(card1, -1)
|
||||
local val2 = string.sub(card2, -1)
|
||||
local formspec =
|
||||
'size[8,6]'..
|
||||
'textarea[4.5,.25;3,1;;;Pick two matching cards.\n('..tries..' tries remaining.)]'..
|
||||
'label[4.75,3;'..val1..']'..
|
||||
'label[5.75,3;'..val2..']'..
|
||||
'list[detached:match_card_grid_'..pname..';cards;0,0;4,4;]'..
|
||||
'list[detached:match_card_slot_'..pname..';slots;4.5,2;2,1;]'
|
||||
return formspec
|
||||
end
|
||||
|
||||
local deck = {'tasks:card_1', 'tasks:card_2', 'tasks:card_3', 'tasks:card_4', 'tasks:card_5', 'tasks:card_6', 'tasks:card_7', 'tasks:card_8',
|
||||
'tasks:card_1', 'tasks:card_2', 'tasks:card_3', 'tasks:card_4', 'tasks:card_5', 'tasks:card_6', 'tasks:card_7', 'tasks:card_8'}
|
||||
|
||||
local function shuffle_deck(table)
|
||||
for i = #table, 2 , -1 do
|
||||
local j = math.random(i)
|
||||
table[i], table[j] = table[j], table[i]
|
||||
end
|
||||
return table
|
||||
end
|
||||
|
||||
local function new_game(pos, player)
|
||||
local player_attributes = player:get_meta()
|
||||
local luck = player_attributes:get_int('luck')
|
||||
local tries = (luck) + 6
|
||||
local pname = player:get_player_name()
|
||||
local meta = minetest.get_meta(pos)
|
||||
local xp = meta:get_int('xp')
|
||||
local grid_inv = minetest.create_detached_inventory('match_card_grid_'..pname, {})
|
||||
grid_inv:set_size('cards', 16)
|
||||
grid_inv:set_list('cards', shuffle_deck(deck))
|
||||
local slot_inv = minetest.create_detached_inventory('match_card_slot_'..pname, {
|
||||
on_put = function(inv, listname, index, stack, player)
|
||||
tries = tries - 1
|
||||
if tries == 0 then
|
||||
new_game(pos, player)
|
||||
else
|
||||
local inv = minetest.get_inventory({type = 'detached', name = 'match_card_slot_'..pname})
|
||||
local slot1 = inv:get_stack('slots', 1)
|
||||
local slot2 = inv:get_stack('slots', 2)
|
||||
local card1 = slot1:get_name()
|
||||
local card2 = slot2:get_name()
|
||||
minetest.show_formspec(pname, 'tasks:card_matching', match_formspec(pname, tries, card1, card2))
|
||||
if card1 == card2 then
|
||||
minetest.chat_send_player(pname, 'Nice work')
|
||||
tasks.only_add_xp(xp, pname)
|
||||
new_game(pos, player)
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
slot_inv:set_size('slots', 2)
|
||||
minetest.show_formspec(pname, 'tasks:card_matching', match_formspec(pname, tries, '?', '?'))
|
||||
end
|
||||
|
||||
minetest.register_node('tasks:match', {
|
||||
description = 'Matching Game',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'tasks_card_table.obj',
|
||||
tiles = {'tasks_card_table.png'},
|
||||
paramtype2 = 'facedir',
|
||||
groups = {breakable=1, tasks=1},
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string('infotext', 'Matching')
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
new_game(pos, clicker)
|
||||
end
|
||||
})
|
|
@ -0,0 +1,176 @@
|
|||
# Blender v2.93.5 OBJ File: 'tasks.blend'
|
||||
# www.blender.org
|
||||
o Card_table_Cube.003
|
||||
v -0.500000 0.375000 0.500000
|
||||
v -0.500000 0.437500 0.500000
|
||||
v -0.500000 0.375000 -0.500000
|
||||
v -0.500000 0.437500 -0.500000
|
||||
v 0.500000 0.375000 0.500000
|
||||
v 0.500000 0.437500 0.500000
|
||||
v 0.500000 0.375000 -0.500000
|
||||
v 0.500000 0.437500 -0.500000
|
||||
v -0.312500 0.437500 0.250000
|
||||
v -0.312500 0.468750 0.250000
|
||||
v -0.312500 0.437500 0.062500
|
||||
v -0.312500 0.468750 0.062500
|
||||
v -0.187500 0.437500 0.250000
|
||||
v -0.187500 0.468750 0.250000
|
||||
v -0.187500 0.437500 0.062500
|
||||
v -0.187500 0.468750 0.062500
|
||||
v 0.375000 -0.500000 0.468750
|
||||
v 0.375000 0.375000 0.468750
|
||||
v 0.375000 -0.500000 0.375000
|
||||
v 0.375000 0.375000 0.375000
|
||||
v 0.468750 -0.500000 0.468750
|
||||
v 0.468750 0.375000 0.468750
|
||||
v 0.468750 -0.500000 0.375000
|
||||
v 0.468750 0.375000 0.375000
|
||||
v -0.468750 -0.500000 0.375000
|
||||
v -0.468750 0.375000 0.375000
|
||||
v -0.375000 -0.500000 0.375000
|
||||
v -0.375000 0.375000 0.375000
|
||||
v -0.468750 -0.500000 0.468750
|
||||
v -0.468750 0.375000 0.468750
|
||||
v -0.375000 -0.500000 0.468750
|
||||
v -0.375000 0.375000 0.468750
|
||||
v -0.375000 -0.500000 -0.468750
|
||||
v -0.375000 0.375000 -0.468750
|
||||
v -0.375000 -0.500000 -0.375000
|
||||
v -0.375000 0.375000 -0.375000
|
||||
v -0.468750 -0.500000 -0.468750
|
||||
v -0.468750 0.375000 -0.468750
|
||||
v -0.468750 -0.500000 -0.375000
|
||||
v -0.468750 0.375000 -0.375000
|
||||
v 0.468750 -0.500000 -0.375000
|
||||
v 0.468750 0.375000 -0.375000
|
||||
v 0.375000 -0.500000 -0.375000
|
||||
v 0.375000 0.375000 -0.375000
|
||||
v 0.468750 -0.500000 -0.468750
|
||||
v 0.468750 0.375000 -0.468750
|
||||
v 0.375000 -0.500000 -0.468750
|
||||
v 0.375000 0.375000 -0.468750
|
||||
v 0.031250 0.437500 -0.218750
|
||||
v 0.031250 0.468750 -0.218750
|
||||
v 0.218750 0.437500 -0.218750
|
||||
v 0.218750 0.468750 -0.218750
|
||||
v 0.031250 0.437500 -0.093750
|
||||
v 0.031250 0.468750 -0.093750
|
||||
v 0.218750 0.437500 -0.093750
|
||||
v 0.218750 0.468750 -0.093750
|
||||
vt 0.515625 0.000000
|
||||
vt 0.515625 0.015625
|
||||
vt 0.265625 0.015625
|
||||
vt 0.265625 0.000000
|
||||
vt 0.250000 0.015625
|
||||
vt 0.265625 0.265625
|
||||
vt 0.250000 0.265625
|
||||
vt 0.265625 0.281250
|
||||
vt 0.515625 0.265625
|
||||
vt 0.515625 0.281250
|
||||
vt 0.531250 0.265625
|
||||
vt 0.531250 0.015625
|
||||
vt -0.000000 0.265625
|
||||
vt -0.000000 0.015625
|
||||
vt 0.101562 0.585938
|
||||
vt 0.093750 0.585938
|
||||
vt 0.093750 0.539062
|
||||
vt 0.101562 0.539062
|
||||
vt 0.093750 0.531250
|
||||
vt 0.062500 0.539062
|
||||
vt 0.062500 0.531250
|
||||
vt 0.054688 0.539062
|
||||
vt 0.062500 0.585938
|
||||
vt 0.054688 0.585938
|
||||
vt 0.062500 0.593750
|
||||
vt 0.093750 0.593750
|
||||
vt 0.328125 0.296875
|
||||
vt 0.328125 0.515625
|
||||
vt 0.304688 0.515625
|
||||
vt 0.304688 0.296875
|
||||
vt 0.398438 0.296875
|
||||
vt 0.398438 0.515625
|
||||
vt 0.375000 0.515625
|
||||
vt 0.375000 0.296875
|
||||
vt 0.351562 0.515625
|
||||
vt 0.351562 0.296875
|
||||
vt 0.226562 0.296875
|
||||
vt 0.226562 0.515625
|
||||
vt 0.203125 0.515625
|
||||
vt 0.203125 0.296875
|
||||
vt 0.296875 0.296875
|
||||
vt 0.296875 0.515625
|
||||
vt 0.273438 0.515625
|
||||
vt 0.273438 0.296875
|
||||
vt 0.250000 0.515625
|
||||
vt 0.250000 0.296875
|
||||
vt 0.023438 0.296875
|
||||
vt 0.023438 0.515625
|
||||
vt 0.000000 0.515625
|
||||
vt 0.000000 0.296875
|
||||
vt 0.093750 0.296875
|
||||
vt 0.093750 0.515625
|
||||
vt 0.070312 0.515625
|
||||
vt 0.070312 0.296875
|
||||
vt 0.046875 0.515625
|
||||
vt 0.046875 0.296875
|
||||
vt 0.125000 0.296875
|
||||
vt 0.125000 0.515625
|
||||
vt 0.101562 0.515625
|
||||
vt 0.101562 0.296875
|
||||
vt 0.195312 0.296875
|
||||
vt 0.195312 0.515625
|
||||
vt 0.171875 0.515625
|
||||
vt 0.171875 0.296875
|
||||
vt 0.148438 0.515625
|
||||
vt 0.148438 0.296875
|
||||
vt 0.000000 0.539062
|
||||
vt 0.007812 0.539062
|
||||
vt 0.007812 0.585938
|
||||
vt 0.000000 0.585938
|
||||
vt 0.007812 0.593750
|
||||
vt 0.039062 0.585938
|
||||
vt 0.039062 0.593750
|
||||
vt 0.046875 0.585938
|
||||
vt 0.039062 0.539062
|
||||
vt 0.046875 0.539062
|
||||
vt 0.039062 0.531250
|
||||
vt 0.007812 0.531250
|
||||
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/5/2 4/3/2 8/6/2 7/7/2
|
||||
f 7/8/3 8/6/3 6/9/3 5/10/3
|
||||
f 5/11/4 6/9/4 2/2/4 1/12/4
|
||||
f 3/5/5 7/7/5 5/13/5 1/14/5
|
||||
f 8/6/6 4/3/6 2/2/6 6/9/6
|
||||
f 9/15/1 10/16/1 12/17/1 11/18/1
|
||||
f 11/19/2 12/17/2 16/20/2 15/21/2
|
||||
f 15/22/3 16/20/3 14/23/3 13/24/3
|
||||
f 13/25/4 14/23/4 10/16/4 9/26/4
|
||||
f 17/27/1 18/28/1 20/29/1 19/30/1
|
||||
f 16/20/6 12/17/6 10/16/6 14/23/6
|
||||
f 19/31/2 20/32/2 24/33/2 23/34/2
|
||||
f 23/34/3 24/33/3 22/35/3 21/36/3
|
||||
f 21/36/4 22/35/4 18/28/4 17/27/4
|
||||
f 25/37/2 26/38/2 28/39/2 27/40/2
|
||||
f 27/41/3 28/42/3 32/43/3 31/44/3
|
||||
f 31/44/4 32/43/4 30/45/4 29/46/4
|
||||
f 29/46/1 30/45/1 26/38/1 25/37/1
|
||||
f 33/47/3 34/48/3 36/49/3 35/50/3
|
||||
f 35/51/4 36/52/4 40/53/4 39/54/4
|
||||
f 39/54/1 40/53/1 38/55/1 37/56/1
|
||||
f 37/56/2 38/55/2 34/48/2 33/47/2
|
||||
f 41/57/4 42/58/4 44/59/4 43/60/4
|
||||
f 43/61/1 44/62/1 48/63/1 47/64/1
|
||||
f 47/64/2 48/63/2 46/65/2 45/66/2
|
||||
f 45/66/3 46/65/3 42/58/3 41/57/3
|
||||
f 49/67/2 50/68/2 52/69/2 51/70/2
|
||||
f 51/71/3 52/69/3 56/72/3 55/73/3
|
||||
f 55/74/4 56/72/4 54/75/4 53/76/4
|
||||
f 53/77/1 54/75/1 50/68/1 49/78/1
|
||||
f 56/72/6 52/69/6 50/68/6 54/75/6
|
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 2.7 KiB |