Just pushing code.
|
@ -2,17 +2,17 @@ artwork = {}
|
|||
|
||||
local full = {
|
||||
type = 'fixed',
|
||||
fixed = {-1, -1, -1, 1, -.45, 1},
|
||||
fixed = {-1, -.5, -1, 1, -.45, 1},
|
||||
}
|
||||
|
||||
local landscape = {
|
||||
type = 'fixed',
|
||||
fixed = {-1, -1, -.75, 1, -.45, .75},
|
||||
fixed = {-1, -.5, -.75, 1, -.45, .75},
|
||||
}
|
||||
|
||||
local portrait = {
|
||||
type = 'fixed',
|
||||
fixed = {-.75, -1, -1, .75, -.45, 1},
|
||||
fixed = {-.75, -.5, -1, .75, -.45, 1},
|
||||
}
|
||||
|
||||
function artwork.register_full(name, desc)
|
||||
|
|
|
@ -23,4 +23,9 @@ artwork.register_portrait('a6', 'Giuliano de\' Medici')
|
|||
artwork.register_portrait('a7', 'Ginevra de\' Benci')
|
||||
artwork.register_portrait('a11', 'Tulips')
|
||||
|
||||
artwork.register_full('b4', 'Hawk in Flight')
|
||||
|
||||
artwork.register_landscape('b2', 'Cardinal')
|
||||
artwork.register_landscape('b3', 'Robin')
|
||||
|
||||
artwork.register_portrait('b1', 'Nathan')
|
||||
|
|
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 25 KiB |
|
@ -102,11 +102,36 @@ local transform = {
|
|||
},
|
||||
}
|
||||
|
||||
function doors.door_toggle(pos, node, clicker)
|
||||
function doors.door_toggle(pos, node, clicker, close)
|
||||
local meta = minetest.get_meta(pos)
|
||||
node = node or minetest.get_node(pos)
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
local name = def.door.name
|
||||
local player_name = clicker:get_player_name()
|
||||
local lock_status = meta:get_int('lock_s')
|
||||
|
||||
if not close then
|
||||
local wield = clicker:get_wielded_item()
|
||||
local wield_name = wield:get_name()
|
||||
if lock_status == 1 and (minetest.is_protected(pos, player_name) or not minetest.check_player_privs(player_name, { creative = true })) then
|
||||
return
|
||||
elseif lock_status == 2 then
|
||||
local key = meta:get_string('key')
|
||||
if wield_name ~= key then
|
||||
local def = minetest.registered_items[key]
|
||||
local key_name = def.description
|
||||
minetest.chat_send_player(player_name, 'This door can be opened/closed with a '..key_name..'.')
|
||||
return
|
||||
else
|
||||
minetest.after(3, function()
|
||||
doors.door_toggle(pos, nil, clicker, true)
|
||||
end)
|
||||
end
|
||||
elseif lock_status >= 3 then
|
||||
minetest.chat_send_player(player_name, 'The lock looks cheap, you might be able to pick it.')
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
local state = meta:get_string('state')
|
||||
if state == '' then
|
||||
|
@ -119,7 +144,6 @@ function doors.door_toggle(pos, node, clicker)
|
|||
else
|
||||
state = tonumber(state)
|
||||
end
|
||||
|
||||
-- until Lua-5.2 we have no bitwise operators :(
|
||||
if state % 2 == 1 then
|
||||
state = state - 1
|
||||
|
@ -143,7 +167,6 @@ function doors.door_toggle(pos, node, clicker)
|
|||
minetest.sound_play(def.door.sounds[2],
|
||||
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
|
||||
end
|
||||
|
||||
minetest.swap_node(pos, {
|
||||
name = 'doors:'..name .. transform[state + 1][dir+1].v,
|
||||
param2 = transform[state + 1][dir+1].param2
|
||||
|
@ -425,3 +448,72 @@ function doors.register_trapdoor(name, def)
|
|||
doors.registered_trapdoors['doors:'..name_opened] = true
|
||||
doors.registered_trapdoors['doors:'..name_closed] = true
|
||||
end
|
||||
|
||||
function doors.lock(pos, name)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local status = meta:get_int('lock_s')
|
||||
local key_i = meta:get_int('key_i')
|
||||
local infotext = meta:get_string('infotext')
|
||||
minetest.show_formspec(name, 'doors:configuration', doors.lock_formspec(status, key_i, infotext))
|
||||
end
|
||||
|
||||
local keys = {
|
||||
'doors:key_skeleton', 'doors:key_modern', 'doors:keycard_red', 'doors:keycard_green', 'doors:keycard_blue'
|
||||
}
|
||||
|
||||
function doors.lock_formspec(status, key_i, infotext)
|
||||
local formspec =
|
||||
'formspec_version[3]'..
|
||||
'size[8,8]'..
|
||||
'textarea[.5,.5;7,4.25;;;Set the lock status here, different numbers mean different things, the following breakdown should be helpful.\n'..
|
||||
'!!!This is still a work in progress, and may change in the future!!!\n\n'..
|
||||
'0: Standard door, anybody can open it.\n'..
|
||||
'1: Locked door, only people within the area protection can open. Not pickable.\n'..
|
||||
'2: Locked door, uses Key to open.\n'..
|
||||
'3-13: locked door, can be picked, higher values are harder to pick.\n\n'..
|
||||
'Lock picking is NOT implemented at this time.]'..
|
||||
'field[1,5;6,.5;infotext;Infotext;'..infotext..']'..
|
||||
'field[1,6;2,.5;status;Lock Status;'..status..']'..
|
||||
'dropdown[4,6;3,.5;key;'..table.concat(keys, ',')..';'..key_i..']'..
|
||||
'button_exit[5,7;2,.5;save;Submit]'
|
||||
return formspec
|
||||
end
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
local name = player:get_player_name()
|
||||
if formname == 'doors:configuration' then
|
||||
if fields.save then
|
||||
local state = tonumber(fields.status)
|
||||
if state >= 0 and state <= 13 then
|
||||
local pos = tasks.player_config[name]
|
||||
local meta = minetest.get_meta(pos)
|
||||
local info = fields.infotext
|
||||
local lower = string.lower(info)
|
||||
meta:set_int('lock_s', state)
|
||||
if state == 0 then
|
||||
meta:set_string('infotext', info)
|
||||
elseif state == 2 then
|
||||
if string.find(lower, 'lock') then
|
||||
meta:set_string('infotext', info)
|
||||
else
|
||||
meta:set_string('infotext', info..' (locked)')
|
||||
end
|
||||
for i, index in ipairs(keys) do
|
||||
if index == fields.key then
|
||||
meta:set_string('key', fields.key)
|
||||
meta:set_int('key_i', i)
|
||||
end
|
||||
end
|
||||
else
|
||||
if string.find(lower, 'lock') then
|
||||
meta:set_string('infotext', info)
|
||||
else
|
||||
meta:set_string('infotext', info..' (locked)')
|
||||
end
|
||||
end
|
||||
else
|
||||
minetest.chat_send_player(name, 'Faulty input, try again.')
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
|
|
@ -5,7 +5,10 @@ doors = {}
|
|||
|
||||
doors.registered_doors = {}
|
||||
doors.registered_trapdoors = {}
|
||||
doors.player_config = {}
|
||||
|
||||
dofile(minetest.get_modpath('doors') .. '/functions.lua')
|
||||
dofile(minetest.get_modpath('doors') .. '/doors.lua')
|
||||
dofile(minetest.get_modpath('doors') .. '/trapdoors.lua')
|
||||
dofile(minetest.get_modpath('doors') .. '/keys.lua')
|
||||
dofile(minetest.get_modpath('doors') .. '/lock_picking.lua')
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
minetest.register_craftitem('doors:key_skeleton', {
|
||||
description = 'Skeleton Key',
|
||||
inventory_image = 'doors_key_skeleton.png',
|
||||
stack_max = 1,
|
||||
groups = {not_in_creative_inventory=1, stashable=1},
|
||||
on_drop = lobby.no_drop
|
||||
})
|
||||
|
||||
minetest.register_craftitem('doors:key_modern', {
|
||||
description = 'Modern Key',
|
||||
inventory_image = 'doors_key_modern.png',
|
||||
stack_max = 1,
|
||||
groups = {not_in_creative_inventory=1, stashable=1},
|
||||
on_drop = lobby.no_drop
|
||||
})
|
||||
|
||||
minetest.register_craftitem('doors:keycard_red', {
|
||||
description = 'Red Key Card',
|
||||
inventory_image = 'doors_keycard_red.png',
|
||||
stack_max = 1,
|
||||
groups = {not_in_creative_inventory=1, stashable=1},
|
||||
on_drop = lobby.no_drop
|
||||
})
|
||||
|
||||
minetest.register_craftitem('doors:keycard_green', {
|
||||
description = 'Green Key Card',
|
||||
inventory_image = 'doors_keycard_green.png',
|
||||
stack_max = 1,
|
||||
groups = {not_in_creative_inventory=1, stashable=1},
|
||||
on_drop = lobby.no_drop
|
||||
})
|
||||
|
||||
minetest.register_craftitem('doors:keycard_blue', {
|
||||
description = 'Blue Key Card',
|
||||
inventory_image = 'doors_keycard_blue.png',
|
||||
stack_max = 1,
|
||||
groups = {not_in_creative_inventory=1, stashable=1},
|
||||
on_drop = lobby.no_drop
|
||||
})
|
|
@ -0,0 +1,50 @@
|
|||
minetest.register_craftitem('doors:lock_pick', {
|
||||
description = 'Lock Picking Tool',
|
||||
inventory_image = 'doors_lock_pick.png',
|
||||
stack_max = 1,
|
||||
groups = {not_in_creative_inventory=1, stashable=1},
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
local pos = minetest.get_pointed_thing_position(pointed_thing)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local status = meta:get_int('lock_s')
|
||||
if status >= 3 then
|
||||
local name = user:get_player_name()
|
||||
doors.player_config[name] = pos
|
||||
minetest.show_formspec(name, 'doors:lock_picking', doors.lock_picking_formspec(status))
|
||||
end
|
||||
end,
|
||||
on_drop = lobby.no_drop
|
||||
})
|
||||
|
||||
function doors.lock_picking_formspec(dif)
|
||||
local button_size = string.format("%.2f", (13/dif))
|
||||
local bounds = 8-math.ceil(button_size)
|
||||
local ran_x = math.random(0, bounds)
|
||||
local ran_y = math.random(1, bounds)
|
||||
local formspec =
|
||||
'formspec_version[3]'..
|
||||
'size[8,8]'..
|
||||
'textarea[.5,.5;7,1;;;Is breaking and entering your thing? If you don\'t break the lock is it technically breaking and entering???]'..
|
||||
'textarea[.5,7.5;7,1;;;Picking locks is a shot in the dark, just like this.]'..
|
||||
'image_button[0,0;8,8;tasks_blank.png;failure;;true;false;tasks_blank.png]'..
|
||||
'image_button['..ran_x..','..ran_y..';'..button_size..','..button_size..';tasks_blank.png1;success;;true;false;tasks_blank.png]'
|
||||
return formspec
|
||||
end
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
local name = player:get_player_name()
|
||||
if formname == 'doors:lock_picking' then
|
||||
if fields.success then
|
||||
local pos = doors.player_config[name]
|
||||
minetest.chat_send_player(name, 'nice work!')
|
||||
minetest.close_formspec(name, 'doors:lock_picking')
|
||||
doors.door_toggle(pos, nil, player, true)
|
||||
minetest.after(3, function()
|
||||
doors.door_toggle(pos, nil, player, true)
|
||||
end)
|
||||
elseif fields.failure then
|
||||
minetest.chat_send_player(name, 'Try again!')
|
||||
minetest.close_formspec(name, 'doors:lock_picking')
|
||||
end
|
||||
end
|
||||
end)
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 915 B |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,17 @@
|
|||
minetest.register_node('furniture:medicine_cabinet', {
|
||||
description = 'Medicine Cabinet',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_medicine_cabinet.obj',
|
||||
tiles = {'furniture_medicine_cabinet.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.375, -.4375, .36, .375, .5, .5},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.375, -.4375, .36, .375, .5, .5},
|
||||
},
|
||||
groups = {breakable=1, stash=1},
|
||||
})
|
|
@ -1,4 +1,4 @@
|
|||
fdir_table = {
|
||||
local fdir_table = {
|
||||
{ 1, 0 },
|
||||
{ 0, -1 },
|
||||
{ -1, 0 },
|
||||
|
|
|
@ -19,6 +19,29 @@ furniture.dyes = {
|
|||
{'white', 'White', '#ffffff'},
|
||||
}
|
||||
|
||||
furniture.stash_punch = function(pos, node, puncher, pointed_thing)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if not inv:is_empty('stash') then
|
||||
local name = puncher:get_player_name()
|
||||
local player_attributes = puncher:get_meta()
|
||||
local luck = (player_attributes:get_int('luck') or 1) * 10
|
||||
local chance = math.random(0,105)
|
||||
if luck >= chance then
|
||||
local stuff = inv:get_list('stash')
|
||||
local random = math.random(1,8)
|
||||
local item = stuff[random]
|
||||
local drop = item:get_name()
|
||||
local player_inv = puncher:get_inventory()
|
||||
if player_inv:room_for_item('main', drop) then
|
||||
player_inv:add_item('main', drop)
|
||||
else
|
||||
minetest.chat_send_player(name, 'You don\'t have room for that.')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
furniture.dye_more = function(pos, node, puncher, pointed_thing)
|
||||
local player = puncher:get_player_name()
|
||||
local wield = puncher:get_wielded_item()
|
||||
|
@ -37,11 +60,15 @@ furniture.dye_less = function(pos, node, clicker)
|
|||
minetest.swap_node(pos, {name = node.name, param2 = node.param2-32})
|
||||
end
|
||||
|
||||
dofile(minetest.get_modpath('furniture')..'/bathroom.lua') --Things you'd find in a bathroom
|
||||
dofile(minetest.get_modpath('furniture')..'/bedroom.lua') --Things you'd find in a bedroom.
|
||||
dofile(minetest.get_modpath('furniture')..'/decor.lua')
|
||||
dofile(minetest.get_modpath('furniture')..'/fences.lua')
|
||||
dofile(minetest.get_modpath('furniture')..'/formspecs.lua') --Formspecs for the nodes.
|
||||
dofile(minetest.get_modpath('furniture')..'/kitchen.lua') --appliances and counters
|
||||
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')..'/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,59 @@
|
|||
minetest.register_node('furniture:cabinet_wall', {
|
||||
description = 'Wall Mounted Cabinet',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_cabinet_wall.obj',
|
||||
tiles = {'furniture_cabinet_wall.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
palette = 'furniture_stain_palette.png',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.3, .5, .5, .5},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.3, .5, .5, .5},
|
||||
},
|
||||
groups = {breakable=1},
|
||||
on_rightclick = furniture.dye_less,
|
||||
on_punch = furniture.dye_more
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:cabinet_counter', {
|
||||
description = 'Cabinet with Countertop',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_cabinet_counter.obj',
|
||||
tiles = {'furniture_cabinet_counter.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
palette = 'furniture_stain_palette.png',
|
||||
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},
|
||||
on_rightclick = furniture.dye_less,
|
||||
on_punch = furniture.dye_more
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:microwave', {
|
||||
description = 'Microwave',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_microwave.obj',
|
||||
tiles = {'furniture_microwave.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.425, -.5, -.375, .425, .2, .4},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.425, -.5, -.375, .425, .2, .4},
|
||||
},
|
||||
groups = {breakable=1},
|
||||
})
|
|
@ -5,3 +5,6 @@ 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.
|
||||
|
||||
server_rack, by the_toilet_guy CCA
|
||||
https://freesound.org/people/the_toilet_guy/sounds/98930/
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
minetest.register_node('furniture:ceiling_fan', {
|
||||
description = 'Ceiling Fan',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_ceiling_fan.obj',
|
||||
tiles = {'furniture_ceiling_fan.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.4, .25, -.4, .4, .5, .4},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.4, .25, -.4, .4, .5, .4},
|
||||
},
|
||||
groups = {breakable=1},
|
||||
})
|
|
@ -0,0 +1,169 @@
|
|||
# Blender v2.91.2 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Ceiling_fan_Cube.001
|
||||
v -0.062500 0.312500 0.062500
|
||||
v -0.062500 0.437500 0.062500
|
||||
v -0.062500 0.312500 -0.062500
|
||||
v -0.062500 0.437500 -0.062500
|
||||
v 0.062500 0.312500 0.062500
|
||||
v 0.062500 0.437500 0.062500
|
||||
v 0.062500 0.312500 -0.062500
|
||||
v 0.062500 0.437500 -0.062500
|
||||
v -0.031250 0.437500 0.031250
|
||||
v -0.031250 0.500000 0.031250
|
||||
v -0.031250 0.437500 -0.031250
|
||||
v -0.031250 0.500000 -0.031250
|
||||
v 0.031250 0.437500 0.031250
|
||||
v 0.031250 0.500000 0.031250
|
||||
v 0.031250 0.437500 -0.031250
|
||||
v 0.031250 0.500000 -0.031250
|
||||
v 0.000000 0.312500 0.062500
|
||||
v 0.000000 0.375000 0.062500
|
||||
v 0.125000 0.312500 0.062500
|
||||
v 0.125000 0.375000 0.062500
|
||||
v 0.000000 0.312500 0.437500
|
||||
v 0.000000 0.375000 0.437500
|
||||
v 0.125000 0.312500 0.437500
|
||||
v 0.125000 0.375000 0.437500
|
||||
v -0.437500 0.312500 0.125000
|
||||
v -0.437500 0.375000 0.125000
|
||||
v -0.437500 0.312500 0.000000
|
||||
v -0.437500 0.375000 0.000000
|
||||
v -0.062500 0.312500 0.125000
|
||||
v -0.062500 0.375000 0.125000
|
||||
v -0.062500 0.312500 0.000000
|
||||
v -0.062500 0.375000 0.000000
|
||||
v -0.000000 0.375000 -0.062500
|
||||
v -0.000000 0.312500 -0.062500
|
||||
v -0.125000 0.375000 -0.062500
|
||||
v -0.125000 0.312500 -0.062500
|
||||
v -0.000000 0.375000 -0.437500
|
||||
v -0.000000 0.312500 -0.437500
|
||||
v -0.125000 0.375000 -0.437500
|
||||
v -0.125000 0.312500 -0.437500
|
||||
v 0.437500 0.375000 -0.125000
|
||||
v 0.437500 0.312500 -0.125000
|
||||
v 0.437500 0.375000 0.000000
|
||||
v 0.437500 0.312500 0.000000
|
||||
v 0.062500 0.375000 -0.125000
|
||||
v 0.062500 0.312500 -0.125000
|
||||
v 0.062500 0.375000 0.000000
|
||||
v 0.062500 0.312500 0.000000
|
||||
vt 0.750000 0.750000
|
||||
vt 0.750000 0.625000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.875000 0.750000
|
||||
vt 1.000000 0.750000
|
||||
vt 1.000000 0.875000
|
||||
vt 0.875000 0.875000
|
||||
vt 0.875000 1.000000
|
||||
vt 0.750000 1.000000
|
||||
vt 0.750000 0.875000
|
||||
vt 0.625000 0.875000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.062500 0.937500
|
||||
vt 0.062500 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.937500
|
||||
vt 0.250000 0.937500
|
||||
vt 0.250000 1.000000
|
||||
vt 0.187500 1.000000
|
||||
vt 0.187500 0.937500
|
||||
vt 0.125000 1.000000
|
||||
vt 0.125000 0.937500
|
||||
vt 0.312500 0.500000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.375000 0.625000
|
||||
vt 0.312500 0.625000
|
||||
vt 0.187500 0.500000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.125000 0.125000
|
||||
vt 0.187500 0.125000
|
||||
vt 0.312500 0.000000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 0.125000
|
||||
vt 0.312500 0.125000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.125000
|
||||
vt 0.937500 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.625000
|
||||
vt 0.937500 0.625000
|
||||
vt 0.812500 0.500000
|
||||
vt 0.750000 0.500000
|
||||
vt 0.750000 0.125000
|
||||
vt 0.812500 0.125000
|
||||
vt 0.937500 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.125000
|
||||
vt 0.937500 0.125000
|
||||
vt 0.625000 0.500000
|
||||
vt 0.625000 0.125000
|
||||
vt 0.125000 0.500000
|
||||
vt -0.000000 0.500000
|
||||
vt -0.000000 0.125000
|
||||
vt 0.125000 0.125000
|
||||
vt 0.187500 0.500000
|
||||
vt 0.187500 0.125000
|
||||
vt 0.312500 0.125000
|
||||
vt 0.312500 0.500000
|
||||
vt 0.375000 0.125000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.312500 0.000000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 0.625000
|
||||
vt 0.312500 0.625000
|
||||
vt 0.750000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
vt 0.625000 0.125000
|
||||
vt 0.750000 0.125000
|
||||
vt 0.812500 0.500000
|
||||
vt 0.812500 0.125000
|
||||
vt 0.937500 0.125000
|
||||
vt 0.937500 0.500000
|
||||
vt 1.000000 0.125000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.937500 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.625000
|
||||
vt 0.937500 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
|
||||
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/5/2 8/6/2 7/7/2
|
||||
f 7/7/3 8/8/3 6/9/3 5/10/3
|
||||
f 5/10/4 6/11/4 2/12/4 1/1/4
|
||||
f 3/4/5 7/7/5 5/10/5 1/1/5
|
||||
f 9/13/1 10/14/1 12/15/1 11/16/1
|
||||
f 11/17/2 12/18/2 16/19/2 15/20/2
|
||||
f 15/20/3 16/19/3 14/21/3 13/22/3
|
||||
f 13/22/4 14/21/4 10/14/4 9/13/4
|
||||
f 17/23/2 18/24/2 20/25/2 19/26/2
|
||||
f 19/27/3 20/28/3 24/29/3 23/30/3
|
||||
f 23/31/4 24/32/4 22/33/4 21/34/4
|
||||
f 21/34/1 22/33/1 18/24/1 17/23/1
|
||||
f 19/27/5 23/30/5 21/34/5 17/23/5
|
||||
f 20/28/6 18/35/6 22/36/6 24/29/6
|
||||
f 25/37/1 26/38/1 28/39/1 27/40/1
|
||||
f 27/41/2 28/42/2 32/43/2 31/44/2
|
||||
f 31/45/3 32/46/3 30/47/3 29/48/3
|
||||
f 29/48/4 30/47/4 26/38/4 25/37/4
|
||||
f 27/41/5 31/44/5 29/48/5 25/37/5
|
||||
f 28/42/6 26/49/6 30/50/6 32/43/6
|
||||
f 37/51/6 39/52/6 35/53/6 33/54/6
|
||||
f 38/55/5 34/56/5 36/57/5 40/58/5
|
||||
f 36/57/1 35/59/1 39/60/1 40/58/1
|
||||
f 34/61/4 33/62/4 35/59/4 36/57/4
|
||||
f 38/55/3 37/51/3 33/54/3 34/56/3
|
||||
f 40/58/2 39/60/2 37/63/2 38/64/2
|
||||
f 45/65/6 47/66/6 43/67/6 41/68/6
|
||||
f 46/69/5 42/70/5 44/71/5 48/72/5
|
||||
f 44/71/4 43/73/4 47/74/4 48/72/4
|
||||
f 42/75/3 41/76/3 43/73/3 44/71/3
|
||||
f 46/69/2 45/65/2 41/68/2 42/70/2
|
||||
f 48/72/1 47/74/1 45/77/1 46/78/1
|
|
@ -0,0 +1,152 @@
|
|||
# Blender v2.91.2 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Desk_Cube.001
|
||||
v -1.437500 0.437500 0.500000
|
||||
v -1.437500 0.437500 -0.437500
|
||||
v -1.437500 -0.500000 -0.437500
|
||||
v 0.500000 0.437500 0.500000
|
||||
v 0.500000 0.437500 -0.500000
|
||||
v -1.437500 -0.500000 0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -1.500000 0.437500 0.500000
|
||||
v -1.500000 0.437500 -0.500000
|
||||
v -1.500000 0.500000 0.500000
|
||||
v -1.500000 0.500000 -0.500000
|
||||
v -1.500000 -0.500000 0.500000
|
||||
v -1.500000 -0.500000 -0.437500
|
||||
v -1.500000 0.437500 -0.437500
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.437500 0.500000
|
||||
v -0.500000 -0.500000 -0.437500
|
||||
v -0.500000 0.437500 -0.437500
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.437500
|
||||
v 0.500000 0.437500 -0.437500
|
||||
v -1.437500 0.000000 0.500000
|
||||
v -1.437500 0.312500 0.500000
|
||||
v -1.437500 0.000000 0.437500
|
||||
v -1.437500 0.312500 0.437500
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 0.312500 0.500000
|
||||
v -0.500000 0.000000 0.437500
|
||||
v -0.500000 0.312500 0.437500
|
||||
v -0.437500 0.000000 -0.437500
|
||||
v -0.437500 0.375000 -0.437500
|
||||
v -0.437500 0.000000 -0.468750
|
||||
v -0.437500 0.375000 -0.468750
|
||||
v 0.437500 0.000000 -0.437500
|
||||
v 0.437500 0.375000 -0.437500
|
||||
v 0.437500 0.000000 -0.468750
|
||||
v 0.437500 0.375000 -0.468750
|
||||
v -0.437500 -0.437500 -0.437500
|
||||
v -0.437500 -0.062500 -0.437500
|
||||
v -0.437500 -0.437500 -0.468750
|
||||
v -0.437500 -0.062500 -0.468750
|
||||
v 0.437500 -0.437500 -0.437500
|
||||
v 0.437500 -0.062500 -0.437500
|
||||
v 0.437500 -0.437500 -0.468750
|
||||
v 0.437500 -0.062500 -0.468750
|
||||
vt 0.250000 0.468750
|
||||
vt 0.015625 0.468750
|
||||
vt 0.015625 0.234375
|
||||
vt 0.250000 0.234375
|
||||
vt 0.234375 0.234375
|
||||
vt 0.234375 0.000000
|
||||
vt 0.484375 0.000000
|
||||
vt 0.484375 0.234375
|
||||
vt 0.000000 0.234375
|
||||
vt 0.000000 0.000000
|
||||
vt 0.265625 0.468750
|
||||
vt 0.265625 0.234375
|
||||
vt 0.484375 0.468750
|
||||
vt 0.484375 0.718750
|
||||
vt 0.468750 0.718750
|
||||
vt 0.468750 0.468750
|
||||
vt 0.484375 1.000000
|
||||
vt 0.484375 0.984375
|
||||
vt 0.984375 0.984375
|
||||
vt 0.984375 1.000000
|
||||
vt 0.484375 0.734375
|
||||
vt 0.984375 0.734375
|
||||
vt 0.000000 0.468750
|
||||
vt 0.000000 0.234375
|
||||
vt 0.984375 0.468750
|
||||
vt 0.984375 0.718750
|
||||
vt 1.000000 0.468750
|
||||
vt 1.000000 0.718750
|
||||
vt 0.718750 0.000000
|
||||
vt 0.718750 0.234375
|
||||
vt 0.500000 0.468750
|
||||
vt 0.500000 0.234375
|
||||
vt 0.968750 0.000000
|
||||
vt 0.968750 0.234375
|
||||
vt 0.007812 0.781250
|
||||
vt 0.007812 0.875000
|
||||
vt 0.000000 0.875000
|
||||
vt 0.000000 0.781250
|
||||
vt 0.234375 0.687500
|
||||
vt 0.234375 0.765625
|
||||
vt 0.000000 0.765625
|
||||
vt 0.000000 0.687500
|
||||
vt 0.226562 0.781250
|
||||
vt 0.226562 0.875000
|
||||
vt 0.000000 0.671875
|
||||
vt 0.000000 0.593750
|
||||
vt 0.234375 0.593750
|
||||
vt 0.234375 0.671875
|
||||
vt 0.000000 0.578125
|
||||
vt 0.234375 0.578125
|
||||
vt 0.234375 0.898438
|
||||
vt 0.234375 0.992188
|
||||
vt 0.226562 0.992188
|
||||
vt 0.226562 0.898438
|
||||
vt 0.007812 0.992188
|
||||
vt 0.007812 0.898438
|
||||
vt 0.000000 0.992188
|
||||
vt 0.000000 0.898438
|
||||
vt 0.234375 0.781250
|
||||
vt 0.234375 0.875000
|
||||
vt 0.007812 0.890625
|
||||
vt 0.226562 0.890625
|
||||
vt 0.226562 1.000000
|
||||
vt 0.007812 1.000000
|
||||
vt 0.007812 0.773438
|
||||
vt 0.226562 0.773438
|
||||
vt 0.226562 0.882812
|
||||
vt 0.007812 0.882812
|
||||
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 14/1/1 13/2/1 9/3/1 15/4/1
|
||||
f 18/5/2 19/6/2 22/7/2 21/8/2
|
||||
f 16/9/1 17/10/1 19/6/1 18/5/1
|
||||
f 3/11/2 14/1/2 15/4/2 2/12/2
|
||||
f 4/13/3 5/14/3 7/15/3 8/16/3
|
||||
f 4/17/4 8/18/4 11/19/4 9/20/4
|
||||
f 7/21/5 12/22/5 11/19/5 8/18/5
|
||||
f 6/23/4 1/24/4 9/3/4 13/2/4
|
||||
f 5/14/6 4/13/6 9/25/6 10/26/6
|
||||
f 10/26/1 9/25/1 11/27/1 12/28/1
|
||||
f 21/8/3 22/7/3 4/29/3 20/30/3
|
||||
f 6/31/3 3/11/3 2/12/3 1/32/3
|
||||
f 5/14/2 10/26/2 12/22/2 7/21/2
|
||||
f 20/30/4 4/29/4 17/33/4 16/34/4
|
||||
f 45/35/3 46/36/3 44/37/3 43/38/3
|
||||
f 25/39/2 26/40/2 30/41/2 29/42/2
|
||||
f 41/43/2 42/44/2 46/36/2 45/35/2
|
||||
f 27/45/4 28/46/4 24/47/4 23/48/4
|
||||
f 25/39/6 29/42/6 27/45/6 23/48/6
|
||||
f 30/49/5 26/50/5 24/47/5 28/46/5
|
||||
f 31/51/1 32/52/1 34/53/1 33/54/1
|
||||
f 33/54/2 34/53/2 38/55/2 37/56/2
|
||||
f 37/56/3 38/55/3 36/57/3 35/58/3
|
||||
f 39/59/1 40/60/1 42/44/1 41/43/1
|
||||
f 33/54/6 37/56/6 35/61/6 31/62/6
|
||||
f 38/55/5 34/53/5 32/63/5 36/64/5
|
||||
f 41/43/6 45/35/6 43/65/6 39/66/6
|
||||
f 46/36/5 42/44/5 40/67/5 44/68/5
|
|
@ -0,0 +1,34 @@
|
|||
# Blender v2.91.2 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Cube.001_Cube.014
|
||||
v 0.437500 -0.500000 -0.500000
|
||||
v 0.437500 1.000000 -0.500000
|
||||
v 0.437500 -0.500000 0.437500
|
||||
v 0.437500 1.000000 0.437500
|
||||
v -0.437500 -0.500000 -0.500000
|
||||
v -0.437500 1.000000 -0.500000
|
||||
v -0.437500 -0.500000 0.437500
|
||||
v -0.437500 1.000000 0.437500
|
||||
vt 0.468750 -0.000000
|
||||
vt 0.468750 0.375000
|
||||
vt 0.234375 0.375000
|
||||
vt 0.234375 -0.000000
|
||||
vt 0.000000 0.375000
|
||||
vt 0.000000 -0.000000
|
||||
vt 0.921875 -0.000000
|
||||
vt 0.921875 0.375000
|
||||
vt 0.687500 0.375000
|
||||
vt 0.687500 -0.000000
|
||||
vt 0.234375 0.609375
|
||||
vt 0.000000 0.609375
|
||||
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,34 @@
|
|||
# Blender v2.91.2 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Medicine_Cabinet_Cube.026
|
||||
v -0.375000 -0.437500 0.500000
|
||||
v -0.375000 0.500000 0.500000
|
||||
v -0.375000 -0.437500 0.375000
|
||||
v -0.375000 0.500000 0.375000
|
||||
v 0.375000 -0.437500 0.500000
|
||||
v 0.375000 0.500000 0.500000
|
||||
v 0.375000 -0.437500 0.375000
|
||||
v 0.375000 0.500000 0.375000
|
||||
vt 0.500000 0.062500
|
||||
vt 0.500000 0.531250
|
||||
vt 0.437500 0.531250
|
||||
vt 0.437500 0.062500
|
||||
vt 0.062500 0.531250
|
||||
vt 0.062500 0.062500
|
||||
vt 0.000000 0.531250
|
||||
vt 0.000000 0.062500
|
||||
vt 0.062500 0.000000
|
||||
vt 0.437500 0.000000
|
||||
vt 0.437500 0.593750
|
||||
vt 0.062500 0.593750
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.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 3/4/4 7/6/4 5/9/4 1/10/4
|
||||
f 8/5/5 4/3/5 2/11/5 6/12/5
|
|
@ -0,0 +1,151 @@
|
|||
# Blender v2.91.2 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Microwave_Cube.018
|
||||
v -0.437500 -0.437500 0.375000
|
||||
v -0.437500 0.187500 0.375000
|
||||
v -0.437500 -0.437500 -0.375000
|
||||
v -0.437500 0.187500 -0.375000
|
||||
v 0.437500 -0.437500 0.375000
|
||||
v 0.437500 0.187500 0.375000
|
||||
v 0.437500 -0.437500 -0.375000
|
||||
v 0.437500 0.187500 -0.375000
|
||||
v -0.312500 -0.375000 0.437500
|
||||
v -0.312500 0.000000 0.437500
|
||||
v -0.312500 -0.375000 0.375000
|
||||
v -0.312500 0.000000 0.375000
|
||||
v 0.312500 -0.375000 0.437500
|
||||
v 0.312500 0.000000 0.437500
|
||||
v 0.312500 -0.375000 0.375000
|
||||
v 0.312500 0.000000 0.375000
|
||||
v -0.375000 -0.500000 -0.250000
|
||||
v -0.375000 -0.437500 -0.250000
|
||||
v -0.375000 -0.500000 -0.312500
|
||||
v -0.375000 -0.437500 -0.312500
|
||||
v -0.312500 -0.500000 -0.250000
|
||||
v -0.312500 -0.437500 -0.250000
|
||||
v -0.312500 -0.500000 -0.312500
|
||||
v -0.312500 -0.437500 -0.312500
|
||||
v 0.312500 -0.500000 -0.250000
|
||||
v 0.312500 -0.437500 -0.250000
|
||||
v 0.312500 -0.500000 -0.312500
|
||||
v 0.312500 -0.437500 -0.312500
|
||||
v 0.375000 -0.500000 -0.250000
|
||||
v 0.375000 -0.437500 -0.250000
|
||||
v 0.375000 -0.500000 -0.312500
|
||||
v 0.375000 -0.437500 -0.312500
|
||||
v 0.312500 -0.500000 0.312500
|
||||
v 0.312500 -0.437500 0.312500
|
||||
v 0.312500 -0.500000 0.250000
|
||||
v 0.312500 -0.437500 0.250000
|
||||
v 0.375000 -0.500000 0.312500
|
||||
v 0.375000 -0.437500 0.312500
|
||||
v 0.375000 -0.500000 0.250000
|
||||
v 0.375000 -0.437500 0.250000
|
||||
v -0.375000 -0.500000 0.312500
|
||||
v -0.375000 -0.437500 0.312500
|
||||
v -0.375000 -0.500000 0.250000
|
||||
v -0.375000 -0.437500 0.250000
|
||||
v -0.312500 -0.500000 0.312500
|
||||
v -0.312500 -0.437500 0.312500
|
||||
v -0.312500 -0.500000 0.250000
|
||||
v -0.312500 -0.437500 0.250000
|
||||
vt 0.601562 0.000000
|
||||
vt 0.601562 0.156250
|
||||
vt 0.414062 0.156250
|
||||
vt 0.414062 0.000000
|
||||
vt 0.195312 0.156250
|
||||
vt 0.195312 0.000000
|
||||
vt 0.007812 0.156250
|
||||
vt 0.007812 0.000000
|
||||
vt 0.195312 0.500000
|
||||
vt 0.195312 0.343750
|
||||
vt 0.414062 0.343750
|
||||
vt 0.414062 0.500000
|
||||
vt 0.414062 0.687500
|
||||
vt 0.195312 0.687500
|
||||
vt 0.015625 0.179688
|
||||
vt 0.015625 0.273438
|
||||
vt 0.000000 0.273438
|
||||
vt 0.000000 0.179688
|
||||
vt 0.117188 0.320312
|
||||
vt 0.117188 0.335938
|
||||
vt 0.101562 0.335938
|
||||
vt 0.101562 0.320312
|
||||
vt 0.187500 0.179688
|
||||
vt 0.187500 0.273438
|
||||
vt 0.171875 0.273438
|
||||
vt 0.171875 0.179688
|
||||
vt 0.015625 0.164062
|
||||
vt 0.171875 0.164062
|
||||
vt 0.171875 0.289062
|
||||
vt 0.015625 0.289062
|
||||
vt 0.085938 0.335938
|
||||
vt 0.085938 0.320312
|
||||
vt 0.070312 0.335938
|
||||
vt 0.070312 0.320312
|
||||
vt 0.132812 0.320312
|
||||
vt 0.132812 0.335938
|
||||
vt 0.062500 0.296875
|
||||
vt 0.062500 0.312500
|
||||
vt 0.046875 0.312500
|
||||
vt 0.046875 0.296875
|
||||
vt 0.031250 0.312500
|
||||
vt 0.031250 0.296875
|
||||
vt 0.015625 0.312500
|
||||
vt 0.015625 0.296875
|
||||
vt 0.000000 0.312500
|
||||
vt 0.000000 0.296875
|
||||
vt 0.015625 0.320312
|
||||
vt 0.015625 0.335938
|
||||
vt 0.000000 0.335938
|
||||
vt 0.000000 0.320312
|
||||
vt 0.062500 0.320312
|
||||
vt 0.062500 0.335938
|
||||
vt 0.046875 0.335938
|
||||
vt 0.046875 0.320312
|
||||
vt 0.031250 0.335938
|
||||
vt 0.031250 0.320312
|
||||
vt 0.101562 0.296875
|
||||
vt 0.101562 0.312500
|
||||
vt 0.085938 0.312500
|
||||
vt 0.085938 0.296875
|
||||
vt 0.070312 0.312500
|
||||
vt 0.070312 0.296875
|
||||
vt 0.132812 0.296875
|
||||
vt 0.132812 0.312500
|
||||
vt 0.117188 0.312500
|
||||
vt 0.117188 0.296875
|
||||
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/11/4 1/12/4
|
||||
f 3/13/5 7/14/5 5/9/5 1/12/5
|
||||
f 8/5/6 4/3/6 2/11/6 6/10/6
|
||||
f 9/15/1 10/16/1 12/17/1 11/18/1
|
||||
f 17/19/1 18/20/1 20/21/1 19/22/1
|
||||
f 15/23/3 16/24/3 14/25/3 13/26/3
|
||||
f 13/26/4 14/25/4 10/16/4 9/15/4
|
||||
f 11/27/5 15/28/5 13/26/5 9/15/5
|
||||
f 16/29/6 12/30/6 10/16/6 14/25/6
|
||||
f 19/22/2 20/21/2 24/31/2 23/32/2
|
||||
f 23/32/3 24/31/3 22/33/3 21/34/3
|
||||
f 21/35/4 22/36/4 18/20/4 17/19/4
|
||||
f 25/37/1 26/38/1 28/39/1 27/40/1
|
||||
f 27/40/2 28/39/2 32/41/2 31/42/2
|
||||
f 31/42/3 32/41/3 30/43/3 29/44/3
|
||||
f 29/44/4 30/43/4 26/45/4 25/46/4
|
||||
f 33/47/1 34/48/1 36/49/1 35/50/1
|
||||
f 35/51/2 36/52/2 40/53/2 39/54/2
|
||||
f 39/54/3 40/53/3 38/55/3 37/56/3
|
||||
f 37/56/4 38/55/4 34/48/4 33/47/4
|
||||
f 41/57/1 42/58/1 44/59/1 43/60/1
|
||||
f 43/60/2 44/59/2 48/61/2 47/62/2
|
||||
f 47/63/3 48/64/3 46/65/3 45/66/3
|
||||
f 45/66/4 46/65/4 42/58/4 41/57/4
|
|
@ -0,0 +1,66 @@
|
|||
# Blender v2.91.2 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o PC_Laptop_Cube.025
|
||||
v -0.437500 -0.448353 0.374050
|
||||
v -0.437500 0.167152 0.482581
|
||||
v -0.437500 -0.437500 0.312500
|
||||
v -0.437500 0.178005 0.421030
|
||||
v 0.437500 -0.448353 0.374050
|
||||
v 0.437500 0.167152 0.482581
|
||||
v 0.437500 -0.437500 0.312500
|
||||
v 0.437500 0.178005 0.421030
|
||||
v 0.437500 -0.437500 -0.312500
|
||||
v 0.437500 -0.500000 -0.312500
|
||||
v 0.437500 -0.437500 0.312500
|
||||
v 0.437500 -0.500000 0.312500
|
||||
v -0.437500 -0.437500 -0.312500
|
||||
v -0.437500 -0.500000 -0.312500
|
||||
v -0.437500 -0.437500 0.312500
|
||||
v -0.437500 -0.500000 0.312500
|
||||
vt 0.500000 0.031250
|
||||
vt 0.500000 0.343750
|
||||
vt 0.468750 0.343750
|
||||
vt 0.468750 0.031250
|
||||
vt 0.031250 0.343750
|
||||
vt 0.031250 0.031250
|
||||
vt -0.000000 0.343750
|
||||
vt -0.000000 0.031250
|
||||
vt 0.031250 0.687500
|
||||
vt 0.031250 0.375000
|
||||
vt 0.468750 0.375000
|
||||
vt 0.468750 0.687500
|
||||
vt 0.031250 0.000000
|
||||
vt 0.468750 0.000000
|
||||
vt 0.968750 -0.000000
|
||||
vt 0.968750 0.031250
|
||||
vt 0.531250 0.031250
|
||||
vt 0.531250 -0.000000
|
||||
vt 1.000000 0.343750
|
||||
vt 0.968750 0.343750
|
||||
vt 1.000000 0.031250
|
||||
vt 0.531250 0.375000
|
||||
vt 0.531250 0.343750
|
||||
vt 0.968750 0.375000
|
||||
vt 0.500000 0.031250
|
||||
vt 0.500000 0.343750
|
||||
vn -1.0000 -0.0000 0.0000
|
||||
vn 0.0000 0.1736 -0.9848
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 -0.1736 0.9848
|
||||
vn 0.0000 -0.9848 -0.1736
|
||||
vn 0.0000 0.9848 0.1736
|
||||
vn 0.0000 0.0000 -1.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/6/3 8/5/3 6/7/3 5/8/3
|
||||
f 5/9/4 6/10/4 2/11/4 1/12/4
|
||||
f 3/4/5 7/6/5 5/13/5 1/14/5
|
||||
f 8/5/6 4/3/6 2/11/6 6/10/6
|
||||
f 14/15/7 13/16/7 9/17/7 10/18/7
|
||||
f 16/19/1 15/20/1 13/16/1 14/21/1
|
||||
f 12/22/8 11/23/8 15/20/8 16/24/8
|
||||
f 9/17/9 13/16/9 15/20/9 11/23/9
|
||||
f 10/25/3 9/17/3 11/23/3 12/26/3
|
|
@ -0,0 +1,185 @@
|
|||
# Blender v2.91.2 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o PC_Old_Cube.016
|
||||
v 0.406250 -0.187500 -0.156250
|
||||
v 0.406250 0.437500 -0.156250
|
||||
v 0.406250 -0.187500 -0.031250
|
||||
v 0.406250 0.437500 -0.031250
|
||||
v -0.343750 -0.187500 -0.156250
|
||||
v -0.343750 0.437500 -0.156250
|
||||
v -0.343750 -0.187500 -0.031250
|
||||
v -0.343750 0.437500 -0.031250
|
||||
v 0.343750 -0.187500 -0.031250
|
||||
v 0.343750 0.375000 -0.031250
|
||||
v 0.343750 -0.187500 0.406250
|
||||
v 0.343750 0.375000 0.406250
|
||||
v -0.281250 -0.187500 -0.031250
|
||||
v -0.281250 0.375000 -0.031250
|
||||
v -0.281250 -0.187500 0.406250
|
||||
v -0.281250 0.375000 0.406250
|
||||
v 0.281250 -0.125000 0.406250
|
||||
v 0.281250 0.312500 0.406250
|
||||
v 0.281250 -0.125000 0.468750
|
||||
v 0.281250 0.312500 0.468750
|
||||
v -0.218750 -0.125000 0.406250
|
||||
v -0.218750 0.312500 0.406250
|
||||
v -0.218750 -0.125000 0.468750
|
||||
v -0.218750 0.312500 0.468750
|
||||
v 0.218750 -0.250000 -0.031250
|
||||
v 0.218750 -0.187500 -0.031250
|
||||
v 0.218750 -0.250000 0.281250
|
||||
v 0.218750 -0.187500 0.281250
|
||||
v -0.156250 -0.250000 -0.031250
|
||||
v -0.156250 -0.187500 -0.031250
|
||||
v -0.156250 -0.250000 0.281250
|
||||
v -0.156250 -0.187500 0.281250
|
||||
v 0.468750 -0.500000 -0.187500
|
||||
v 0.468750 -0.250000 -0.187500
|
||||
v 0.468750 -0.500000 0.500000
|
||||
v 0.468750 -0.250000 0.500000
|
||||
v -0.406250 -0.500000 -0.187500
|
||||
v -0.406250 -0.250000 -0.187500
|
||||
v -0.406250 -0.500000 0.500000
|
||||
v -0.406250 -0.250000 0.500000
|
||||
v 0.468750 -0.500000 -0.500000
|
||||
v 0.468750 -0.437500 -0.500000
|
||||
v 0.468750 -0.500000 -0.250000
|
||||
v 0.468750 -0.437500 -0.250000
|
||||
v -0.281250 -0.500000 -0.500000
|
||||
v -0.281250 -0.437500 -0.500000
|
||||
v -0.281250 -0.500000 -0.250000
|
||||
v -0.281250 -0.437500 -0.250000
|
||||
v -0.312500 -0.500000 -0.468750
|
||||
v -0.312500 -0.437500 -0.468750
|
||||
v -0.312500 -0.500000 -0.281250
|
||||
v -0.312500 -0.437500 -0.281250
|
||||
v -0.437500 -0.500000 -0.468750
|
||||
v -0.437500 -0.437500 -0.468750
|
||||
v -0.437500 -0.500000 -0.281250
|
||||
v -0.437500 -0.437500 -0.281250
|
||||
vt 0.031250 0.148438
|
||||
vt 0.031250 0.304688
|
||||
vt 0.000000 0.304688
|
||||
vt 0.000000 0.148438
|
||||
vt 0.031250 0.492188
|
||||
vt 0.031250 0.335938
|
||||
vt 0.218750 0.335938
|
||||
vt 0.218750 0.492188
|
||||
vt 0.250000 0.148438
|
||||
vt 0.250000 0.304688
|
||||
vt 0.218750 0.304688
|
||||
vt 0.218750 0.148438
|
||||
vt 0.031250 0.117188
|
||||
vt 0.218750 0.117188
|
||||
vt 0.398438 0.609375
|
||||
vt 0.398438 0.757812
|
||||
vt 0.281250 0.757812
|
||||
vt 0.281250 0.609375
|
||||
vt 0.140625 0.757812
|
||||
vt 0.140625 0.609375
|
||||
vt 0.023438 0.757812
|
||||
vt 0.023438 0.609375
|
||||
vt 0.156250 0.875000
|
||||
vt 0.156250 0.984375
|
||||
vt 0.140625 0.984375
|
||||
vt 0.140625 0.875000
|
||||
vt 0.140625 0.507812
|
||||
vt 0.281250 0.507812
|
||||
vt 0.281250 0.859375
|
||||
vt 0.140625 0.859375
|
||||
vt 0.015625 0.984375
|
||||
vt 0.015625 0.875000
|
||||
vt 0.000000 0.984375
|
||||
vt 0.000000 0.875000
|
||||
vt 0.015625 0.859375
|
||||
vt 0.140625 0.859375
|
||||
vt 0.140625 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.406250
|
||||
vt 0.000000 0.406250
|
||||
vt 0.000000 0.328125
|
||||
vt 0.015625 0.328125
|
||||
vt 0.015625 0.671875
|
||||
vt 0.000000 0.671875
|
||||
vt 0.000000 0.578125
|
||||
vt 0.015625 0.578125
|
||||
vt 0.000000 0.500000
|
||||
vt 0.015625 0.500000
|
||||
vt 0.265625 0.093750
|
||||
vt 0.328125 0.093750
|
||||
vt 0.328125 0.265625
|
||||
vt 0.265625 0.265625
|
||||
vt 0.328125 0.328125
|
||||
vt 0.546875 0.265625
|
||||
vt 0.546875 0.328125
|
||||
vt 0.609375 0.265625
|
||||
vt 0.546875 0.093750
|
||||
vt 0.609375 0.093750
|
||||
vt 0.328125 0.031250
|
||||
vt 0.546875 0.031250
|
||||
vt 0.000000 0.015625
|
||||
vt 0.015625 0.015625
|
||||
vt 0.015625 0.078125
|
||||
vt 0.000000 0.078125
|
||||
vt 0.015625 0.093750
|
||||
vt 0.203125 0.078125
|
||||
vt 0.203125 0.093750
|
||||
vt 0.218750 0.078125
|
||||
vt 0.203125 0.015625
|
||||
vt 0.218750 0.015625
|
||||
vt 0.015625 0.000000
|
||||
vt 0.203125 0.000000
|
||||
vt 0.234375 0.015625
|
||||
vt 0.250000 0.015625
|
||||
vt 0.250000 0.062500
|
||||
vt 0.234375 0.062500
|
||||
vt 0.250000 0.078125
|
||||
vt 0.281250 0.062500
|
||||
vt 0.281250 0.078125
|
||||
vt 0.296875 0.062500
|
||||
vt 0.281250 0.015625
|
||||
vt 0.296875 0.015625
|
||||
vt 0.250000 0.000000
|
||||
vt 0.281250 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
|
||||
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/6/2 8/7/2 7/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 3/13/5 7/14/5 5/12/5 1/1/5
|
||||
f 8/7/6 4/6/6 2/2/6 6/11/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/20/3 16/19/3 14/21/3 13/22/3
|
||||
f 17/23/1 18/24/1 20/25/1 19/26/1
|
||||
f 11/18/5 15/20/5 13/27/5 9/28/5
|
||||
f 16/19/6 12/17/6 10/29/6 14/30/6
|
||||
f 19/26/2 20/25/2 24/31/2 23/32/2
|
||||
f 23/32/3 24/31/3 22/33/3 21/34/3
|
||||
f 19/26/5 23/32/5 21/35/5 17/36/5
|
||||
f 24/31/6 20/25/6 18/37/6 22/38/6
|
||||
f 25/39/1 26/40/1 28/41/1 27/42/1
|
||||
f 27/43/2 28/44/2 32/45/2 31/46/2
|
||||
f 31/46/3 32/45/3 30/47/3 29/48/3
|
||||
f 29/48/4 30/47/4 26/40/4 25/39/4
|
||||
f 33/49/1 34/50/1 36/51/1 35/52/1
|
||||
f 35/53/2 36/51/2 40/54/2 39/55/2
|
||||
f 39/56/3 40/54/3 38/57/3 37/58/3
|
||||
f 34/50/4 33/59/4 37/60/4 38/57/4
|
||||
f 40/54/6 36/51/6 34/50/6 38/57/6
|
||||
f 41/61/1 42/62/1 44/63/1 43/64/1
|
||||
f 43/65/2 44/63/2 48/66/2 47/67/2
|
||||
f 47/68/3 48/66/3 46/69/3 45/70/3
|
||||
f 42/62/4 41/71/4 45/72/4 46/69/4
|
||||
f 48/66/6 44/63/6 42/62/6 46/69/6
|
||||
f 49/73/1 50/74/1 52/75/1 51/76/1
|
||||
f 51/77/2 52/75/2 56/78/2 55/79/2
|
||||
f 55/80/3 56/78/3 54/81/3 53/82/3
|
||||
f 50/74/4 49/83/4 53/84/4 54/81/4
|
||||
f 56/78/6 52/75/6 50/74/6 54/81/6
|
|
@ -0,0 +1,239 @@
|
|||
# Blender v2.91.2 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o PC_Screen_Cube.020
|
||||
v 0.468750 -0.500000 -0.312500
|
||||
v 0.468750 -0.437500 -0.312500
|
||||
v 0.468750 -0.500000 -0.062500
|
||||
v 0.468750 -0.437500 -0.062500
|
||||
v -0.281250 -0.500000 -0.312500
|
||||
v -0.281250 -0.437500 -0.312500
|
||||
v -0.281250 -0.500000 -0.062500
|
||||
v -0.281250 -0.437500 -0.062500
|
||||
v -0.312500 -0.500000 -0.281250
|
||||
v -0.312500 -0.437500 -0.281250
|
||||
v -0.312500 -0.500000 -0.093750
|
||||
v -0.312500 -0.437500 -0.093750
|
||||
v -0.437500 -0.500000 -0.281250
|
||||
v -0.437500 -0.437500 -0.281250
|
||||
v -0.437500 -0.500000 -0.093750
|
||||
v -0.437500 -0.437500 -0.093750
|
||||
v -0.937500 -0.375000 0.375000
|
||||
v -0.937500 0.437500 0.375000
|
||||
v -0.937500 -0.375000 0.312500
|
||||
v -0.937500 0.437500 0.312500
|
||||
v 0.937500 -0.375000 0.375000
|
||||
v 0.937500 0.437500 0.375000
|
||||
v 0.937500 -0.375000 0.312500
|
||||
v 0.937500 0.437500 0.312500
|
||||
v -0.062500 -0.437500 0.500000
|
||||
v -0.062500 0.187500 0.500000
|
||||
v -0.062500 -0.437500 0.437500
|
||||
v -0.062500 0.187500 0.437500
|
||||
v 0.062500 -0.437500 0.500000
|
||||
v 0.062500 0.187500 0.500000
|
||||
v 0.062500 -0.437500 0.437500
|
||||
v 0.062500 0.187500 0.437500
|
||||
v -0.062500 -0.500000 0.437500
|
||||
v -0.062500 -0.500000 0.500000
|
||||
v 0.062500 -0.500000 0.437500
|
||||
v 0.062500 -0.500000 0.500000
|
||||
v 0.250000 -0.437500 0.500000
|
||||
v 0.250000 -0.437500 0.437500
|
||||
v 0.250000 -0.500000 0.500000
|
||||
v 0.250000 -0.500000 0.437500
|
||||
v -0.250000 -0.437500 0.437500
|
||||
v -0.250000 -0.437500 0.500000
|
||||
v -0.250000 -0.500000 0.437500
|
||||
v -0.250000 -0.500000 0.500000
|
||||
v -0.312500 -0.437500 0.437500
|
||||
v -0.312500 -0.437500 0.500000
|
||||
v -0.312500 -0.500000 0.437500
|
||||
v -0.312500 -0.500000 0.500000
|
||||
v 0.312500 -0.437500 0.500000
|
||||
v 0.312500 -0.437500 0.437500
|
||||
v 0.312500 -0.500000 0.500000
|
||||
v 0.312500 -0.500000 0.437500
|
||||
v 0.250000 -0.500000 0.312500
|
||||
v 0.250000 -0.437500 0.312500
|
||||
v -0.250000 -0.500000 0.312500
|
||||
v -0.250000 -0.437500 0.312500
|
||||
v -0.312500 -0.500000 0.312500
|
||||
v -0.312500 -0.437500 0.312500
|
||||
v 0.312500 -0.500000 0.312500
|
||||
v 0.312500 -0.437500 0.312500
|
||||
v -0.062500 0.000000 0.437500
|
||||
v -0.062500 0.125000 0.437500
|
||||
v -0.062500 0.000000 0.375000
|
||||
v -0.062500 0.125000 0.375000
|
||||
v 0.062500 0.000000 0.437500
|
||||
v 0.062500 0.125000 0.437500
|
||||
v 0.062500 0.000000 0.375000
|
||||
v 0.062500 0.125000 0.375000
|
||||
v -0.062500 0.187500 0.500000
|
||||
v -0.062500 0.187500 0.437500
|
||||
v 0.062500 0.187500 0.500000
|
||||
v 0.062500 0.187500 0.437500
|
||||
vt 0.507812 0.015625
|
||||
vt 0.523438 0.015625
|
||||
vt 0.523438 0.078125
|
||||
vt 0.507812 0.078125
|
||||
vt 0.523438 0.093750
|
||||
vt 0.710938 0.078125
|
||||
vt 0.710938 0.093750
|
||||
vt 0.726562 0.078125
|
||||
vt 0.710938 0.015625
|
||||
vt 0.726562 0.015625
|
||||
vt 0.523438 -0.000000
|
||||
vt 0.710938 0.000000
|
||||
vt 0.796875 0.062500
|
||||
vt 0.781250 0.062500
|
||||
vt 0.781250 0.015625
|
||||
vt 0.796875 0.015625
|
||||
vt 0.781250 0.000000
|
||||
vt 0.750000 0.015625
|
||||
vt 0.750000 0.000000
|
||||
vt 0.734375 0.015625
|
||||
vt 0.750000 0.062500
|
||||
vt 0.734375 0.062500
|
||||
vt 0.781250 0.078125
|
||||
vt 0.750000 0.078125
|
||||
vt 0.500000 0.015625
|
||||
vt 0.500000 0.218750
|
||||
vt 0.484375 0.218750
|
||||
vt 0.484375 0.015625
|
||||
vt 0.015625 0.218750
|
||||
vt 0.015625 0.015625
|
||||
vt 0.000000 0.218750
|
||||
vt 0.000000 0.015625
|
||||
vt 0.015625 0.437500
|
||||
vt 0.015625 0.234375
|
||||
vt 0.484375 0.234375
|
||||
vt 0.484375 0.437500
|
||||
vt 0.015625 0.000000
|
||||
vt 0.484375 0.000000
|
||||
vt 0.140625 0.507812
|
||||
vt 0.140625 0.664062
|
||||
vt 0.125000 0.664062
|
||||
vt 0.125000 0.507812
|
||||
vt 0.117188 0.484375
|
||||
vt 0.117188 0.640625
|
||||
vt 0.085938 0.640625
|
||||
vt 0.085938 0.484375
|
||||
vt 0.187500 0.507812
|
||||
vt 0.187500 0.664062
|
||||
vt 0.171875 0.664062
|
||||
vt 0.171875 0.507812
|
||||
vt 0.046875 0.531250
|
||||
vt 0.062500 0.531250
|
||||
vt 0.062500 0.578125
|
||||
vt 0.046875 0.578125
|
||||
vt 0.171875 0.679688
|
||||
vt 0.140625 0.679688
|
||||
vt 0.140625 0.492188
|
||||
vt 0.171875 0.492188
|
||||
vt 0.085938 0.468750
|
||||
vt 0.117188 0.468750
|
||||
vt 0.078125 0.492188
|
||||
vt 0.078125 0.507812
|
||||
vt 0.031250 0.507812
|
||||
vt 0.031250 0.492188
|
||||
vt 0.062500 0.593750
|
||||
vt 0.046875 0.593750
|
||||
vt 0.078125 0.531250
|
||||
vt 0.078125 0.578125
|
||||
vt 0.039062 0.484375
|
||||
vt 0.039062 0.468750
|
||||
vt 0.164062 0.468750
|
||||
vt 0.164062 0.484375
|
||||
vt 0.078125 0.523438
|
||||
vt 0.031250 0.523438
|
||||
vt 0.015625 0.507812
|
||||
vt 0.015625 0.523438
|
||||
vt 0.000000 0.523438
|
||||
vt 0.000000 0.507812
|
||||
vt 0.015625 0.492188
|
||||
vt 0.062500 0.609375
|
||||
vt 0.046875 0.609375
|
||||
vt 0.195312 0.468750
|
||||
vt 0.195312 0.484375
|
||||
vt 0.078125 0.593750
|
||||
vt 0.031250 0.554688
|
||||
vt 0.031250 0.570312
|
||||
vt 0.015625 0.570312
|
||||
vt 0.015625 0.554688
|
||||
vt 0.000000 0.578125
|
||||
vt 0.015625 0.578125
|
||||
vt 0.015625 0.593750
|
||||
vt 0.000000 0.593750
|
||||
vt 0.015625 0.609375
|
||||
vt 0.007812 0.484375
|
||||
vt 0.007812 0.468750
|
||||
vt 0.000000 0.554688
|
||||
vt 0.000000 0.445312
|
||||
vt 0.031250 0.445312
|
||||
vt 0.031250 0.460938
|
||||
vt 0.000000 0.460938
|
||||
vt 0.093750 0.460938
|
||||
vt 0.062500 0.460938
|
||||
vt 0.062500 0.445312
|
||||
vt 0.093750 0.445312
|
||||
vt 0.125000 0.460938
|
||||
vt 0.125000 0.445312
|
||||
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 2/2/4 1/11/4 5/12/4 6/9/4
|
||||
f 8/6/5 4/3/5 2/2/5 6/9/5
|
||||
f 9/13/1 10/14/1 12/15/1 11/16/1
|
||||
f 11/17/2 12/15/2 16/18/2 15/19/2
|
||||
f 15/20/3 16/18/3 14/21/3 13/22/3
|
||||
f 10/14/4 9/23/4 13/24/4 14/21/4
|
||||
f 16/18/5 12/15/5 10/14/5 14/21/5
|
||||
f 17/25/3 18/26/3 20/27/3 19/28/3
|
||||
f 19/28/4 20/27/4 24/29/4 23/30/4
|
||||
f 23/30/1 24/29/1 22/31/1 21/32/1
|
||||
f 21/33/2 22/34/2 18/35/2 17/36/2
|
||||
f 19/28/6 23/30/6 21/37/6 17/38/6
|
||||
f 24/29/5 20/27/5 18/35/5 22/34/5
|
||||
f 25/39/3 26/40/3 28/41/3 27/42/3
|
||||
f 27/43/4 28/44/4 32/45/4 31/46/4
|
||||
f 31/47/1 32/48/1 30/49/1 29/50/1
|
||||
f 29/50/2 30/49/2 26/40/2 25/39/2
|
||||
f 31/51/5 29/52/5 37/53/5 38/54/5
|
||||
f 32/55/5 28/56/5 26/40/5 30/49/5
|
||||
f 29/50/2 25/39/2 34/57/2 36/58/2
|
||||
f 27/43/4 31/46/4 35/59/4 33/60/4
|
||||
f 34/61/2 25/62/2 42/63/2 44/64/2
|
||||
f 38/54/5 37/53/5 49/65/5 50/66/5
|
||||
f 29/52/2 36/67/2 39/68/2 37/53/2
|
||||
f 35/59/4 31/46/4 38/69/4 40/70/4
|
||||
f 27/43/4 33/60/4 43/71/4 41/72/4
|
||||
f 25/62/5 27/73/5 41/74/5 42/63/5
|
||||
f 46/75/3 45/76/3 47/77/3 48/78/3
|
||||
f 44/64/2 42/63/2 46/75/2 48/79/2
|
||||
f 42/63/5 41/74/5 45/76/5 46/75/5
|
||||
f 50/66/1 49/65/1 51/80/1 52/81/1
|
||||
f 41/72/1 43/71/1 55/82/1 56/83/1
|
||||
f 37/53/2 39/68/2 51/84/2 49/65/2
|
||||
f 56/85/4 55/86/4 57/87/4 58/88/4
|
||||
f 53/89/4 54/90/4 60/91/4 59/92/4
|
||||
f 38/54/5 50/66/5 60/91/5 54/90/5
|
||||
f 50/66/1 52/81/1 59/93/1 60/91/1
|
||||
f 40/70/3 38/69/3 54/94/3 53/95/3
|
||||
f 45/76/5 41/74/5 56/85/5 58/88/5
|
||||
f 47/77/3 45/76/3 58/88/3 57/96/3
|
||||
f 61/97/3 62/98/3 64/99/3 63/100/3
|
||||
f 67/101/1 68/102/1 66/103/1 65/104/1
|
||||
f 63/105/6 67/101/6 65/104/6 61/106/6
|
||||
f 68/102/5 64/99/5 62/98/5 66/103/5
|
||||
l 72 32
|
||||
l 30 71
|
||||
l 69 26
|
||||
l 28 70
|
|
@ -0,0 +1,63 @@
|
|||
# Blender v2.93.5 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Server_rack_1_Cube.027
|
||||
v -0.437500 -0.500000 0.500000
|
||||
v -0.437500 1.500000 0.500000
|
||||
v -0.437500 -0.500000 -0.500000
|
||||
v -0.437500 1.500000 -0.500000
|
||||
v 0.437500 -0.500000 0.500000
|
||||
v 0.437500 1.500000 0.500000
|
||||
v 0.437500 -0.500000 -0.500000
|
||||
v 0.437500 1.500000 -0.500000
|
||||
v -0.375000 1.437500 -0.500000
|
||||
v 0.375000 1.437500 -0.500000
|
||||
v 0.375000 -0.500000 -0.500000
|
||||
v -0.375000 -0.500000 -0.500000
|
||||
v -0.375000 1.437500 -0.437500
|
||||
v 0.375000 1.437500 -0.437500
|
||||
v 0.375000 -0.500000 -0.437500
|
||||
v -0.375000 -0.500000 -0.437500
|
||||
vt 0.687500 -0.000000
|
||||
vt 0.687500 0.500000
|
||||
vt 0.937500 0.500000
|
||||
vt 0.937500 -0.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.218750 0.500000
|
||||
vt 0.203125 0.484375
|
||||
vt 0.015625 0.484375
|
||||
vt 0.218750 -0.000000
|
||||
vt 0.468750 0.500000
|
||||
vt 0.468750 -0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.015625 0.000000
|
||||
vt 0.000000 0.750000
|
||||
vt 0.218750 0.750000
|
||||
vt 0.203125 -0.000000
|
||||
vt 0.242188 0.984375
|
||||
vt 0.242188 0.500000
|
||||
vt 0.257812 0.500000
|
||||
vt 0.257812 0.984375
|
||||
vt 0.460938 0.500000
|
||||
vt 0.460938 0.984375
|
||||
vt 0.445312 0.984375
|
||||
vt 0.445312 0.500000
|
||||
vt 0.445312 1.000000
|
||||
vt 0.257812 1.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
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 4/5/2 8/6/2 10/7/2 9/8/2
|
||||
f 7/9/3 8/6/3 6/10/3 5/11/3
|
||||
f 5/11/4 6/10/4 2/2/4 1/1/4
|
||||
f 3/12/2 4/5/2 9/8/2 12/13/2
|
||||
f 8/6/5 4/5/5 2/14/5 6/15/5
|
||||
f 7/9/2 11/16/2 10/7/2 8/6/2
|
||||
f 10/17/1 11/18/1 15/19/1 14/20/1
|
||||
f 12/21/3 9/22/3 13/23/3 16/24/3
|
||||
f 9/25/6 10/26/6 14/20/6 13/23/6
|
||||
f 14/20/2 15/19/2 16/24/2 13/23/2
|
|
@ -0,0 +1,63 @@
|
|||
# Blender v2.93.5 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Server_rack_2_Cube.028
|
||||
v -0.437500 -0.500000 0.500000
|
||||
v -0.437500 1.000000 0.500000
|
||||
v -0.437500 -0.500000 -0.500000
|
||||
v -0.437500 1.000000 -0.500000
|
||||
v 0.437500 -0.500000 0.500000
|
||||
v 0.437500 1.000000 0.500000
|
||||
v 0.437500 -0.500000 -0.500000
|
||||
v 0.437500 1.000000 -0.500000
|
||||
v -0.375000 0.937500 -0.500000
|
||||
v 0.375000 0.937500 -0.500000
|
||||
v 0.375000 -0.500000 -0.500000
|
||||
v -0.375000 -0.500000 -0.500000
|
||||
v -0.375000 0.937500 -0.437500
|
||||
v 0.375000 0.937500 -0.437500
|
||||
v 0.375000 -0.500000 -0.437500
|
||||
v -0.375000 -0.500000 -0.437500
|
||||
vt 0.687500 0.125000
|
||||
vt 0.687500 0.500000
|
||||
vt 0.937500 0.500000
|
||||
vt 0.937500 0.125000
|
||||
vt -0.000000 0.500000
|
||||
vt 0.218750 0.500000
|
||||
vt 0.203125 0.484375
|
||||
vt 0.015625 0.484375
|
||||
vt 0.218750 0.125000
|
||||
vt 0.468750 0.500000
|
||||
vt 0.468750 0.125000
|
||||
vt -0.000000 0.125000
|
||||
vt 0.015625 0.125000
|
||||
vt -0.000000 0.750000
|
||||
vt 0.218750 0.750000
|
||||
vt 0.203125 0.125000
|
||||
vt 0.242188 0.984375
|
||||
vt 0.242188 0.625000
|
||||
vt 0.257812 0.625000
|
||||
vt 0.257812 0.984375
|
||||
vt 0.460938 0.625000
|
||||
vt 0.460938 0.984375
|
||||
vt 0.445312 0.984375
|
||||
vt 0.445312 0.625000
|
||||
vt 0.445312 1.000000
|
||||
vt 0.257812 1.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
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 4/5/2 8/6/2 10/7/2 9/8/2
|
||||
f 7/9/3 8/6/3 6/10/3 5/11/3
|
||||
f 5/11/4 6/10/4 2/2/4 1/1/4
|
||||
f 3/12/2 4/5/2 9/8/2 12/13/2
|
||||
f 8/6/5 4/5/5 2/14/5 6/15/5
|
||||
f 7/9/2 11/16/2 10/7/2 8/6/2
|
||||
f 10/17/1 11/18/1 15/19/1 14/20/1
|
||||
f 12/21/3 9/22/3 13/23/3 16/24/3
|
||||
f 9/25/6 10/26/6 14/20/6 13/23/6
|
||||
f 14/20/2 15/19/2 16/24/2 13/23/2
|
|
@ -0,0 +1,63 @@
|
|||
# Blender v2.93.5 OBJ File: 'furniture.blend'
|
||||
# www.blender.org
|
||||
o Server_rack_3_Cube.029
|
||||
v -0.437500 -0.500000 0.500000
|
||||
v -0.437500 0.500000 0.500000
|
||||
v -0.437500 -0.500000 -0.500000
|
||||
v -0.437500 0.500000 -0.500000
|
||||
v 0.437500 -0.500000 0.500000
|
||||
v 0.437500 0.500000 0.500000
|
||||
v 0.437500 -0.500000 -0.500000
|
||||
v 0.437500 0.500000 -0.500000
|
||||
v -0.375000 0.437500 -0.500000
|
||||
v 0.375000 0.437500 -0.500000
|
||||
v 0.375000 -0.500000 -0.500000
|
||||
v -0.375000 -0.500000 -0.500000
|
||||
v -0.375000 0.437500 -0.437500
|
||||
v 0.375000 0.437500 -0.437500
|
||||
v 0.375000 -0.500000 -0.437500
|
||||
v -0.375000 -0.500000 -0.437500
|
||||
vt 0.687500 0.234375
|
||||
vt 0.687500 0.500000
|
||||
vt 0.937500 0.500000
|
||||
vt 0.937500 0.234375
|
||||
vt 0.000000 0.500000
|
||||
vt 0.218750 0.500000
|
||||
vt 0.203125 0.484375
|
||||
vt 0.015625 0.484375
|
||||
vt 0.218750 0.234375
|
||||
vt 0.468750 0.500000
|
||||
vt 0.468750 0.234375
|
||||
vt 0.000000 0.234375
|
||||
vt 0.015625 0.234375
|
||||
vt 0.000000 0.750000
|
||||
vt 0.218750 0.750000
|
||||
vt 0.203125 0.234375
|
||||
vt 0.242188 0.984375
|
||||
vt 0.242188 0.734375
|
||||
vt 0.257812 0.734375
|
||||
vt 0.257812 0.984375
|
||||
vt 0.460938 0.734375
|
||||
vt 0.460938 0.984375
|
||||
vt 0.445312 0.984375
|
||||
vt 0.445312 0.734375
|
||||
vt 0.445312 1.000000
|
||||
vt 0.257812 1.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
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 4/5/2 8/6/2 10/7/2 9/8/2
|
||||
f 7/9/3 8/6/3 6/10/3 5/11/3
|
||||
f 5/11/4 6/10/4 2/2/4 1/1/4
|
||||
f 3/12/2 4/5/2 9/8/2 12/13/2
|
||||
f 8/6/5 4/5/5 2/14/5 6/15/5
|
||||
f 7/9/2 11/16/2 10/7/2 8/6/2
|
||||
f 10/17/1 11/18/1 15/19/1 14/20/1
|
||||
f 12/21/3 9/22/3 13/23/3 16/24/3
|
||||
f 9/25/6 10/26/6 14/20/6 13/23/6
|
||||
f 14/20/2 15/19/2 16/24/2 13/23/2
|
|
@ -0,0 +1,158 @@
|
|||
minetest.register_node('furniture:file_cabinet', {
|
||||
description = 'File Cabinet',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_file_cabinet.obj',
|
||||
tiles = {'furniture_file_cabinet.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, .45, 1, .45},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, .45, 1, .45},
|
||||
},
|
||||
groups = {breakable=1,stash=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:pc_old', {
|
||||
description = 'Old Personal Computer',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_pc_old.obj',
|
||||
tiles = {'furniture_pc_old.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
light_source = 4,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {{-.475, -.5, -.25, .45, -.25, .5},
|
||||
{-.4, -.25, -.25, .35, .45, .45}}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {{-.475, -.5, -.25, .45, -.25, .5},
|
||||
{-.4, -.25, -.25, .35, .45, .45}}
|
||||
},
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:pc_screen', {
|
||||
description = 'Ultrawide monitor',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_pc_screen.obj',
|
||||
tiles = {'furniture_pc_screen.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
light_source = 4,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {{-.45, -.5, -.35, .45, -.45, 0},
|
||||
{-.95, -.45, .3, .95, .45, .45}}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {{-.45, -.5, -.35, .45, -.45, 0},
|
||||
{-.95, -.45, .3, .95, .45, .45}}
|
||||
},
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:pc_laptop', {
|
||||
description = 'Laptop',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_pc_laptop.obj',
|
||||
tiles = {'furniture_pc_laptop.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
light_source = 4,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {{-.45, -.5, -.35, .45, -.45, .35},
|
||||
{-.45, -.45, .25, .45, .15, .5}}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {{-.45, -.5, -.35, .45, -.45, .35},
|
||||
{-.45, -.45, .25, .45, .15, .5}}
|
||||
},
|
||||
groups = {breakable=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:server_1', {
|
||||
description = 'Tall Server Rack',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_server_rack_1.obj',
|
||||
tiles = {'furniture_server_rack_1.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, .45, 1.5, .45},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, .45, 1.5, .45},
|
||||
},
|
||||
_sound = 'server_rack',
|
||||
groups = {breakable=1, plays_sound=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:server_2', {
|
||||
description = 'Medium Server Rack',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_server_rack_2.obj',
|
||||
tiles = {'furniture_server_rack_2.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, .45, 1, .45},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, .45, 1, .45},
|
||||
},
|
||||
_sound = 'server_rack',
|
||||
groups = {breakable=1, plays_sound=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:server_3', {
|
||||
description = 'Short Server Rack',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_server_rack_3.obj',
|
||||
tiles = {'furniture_server_rack_3.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, .45, .5, .45},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, .45, .5, .45},
|
||||
},
|
||||
_sound = 'server_rack',
|
||||
groups = {breakable=1, plays_sound=1},
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:desk', {
|
||||
description = 'Desk',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_desk.obj',
|
||||
tiles = {'furniture_desk.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
palette = 'furniture_stain_palette.png',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, 1.5, .5, .5}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, 1.5, .5, .5}
|
||||
},
|
||||
groups = {breakable=1},
|
||||
on_rightclick = furniture.dye_less,
|
||||
on_punch = furniture.dye_more
|
||||
})
|
|
@ -16,6 +16,8 @@ minetest.register_node('furniture:chest_small', {
|
|||
fixed = {-.4, -.5, -.3, .4, .2, .4},
|
||||
},
|
||||
groups = {breakable=1},
|
||||
on_rightclick = furniture.dye_less,
|
||||
on_punch = furniture.dye_more
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:chest', {
|
||||
|
@ -36,6 +38,8 @@ minetest.register_node('furniture:chest', {
|
|||
fixed = {-.45, -.5, -.4, .45, .4, .5},
|
||||
},
|
||||
groups = {breakable=1},
|
||||
on_rightclick = furniture.dye_less,
|
||||
on_punch = furniture.dye_more
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:chest_large', {
|
||||
|
@ -59,45 +63,3 @@ minetest.register_node('furniture:chest_large', {
|
|||
on_rightclick = furniture.dye_less,
|
||||
on_punch = furniture.dye_more
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:cabinet_wall', {
|
||||
description = 'Wall Mounted Cabinet',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_cabinet_wall.obj',
|
||||
tiles = {'furniture_cabinet_wall.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
palette = 'furniture_stain_palette.png',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.3, .5, .5, .5},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.3, .5, .5, .5},
|
||||
},
|
||||
groups = {breakable=1},
|
||||
on_rightclick = furniture.dye_less,
|
||||
on_punch = furniture.dye_more
|
||||
})
|
||||
|
||||
minetest.register_node('furniture:cabinet_counter', {
|
||||
description = 'Cabinet with Countertop',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'furniture_cabinet_counter.obj',
|
||||
tiles = {'furniture_cabinet_counter.png'},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'colorfacedir',
|
||||
palette = 'furniture_stain_palette.png',
|
||||
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},
|
||||
on_rightclick = furniture.dye_less,
|
||||
on_punch = furniture.dye_more
|
||||
})
|
||||
|
|
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 497 B |
|
@ -96,7 +96,7 @@ end
|
|||
|
||||
-- Update appearance when the player joins
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
player:get_inventory():set_size('main', 8*4)
|
||||
player:get_inventory():set_size('main', 8*4)--Add extra inventories for playing games and clothing/cosmetics
|
||||
gamer.player_attached[player:get_player_name()] = false
|
||||
gamer.player_set_model(player, 'gamer_model.b3d')
|
||||
player:set_local_animation({x=0, y=79}, {x=168, y=187}, {x=189, y=198}, {x=200, y=219}, 30)
|
||||
|
@ -156,3 +156,16 @@ minetest.register_globalstep(function(dtime)
|
|||
end
|
||||
end
|
||||
end)
|
||||
|
||||
local function player_heal()
|
||||
for _, player in pairs(minetest.get_connected_players()) do
|
||||
local hp = player:get_hp()
|
||||
local breath = player:get_breath()
|
||||
local max_hp = player:get_properties().hp_max
|
||||
if hp > 0 and hp < max_hp and breath > 0 then
|
||||
player:set_hp(hp + 1)
|
||||
end
|
||||
end
|
||||
minetest.after(3.0, player_heal)
|
||||
end
|
||||
minetest.after(5.0, player_heal)
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
name = gamer
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32"
|
||||
xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||
<desc>lights.blend, (Blender 2.91.2)</desc>
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="0.000,6.000 4.000,6.000 4.000,10.000 0.000,10.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="0.000,28.000 0.000,32.000 4.000,32.000 4.000,28.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="12.000,10.000 12.000,28.000 16.000,28.000 16.000,10.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="8.000,10.000 12.000,10.000 12.000,28.000 8.000,28.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="4.000,10.000 8.000,10.000 8.000,28.000 4.000,28.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="0.000,10.000 0.000,28.000 4.000,28.000 4.000,10.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="32.000,32.000 32.000,14.000 18.000,14.000 18.000,32.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="18.000,32.000 32.000,32.000 32.000,14.000 18.000,14.000 " />
|
||||
|
||||
</svg>
|
Before Width: | Height: | Size: 1.5 KiB |
|
@ -136,18 +136,18 @@ minetest.register_node('lobby:button_1', {
|
|||
local item = itemstack:get_name()
|
||||
local player_name = clicker:get_player_name()
|
||||
local owner = meta:get_string('owner')
|
||||
if item ~= 'creative:tool_breaking' then
|
||||
if item == 'creative:tool_breaking' or item == 'tasks:configurator' then
|
||||
if owner == player_name or minetest.check_player_privs(clicker, {server = true}) then
|
||||
minetest.swap_node(pos, {name = 'lobby:button_0'})
|
||||
lobby.savedata.IDs[id] = false
|
||||
end
|
||||
else
|
||||
local name = meta:get_string('name')
|
||||
local player_count = meta:get_string('player_count')
|
||||
local xp = meta:get_string('xp')
|
||||
local pos = meta:get_string('pos')
|
||||
local desc = meta:get_string('desc')
|
||||
meta:set_string('formspec', button_display(id, name, player_count, xp, pos, desc))
|
||||
else
|
||||
if owner == player_name or minetest.check_player_privs(clicker, {server = true}) then
|
||||
minetest.swap_node(pos, {name = 'lobby:button_0'})
|
||||
lobby.savedata.IDs[id] = false
|
||||
end
|
||||
end
|
||||
end,
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="128" height="128" viewBox="0 0 128 128"
|
||||
xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||
<desc>shops.blend, (Blender 2.91.2)</desc>
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="24.000,99.000 24.000,71.000 6.000,71.000 6.000,99.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="90.000,128.000 90.000,100.000 38.000,100.000 38.000,128.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="58.000,0.000 58.000,14.000 64.000,14.000 64.000,0.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="76.000,99.000 76.000,71.000 24.000,71.000 24.000,99.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="58.000,0.000 6.000,0.000 6.000,14.000 58.000,14.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="110.000,128.000 110.000,100.000 96.000,100.000 96.000,128.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="6.000,14.000 6.000,0.000 0.000,0.000 0.000,14.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="128.000,99.000 128.000,47.000 124.000,47.000 124.000,99.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="90.000,100.000 90.000,128.000 96.000,128.000 96.000,100.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="32.000,128.000 32.000,100.000 18.000,100.000 18.000,128.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="38.000,128.000 38.000,100.000 32.000,100.000 32.000,128.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="18.000,128.000 18.000,100.000 0.000,100.000 0.000,128.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="116.000,99.000 116.000,47.000 112.000,47.000 112.000,99.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="6.000,99.000 6.000,71.000 0.000,71.000 0.000,99.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="94.000,71.000 94.000,99.000 100.000,99.000 100.000,71.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="120.000,99.000 120.000,47.000 116.000,47.000 116.000,99.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="64.000,14.000 58.000,14.000 58.000,32.000 64.000,32.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="110.000,100.000 110.000,128.000 128.000,128.000 128.000,100.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="76.000,71.000 76.000,99.000 94.000,99.000 94.000,71.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="124.000,99.000 124.000,47.000 120.000,47.000 120.000,99.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="6.000,14.000 0.000,14.000 0.000,32.000 6.000,32.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="98.000,70.000 98.000,18.000 94.000,18.000 94.000,70.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="102.000,70.000 102.000,18.000 98.000,18.000 98.000,70.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="106.000,70.000 106.000,18.000 102.000,18.000 102.000,70.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="110.000,70.000 110.000,18.000 106.000,18.000 106.000,70.000 " />
|
||||
<polygon stroke="black" stroke-width="1" fill="rgb(204, 204, 204)" fill-opacity="0.25" points="128.000,0.000 72.000,0.000 72.000,16.000 128.000,16.000 " />
|
||||
|
||||
</svg>
|
Before Width: | Height: | Size: 4.3 KiB |
|
@ -11,11 +11,14 @@ end
|
|||
minetest.register_on_joinplayer(function(player)
|
||||
local name = player:get_player_name()
|
||||
local player_attributes = player:get_meta()
|
||||
local max_hp = player_attributes:get_int('hp')
|
||||
if max_hp < 20 then
|
||||
player_attributes:set_int('hp', 20)
|
||||
end
|
||||
player_attributes:set_string('ghost', 'false')
|
||||
lobby.suspect[name] = 0
|
||||
lobby.game[name] = 'lobby'
|
||||
lobby.voted[name] = true
|
||||
player:set_hp(40)
|
||||
if not_builder(player) then
|
||||
local player_inv = player:get_inventory()
|
||||
player_inv:set_list('main', {})
|
||||
|
|
|
@ -5,14 +5,26 @@ end
|
|||
|
||||
local function lobby_shop_priv(player)
|
||||
local player_attributes = player:get_meta()
|
||||
local xp = player_attributes:get_float('xp') or 0
|
||||
local xp = player_attributes:get_float('xp')
|
||||
local luck = player_attributes:get_int('luck')
|
||||
local health = player_attributes:get_int('hp')
|
||||
local formspec =
|
||||
'formspec_version[3]'..
|
||||
'size[12,12]'..
|
||||
'textarea[0.5,0.5;11,2;;; You currently have '..xp..' xp available. Spend them on privileges! If you run low collect trash from the lobby, or play some levels with friends. Playing levels will revoke some privileges, but you can restore them here.]'..
|
||||
'label[1,2.5;If you want to build your own levels you\'ll need the builder priv. \nThis will give you, fly, fast, creative, and worldedit.]'..
|
||||
'button[1,3.5;4,1;builder;Builder Priv (100XP)]'..
|
||||
'button[7,3.5;4,1;build;Restore builder privs (FREE!!!)]'
|
||||
'textarea[.5,.5;2,2;;;Player Stats:\n XP: '..xp..'\n HP: '..health..'\n Luck: '..luck..']'..
|
||||
'textarea[2.5,.5;9,2;;; Spend your XP here! If you run low collect trash from the lobby, or play some levels with friends.'..
|
||||
' Playing levels will revoke some privileges, but you can restore them here. If you want to build your own levels you\'ll need the builder priv.'..
|
||||
' This will give you: fly, fast, creative, and worldedit.\n Luck will help you find stashed items. Higher HP will let you take more damage before dying.]'..
|
||||
'button[1,2.75;5,1;builder;Builder Priv (100XP)]'..
|
||||
'button[6,2.75;5,1;build;Restore builder privs (FREE!!!)]'..
|
||||
'button[6,4;5,1;health;Increase your HP ('..((health+1)*10)..' XP)]'
|
||||
if luck < 10 then
|
||||
formspec = formspec..
|
||||
'button[1,4;5,1;luck;Increase your luck ('..((luck+1)*100)..' XP)]'
|
||||
else
|
||||
formspec = formspec..
|
||||
'button[1,4;5,1;nil;Max luck ]'
|
||||
end
|
||||
return formspec
|
||||
end
|
||||
|
||||
|
@ -35,7 +47,7 @@ minetest.register_node('lobby:shop_priv', {
|
|||
on_rightclick = function(pos, node, clicker, itemstack)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local name = clicker:get_player_name()
|
||||
meta:set_string('infotext', 'Privilege Shop')
|
||||
meta:set_string('infotext', 'Shop, spend XP here.')
|
||||
minetest.show_formspec(name, 'lobby:shop_priv', lobby_shop_priv(clicker))
|
||||
end,
|
||||
})
|
||||
|
@ -43,6 +55,7 @@ minetest.register_node('lobby:shop_priv', {
|
|||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
local name = player:get_player_name()
|
||||
if formname == 'lobby:shop_priv' then
|
||||
local player_attributes = player:get_meta()
|
||||
if fields.builder then
|
||||
if lobby.take_xp(player, 100) and not_builder(player) then
|
||||
minetest.chat_send_player(player:get_player_name(), 'You just bought the Builder Privilege!')
|
||||
|
@ -52,12 +65,12 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
privs.fly = true
|
||||
privs.fast = true
|
||||
privs.worldedit = true
|
||||
privs.areas = true
|
||||
minetest.set_player_privs(name, privs)
|
||||
minetest.show_formspec(name, 'lobby:shop_priv', lobby_shop_priv(player))
|
||||
else
|
||||
minetest.chat_send_player(name, 'You either don\'t have 100 XP or you already have the priv.')
|
||||
end
|
||||
minetest.show_formspec(name, 'lobby:shop_priv', lobby_shop_priv(player))
|
||||
elseif fields.build then
|
||||
if not not_builder(player) then
|
||||
local privs = minetest.get_player_privs(name)
|
||||
|
@ -65,12 +78,31 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
privs.fly = true
|
||||
privs.fast = true
|
||||
privs.worldedit = true
|
||||
privs.areas = true
|
||||
minetest.set_player_privs(name, privs)
|
||||
minetest.chat_send_player(name, 'Privs restored!')
|
||||
else
|
||||
minetest.chat_send_player(name, 'You need to buy the Builder priv first!')
|
||||
end
|
||||
minetest.show_formspec(name, 'lobby:shop_priv', lobby_shop_priv(player))
|
||||
elseif fields.luck then
|
||||
local luck = player_attributes:get_int('luck') or 0
|
||||
local xp = (luck+1)*100
|
||||
if lobby.take_xp(player, xp) then
|
||||
player_attributes:set_int('luck', luck+1)
|
||||
else
|
||||
minetest.chat_send_player(name, 'You need more XP!')
|
||||
end
|
||||
minetest.show_formspec(name, 'lobby:shop_priv', lobby_shop_priv(player))
|
||||
elseif fields.health then
|
||||
local health = player_attributes:get_int('hp')
|
||||
local xp = (health+1)*10
|
||||
if lobby.take_xp(player, xp) then
|
||||
player:set_properties({hp_max = health+1})
|
||||
player_attributes:set_int('hp', health+1)
|
||||
else
|
||||
minetest.chat_send_player(name, 'You need more XP!')
|
||||
end
|
||||
minetest.show_formspec(name, 'lobby:shop_priv', lobby_shop_priv(player))
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
|
|
@ -6,7 +6,7 @@ minetest.register_node('mail:mailbox', {
|
|||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sunlight_propagates = true,
|
||||
groups = {breakable=1},
|
||||
groups = {breakable=1, not_in_creative_inventory=1},
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
local name = clicker:get_player_name()
|
||||
mail.show_inbox(name)
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
local function button_formspec(xp, pos)
|
||||
local formspec =
|
||||
'formspec_version[3]'..
|
||||
'size[8,6]'..
|
||||
'textarea[.5,.5;7,2;;;You can change the POS manually if you want, if you provide bad data everybody that punches the button will see you are an idiot, so test your stuff. :)]'..
|
||||
'field[1,4;2,.5;pos;Return pos (x,y,z);'..pos..']'..
|
||||
'field[5,4;2,.5;xp;XP;'..xp..']'..
|
||||
'button_exit[5,5;2,.5;save;Submit]'
|
||||
return formspec
|
||||
end
|
||||
|
||||
local button_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.4375, -.5, -.4375, .4375, .3125, .4375},},}
|
||||
|
||||
minetest.register_node('platformer:button', {
|
||||
description = 'XP Button',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'platformer_button.obj',
|
||||
tiles = {'platformer_button.png'},
|
||||
paramtype = 'light',
|
||||
light_source = 10,
|
||||
selection_box = button_box,
|
||||
collision_box = button_box,
|
||||
groups = {breakable = 1, not_in_creative_inventory=1},
|
||||
after_place_node = function(pos, placer)
|
||||
if minetest.check_player_privs(placer:get_player_name(), {server = true}) then
|
||||
local meta = minetest.get_meta(pos)
|
||||
local saved_data = platformer.player_config[placer:get_player_name()] or {x=0,y=0,z=0}
|
||||
local saved_pos = minetest.pos_to_string(saved_data, 1)
|
||||
meta:set_string('owner', placer:get_player_name())
|
||||
meta:set_int('xp', 1)
|
||||
meta:set_string('pos', saved_pos)
|
||||
else
|
||||
minetest.chat_send_player(placer:get_player_name(), 'How did you get this? No matter, you are not allowed to place it!')
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = meta:get_string('owner')
|
||||
local item = itemstack:get_name()
|
||||
local name = clicker:get_player_name()
|
||||
if item == 'tasks:configurator' then
|
||||
if owner == name or minetest.check_player_privs(clicker, {server = true}) then
|
||||
tasks.player_config[name] = pos
|
||||
local xp = meta:get_int('xp')
|
||||
local pos = meta:get_string('pos')
|
||||
minetest.show_formspec(name, 'platformer:button', button_formspec(xp, pos))
|
||||
end
|
||||
end
|
||||
end,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
local pos = minetest.get_pointed_thing_position(pointed_thing)
|
||||
local name = user:get_player_name()
|
||||
local new_pos = {x=pos.x, y=pos.y+2, z=pos.z}
|
||||
platformer.player_config[name] = new_pos
|
||||
minetest.chat_send_player(name, 'Spawn point saved, use again to reset.')
|
||||
end,
|
||||
on_punch = function(pos, node, puncher)
|
||||
local wield = puncher:get_wielded_item()
|
||||
local wield_name = wield:get_name()
|
||||
local name = puncher:get_player_name()
|
||||
if wield_name == 'tasks:configurator' then
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = meta:get_string('owner')
|
||||
if owner == name or minetest.check_player_privs(clicker, {server = true}) then
|
||||
tasks.player_config[name] = pos
|
||||
local xp = meta:get_int('xp')
|
||||
local pos = meta:get_string('pos')
|
||||
minetest.show_formspec(name, 'platformer:button', button_formspec(xp, pos))
|
||||
end
|
||||
elseif wield_name ~= 'creative:tool_breaking' then
|
||||
local meta = minetest.get_meta(pos)
|
||||
local spawn = meta:get_string('pos')
|
||||
local spawn_pos = minetest.string_to_pos(spawn)
|
||||
if spawn_pos ~= nil then
|
||||
local xp = meta:get_int('xp')
|
||||
puncher:set_pos(spawn_pos)
|
||||
lobby.give_xp(puncher, xp)
|
||||
else
|
||||
local owner = meta:get_string('owner')
|
||||
minetest.chat_send_player(puncher:get_player_name(), 'Looks like '..owner..' misconfigured this button, sorry. Use /spawn to get back to the lobby.')
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
local name = player:get_player_name()
|
||||
if formname == 'platformer:button' then
|
||||
if fields.save then
|
||||
local pos = tasks.player_config[name]
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_int('xp', fields.xp)
|
||||
meta:set_string('pos', fields.pos)
|
||||
end
|
||||
end
|
||||
end)
|
|
@ -0,0 +1,5 @@
|
|||
platformer = {}
|
||||
platformer.player_config = {}
|
||||
|
||||
dofile(minetest.get_modpath('platformer')..'/platforms.lua')
|
||||
dofile(minetest.get_modpath('platformer')..'/buttons.lua')
|
|
@ -0,0 +1,2 @@
|
|||
name = platformer
|
||||
depends = tasks, lobby
|
|
@ -0,0 +1,160 @@
|
|||
# Blender v2.91.2 OBJ File: 'platformer.blend'
|
||||
# www.blender.org
|
||||
o Cube.001_Cube.006
|
||||
v -0.375000 -0.500000 0.375000
|
||||
v -0.375000 0.250000 0.375000
|
||||
v -0.375000 -0.500000 -0.375000
|
||||
v -0.375000 0.250000 -0.375000
|
||||
v 0.375000 -0.500000 0.375000
|
||||
v 0.375000 0.250000 0.375000
|
||||
v 0.375000 -0.500000 -0.375000
|
||||
v 0.375000 0.250000 -0.375000
|
||||
v -0.437500 -0.437500 0.312500
|
||||
v -0.375000 -0.437500 0.312500
|
||||
v -0.437500 -0.437500 -0.312500
|
||||
v -0.375000 -0.437500 -0.312500
|
||||
v -0.437500 0.187500 0.312500
|
||||
v -0.375000 0.187500 0.312500
|
||||
v -0.437500 0.187500 -0.312500
|
||||
v -0.375000 0.187500 -0.312500
|
||||
v 0.375000 0.187500 0.312500
|
||||
v 0.437500 0.187500 0.312500
|
||||
v 0.375000 0.187500 -0.312500
|
||||
v 0.437500 0.187500 -0.312500
|
||||
v 0.375000 -0.437500 0.312500
|
||||
v 0.437500 -0.437500 0.312500
|
||||
v 0.375000 -0.437500 -0.312500
|
||||
v 0.437500 -0.437500 -0.312500
|
||||
v 0.312500 0.312500 -0.312500
|
||||
v 0.312500 0.250000 -0.312500
|
||||
v 0.312500 0.312500 0.312500
|
||||
v 0.312500 0.250000 0.312500
|
||||
v -0.312500 0.312500 -0.312500
|
||||
v -0.312500 0.250000 -0.312500
|
||||
v -0.312500 0.312500 0.312500
|
||||
v -0.312500 0.250000 0.312500
|
||||
v 0.312500 -0.437500 0.437500
|
||||
v 0.312500 -0.437500 0.375000
|
||||
v -0.312500 -0.437500 0.437500
|
||||
v -0.312500 -0.437500 0.375000
|
||||
v 0.312500 0.187500 0.437500
|
||||
v 0.312500 0.187500 0.375000
|
||||
v -0.312500 0.187500 0.437500
|
||||
v -0.312500 0.187500 0.375000
|
||||
v 0.312500 0.187500 -0.375000
|
||||
v 0.312500 0.187500 -0.437500
|
||||
v -0.312500 0.187500 -0.375000
|
||||
v -0.312500 0.187500 -0.437500
|
||||
v 0.312500 -0.437500 -0.375000
|
||||
v 0.312500 -0.437500 -0.437500
|
||||
v -0.312500 -0.437500 -0.375000
|
||||
v -0.312500 -0.437500 -0.437500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.187500 0.187500
|
||||
vt 0.187500 0.375000
|
||||
vt 0.000000 0.375000
|
||||
vt 0.187500 0.562500
|
||||
vt 0.375000 0.375000
|
||||
vt 0.375000 0.562500
|
||||
vt 0.562500 0.375000
|
||||
vt 0.375000 0.187500
|
||||
vt 0.562500 0.187500
|
||||
vt 0.375000 0.000000
|
||||
vt 0.187500 0.000000
|
||||
vt 0.757812 0.828125
|
||||
vt 0.757812 0.984375
|
||||
vt 0.601562 0.984375
|
||||
vt 0.601562 0.828125
|
||||
vt 0.601562 1.000000
|
||||
vt 0.757812 1.000000
|
||||
vt 0.757812 0.812500
|
||||
vt 0.601562 0.812500
|
||||
vt 0.195312 0.828125
|
||||
vt 0.210938 0.828125
|
||||
vt 0.210938 0.984375
|
||||
vt 0.195312 0.984375
|
||||
vt 0.562500 0.812500
|
||||
vt 0.562500 0.828125
|
||||
vt 0.406250 0.828125
|
||||
vt 0.406250 0.812500
|
||||
vt 0.585938 0.828125
|
||||
vt 0.585938 0.984375
|
||||
vt 0.578125 0.984375
|
||||
vt 0.562500 0.984375
|
||||
vt 0.578125 0.828125
|
||||
vt 0.406250 0.984375
|
||||
vt 0.390625 0.828125
|
||||
vt 0.390625 0.984375
|
||||
vt 0.406250 1.000000
|
||||
vt 0.562500 1.000000
|
||||
vt 0.367188 0.828125
|
||||
vt 0.367188 0.984375
|
||||
vt 0.210938 1.000000
|
||||
vt 0.367188 1.000000
|
||||
vt 0.367188 0.812500
|
||||
vt 0.210938 0.812500
|
||||
vt 0.382812 0.984375
|
||||
vt 0.382812 0.828125
|
||||
vt 0.773438 0.984375
|
||||
vt 0.773438 0.828125
|
||||
vt 0.015625 0.828125
|
||||
vt 0.171875 0.828125
|
||||
vt 0.171875 0.984375
|
||||
vt 0.015625 0.984375
|
||||
vt 0.187500 0.984375
|
||||
vt 0.187500 0.828125
|
||||
vt 0.000000 0.828125
|
||||
vt 0.000000 0.984375
|
||||
vt 0.968750 0.984375
|
||||
vt 0.953125 0.984375
|
||||
vt 0.953125 0.828125
|
||||
vt 0.968750 0.828125
|
||||
vt 0.015625 1.000000
|
||||
vt 0.171875 1.000000
|
||||
vt 0.796875 1.000000
|
||||
vt 0.796875 0.984375
|
||||
vt 0.953125 1.000000
|
||||
vt 0.796875 0.828125
|
||||
vt 0.953125 0.812500
|
||||
vt 0.796875 0.812500
|
||||
vt 0.781250 0.828125
|
||||
vt 0.781250 0.984375
|
||||
vt 0.171875 0.812500
|
||||
vt 0.015625 0.812500
|
||||
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 9/13/1 13/14/1 15/15/1 11/16/1
|
||||
f 8/6/5 4/3/5 2/2/5 6/9/5
|
||||
f 16/17/5 15/15/5 13/14/5 14/18/5
|
||||
f 10/19/6 9/13/6 11/16/6 12/20/6
|
||||
f 30/21/2 29/22/2 25/23/2 26/24/2
|
||||
f 21/25/4 22/26/4 18/27/4 17/28/4
|
||||
f 12/29/2 11/16/2 15/15/2 16/30/2
|
||||
f 23/31/6 24/32/6 22/26/6 21/33/6
|
||||
f 24/32/3 20/34/3 18/27/3 22/26/3
|
||||
f 17/35/5 18/27/5 20/34/5 19/36/5
|
||||
f 19/37/2 20/34/2 24/32/2 23/38/2
|
||||
f 25/23/5 29/22/5 31/39/5 27/40/5
|
||||
f 26/41/3 25/23/3 27/40/3 28/42/3
|
||||
f 32/43/1 31/39/1 29/22/1 30/44/1
|
||||
f 28/45/4 27/40/4 31/39/4 32/46/4
|
||||
f 14/47/4 13/14/4 9/13/4 10/48/4
|
||||
f 33/49/4 37/50/4 39/51/4 35/52/4
|
||||
f 40/53/5 39/51/5 37/50/5 38/54/5
|
||||
f 34/55/6 33/49/6 35/52/6 36/56/6
|
||||
f 45/57/3 46/58/3 42/59/3 41/60/3
|
||||
f 36/61/1 35/52/1 39/51/1 40/62/1
|
||||
f 47/63/6 48/64/6 46/58/6 45/65/6
|
||||
f 48/64/2 44/66/2 42/59/2 46/58/2
|
||||
f 41/67/5 42/59/5 44/66/5 43/68/5
|
||||
f 43/69/1 44/66/1 48/64/1 47/70/1
|
||||
f 38/71/3 37/50/3 33/49/3 34/72/3
|
|
@ -0,0 +1,63 @@
|
|||
# Blender v2.91.2 OBJ File: 'platformer.blend'
|
||||
# www.blender.org
|
||||
o Cube.001_Cube
|
||||
v -1.000000 0.375000 0.562500
|
||||
v -1.000000 0.468750 0.562500
|
||||
v -1.000000 0.375000 -0.562500
|
||||
v -1.000000 0.468750 -0.562500
|
||||
v 1.000000 0.375000 0.562500
|
||||
v 1.000000 0.468750 0.562500
|
||||
v 1.000000 0.375000 -0.562500
|
||||
v 1.000000 0.468750 -0.562500
|
||||
v -0.625000 0.187500 0.312500
|
||||
v -0.625000 0.375000 0.312500
|
||||
v -0.625000 0.187500 -0.312500
|
||||
v -0.625000 0.375000 -0.312500
|
||||
v 0.625000 0.187500 0.312500
|
||||
v 0.625000 0.375000 0.312500
|
||||
v 0.625000 0.187500 -0.312500
|
||||
v 0.625000 0.375000 -0.312500
|
||||
vt 0.281250 0.976562
|
||||
vt 0.281250 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.976562
|
||||
vt 0.609375 0.976562
|
||||
vt 0.585938 0.976562
|
||||
vt 0.585938 0.476562
|
||||
vt 0.609375 0.476562
|
||||
vt 0.000000 0.476562
|
||||
vt 0.000000 0.453125
|
||||
vt 0.281250 0.453125
|
||||
vt 0.281250 0.476562
|
||||
vt 0.304688 0.476562
|
||||
vt 0.304688 0.976562
|
||||
vt 0.953125 0.953125
|
||||
vt 0.953125 1.000000
|
||||
vt 0.796875 1.000000
|
||||
vt 0.796875 0.953125
|
||||
vt 0.750000 0.953125
|
||||
vt 0.750000 0.640625
|
||||
vt 0.796875 0.640625
|
||||
vt 0.796875 0.593750
|
||||
vt 0.953125 0.593750
|
||||
vt 0.953125 0.640625
|
||||
vt 1.000000 0.640625
|
||||
vt 1.000000 0.953125
|
||||
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/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/12/4 6/13/4 2/14/4 1/1/4
|
||||
f 3/4/5 7/9/5 5/12/5 1/1/5
|
||||
f 8/7/6 4/6/6 2/14/6 6/13/6
|
||||
f 9/15/1 10/16/1 12/17/1 11/18/1
|
||||
f 11/18/2 12/19/2 16/20/2 15/21/2
|
||||
f 15/21/3 16/22/3 14/23/3 13/24/3
|
||||
f 13/24/4 14/25/4 10/26/4 9/15/4
|
||||
f 11/18/5 15/21/5 13/24/5 9/15/5
|
|
@ -0,0 +1,63 @@
|
|||
# Blender v2.91.2 OBJ File: 'platformer.blend'
|
||||
# www.blender.org
|
||||
o platform_x2_Cube.002
|
||||
v 1.000000 0.375000 -0.562500
|
||||
v 1.000000 0.468750 -0.562500
|
||||
v 1.000000 0.375000 0.562500
|
||||
v 1.000000 0.468750 0.562500
|
||||
v -1.000000 0.375000 -0.562500
|
||||
v -1.000000 0.468750 -0.562500
|
||||
v -1.000000 0.375000 0.562500
|
||||
v -1.000000 0.468750 0.562500
|
||||
v 0.625000 0.187500 -0.312500
|
||||
v 0.625000 0.375000 -0.312500
|
||||
v 0.625000 0.187500 0.312500
|
||||
v 0.625000 0.375000 0.312500
|
||||
v -0.625000 0.187500 -0.312500
|
||||
v -0.625000 0.375000 -0.312500
|
||||
v -0.625000 0.187500 0.312500
|
||||
v -0.625000 0.375000 0.312500
|
||||
vt 0.281250 0.976562
|
||||
vt 0.281250 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.976562
|
||||
vt 0.609375 0.976562
|
||||
vt 0.585938 0.976562
|
||||
vt 0.585938 0.476562
|
||||
vt 0.609375 0.476562
|
||||
vt 0.000000 0.476562
|
||||
vt 0.000000 0.453125
|
||||
vt 0.281250 0.453125
|
||||
vt 0.281250 0.476562
|
||||
vt 0.304688 0.476562
|
||||
vt 0.304688 0.976562
|
||||
vt 0.953125 0.953125
|
||||
vt 0.953125 1.000000
|
||||
vt 0.796875 1.000000
|
||||
vt 0.796875 0.953125
|
||||
vt 0.750000 0.953125
|
||||
vt 0.750000 0.640625
|
||||
vt 0.796875 0.640625
|
||||
vt 0.796875 0.593750
|
||||
vt 0.953125 0.593750
|
||||
vt 0.953125 0.640625
|
||||
vt 1.000000 0.640625
|
||||
vt 1.000000 0.953125
|
||||
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/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/12/4 6/13/4 2/14/4 1/1/4
|
||||
f 3/4/5 7/9/5 5/12/5 1/1/5
|
||||
f 8/7/6 4/6/6 2/14/6 6/13/6
|
||||
f 9/15/1 10/16/1 12/17/1 11/18/1
|
||||
f 11/18/2 12/19/2 16/20/2 15/21/2
|
||||
f 15/21/3 16/22/3 14/23/3 13/24/3
|
||||
f 13/24/4 14/25/4 10/26/4 9/15/4
|
||||
f 11/18/5 15/21/5 13/24/5 9/15/5
|
|
@ -0,0 +1,63 @@
|
|||
# Blender v2.91.2 OBJ File: 'platformer.blend'
|
||||
# www.blender.org
|
||||
o platform_z_Cube.005
|
||||
v -0.562500 0.375000 0.562500
|
||||
v -0.562500 0.468750 0.562500
|
||||
v -0.562500 0.375000 -0.562500
|
||||
v -0.562500 0.468750 -0.562500
|
||||
v 0.562500 0.375000 0.562500
|
||||
v 0.562500 0.468750 0.562500
|
||||
v 0.562500 0.375000 -0.562500
|
||||
v 0.562500 0.468750 -0.562500
|
||||
v -0.312500 0.187500 0.312500
|
||||
v -0.312500 0.375000 0.312500
|
||||
v -0.312500 0.187500 -0.312500
|
||||
v -0.312500 0.375000 -0.312500
|
||||
v 0.312500 0.187500 0.312500
|
||||
v 0.312500 0.375000 0.312500
|
||||
v 0.312500 0.187500 -0.312500
|
||||
v 0.312500 0.375000 -0.312500
|
||||
vt 0.281250 0.976562
|
||||
vt 0.281250 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.976562
|
||||
vt 0.609375 0.976562
|
||||
vt 0.585938 0.976562
|
||||
vt 0.585938 0.695312
|
||||
vt 0.609375 0.695312
|
||||
vt 0.000000 0.695312
|
||||
vt 0.000000 0.671875
|
||||
vt 0.281250 0.671875
|
||||
vt 0.281250 0.695312
|
||||
vt 0.304688 0.695312
|
||||
vt 0.304688 0.976562
|
||||
vt 0.796875 0.953125
|
||||
vt 0.750000 0.953125
|
||||
vt 0.750000 0.796875
|
||||
vt 0.796875 0.796875
|
||||
vt 0.796875 0.750000
|
||||
vt 0.953125 0.750000
|
||||
vt 0.953125 0.796875
|
||||
vt 1.000000 0.796875
|
||||
vt 1.000000 0.953125
|
||||
vt 0.953125 0.953125
|
||||
vt 0.953125 1.000000
|
||||
vt 0.796875 1.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
|
||||
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/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/12/4 6/13/4 2/14/4 1/1/4
|
||||
f 3/4/5 7/9/5 5/12/5 1/1/5
|
||||
f 8/7/6 4/6/6 2/14/6 6/13/6
|
||||
f 9/15/1 10/16/1 12/17/1 11/18/1
|
||||
f 11/18/2 12/19/2 16/20/2 15/21/2
|
||||
f 15/21/3 16/22/3 14/23/3 13/24/3
|
||||
f 13/24/4 14/25/4 10/26/4 9/15/4
|
||||
f 11/18/5 15/21/5 13/24/5 9/15/5
|
|
@ -0,0 +1,63 @@
|
|||
# Blender v2.91.2 OBJ File: 'platformer.blend'
|
||||
# www.blender.org
|
||||
o platform_z2_Cube.004
|
||||
v 0.562500 0.375000 1.000000
|
||||
v 0.562500 0.468750 1.000000
|
||||
v -0.562500 0.375000 1.000000
|
||||
v -0.562500 0.468750 1.000000
|
||||
v 0.562500 0.375000 -1.000000
|
||||
v 0.562500 0.468750 -1.000000
|
||||
v -0.562500 0.375000 -1.000000
|
||||
v -0.562500 0.468750 -1.000000
|
||||
v 0.312500 0.187500 0.625000
|
||||
v 0.312500 0.375000 0.625000
|
||||
v -0.312500 0.187500 0.625000
|
||||
v -0.312500 0.375000 0.625000
|
||||
v 0.312500 0.187500 -0.625000
|
||||
v 0.312500 0.375000 -0.625000
|
||||
v -0.312500 0.187500 -0.625000
|
||||
v -0.312500 0.375000 -0.625000
|
||||
vt 0.281250 0.976562
|
||||
vt 0.281250 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.976562
|
||||
vt 0.609375 0.976562
|
||||
vt 0.585938 0.976562
|
||||
vt 0.585938 0.476562
|
||||
vt 0.609375 0.476562
|
||||
vt 0.000000 0.476562
|
||||
vt 0.000000 0.453125
|
||||
vt 0.281250 0.453125
|
||||
vt 0.281250 0.476562
|
||||
vt 0.304688 0.476562
|
||||
vt 0.304688 0.976562
|
||||
vt 0.953125 0.953125
|
||||
vt 0.953125 1.000000
|
||||
vt 0.796875 1.000000
|
||||
vt 0.796875 0.953125
|
||||
vt 0.750000 0.953125
|
||||
vt 0.750000 0.640625
|
||||
vt 0.796875 0.640625
|
||||
vt 0.796875 0.593750
|
||||
vt 0.953125 0.593750
|
||||
vt 0.953125 0.640625
|
||||
vt 1.000000 0.640625
|
||||
vt 1.000000 0.953125
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.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/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/12/4 6/13/4 2/14/4 1/1/4
|
||||
f 3/4/5 7/9/5 5/12/5 1/1/5
|
||||
f 8/7/6 4/6/6 2/14/6 6/13/6
|
||||
f 9/15/1 10/16/1 12/17/1 11/18/1
|
||||
f 11/18/2 12/19/2 16/20/2 15/21/2
|
||||
f 15/21/3 16/22/3 14/23/3 13/24/3
|
||||
f 13/24/4 14/25/4 10/26/4 9/15/4
|
||||
f 11/18/5 15/21/5 13/24/5 9/15/5
|
|
@ -0,0 +1,63 @@
|
|||
# Blender v2.91.2 OBJ File: 'platformer.blend'
|
||||
# www.blender.org
|
||||
o platform_z1_Cube.003
|
||||
v -0.562500 0.375000 -1.000000
|
||||
v -0.562500 0.468750 -1.000000
|
||||
v 0.562500 0.375000 -1.000000
|
||||
v 0.562500 0.468750 -1.000000
|
||||
v -0.562500 0.375000 1.000000
|
||||
v -0.562500 0.468750 1.000000
|
||||
v 0.562500 0.375000 1.000000
|
||||
v 0.562500 0.468750 1.000000
|
||||
v -0.312500 0.187500 -0.625000
|
||||
v -0.312500 0.375000 -0.625000
|
||||
v 0.312500 0.187500 -0.625000
|
||||
v 0.312500 0.375000 -0.625000
|
||||
v -0.312500 0.187500 0.625000
|
||||
v -0.312500 0.375000 0.625000
|
||||
v 0.312500 0.187500 0.625000
|
||||
v 0.312500 0.375000 0.625000
|
||||
vt 0.281250 0.976562
|
||||
vt 0.281250 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.976562
|
||||
vt 0.609375 0.976562
|
||||
vt 0.585938 0.976562
|
||||
vt 0.585938 0.476562
|
||||
vt 0.609375 0.476562
|
||||
vt 0.000000 0.476562
|
||||
vt 0.000000 0.453125
|
||||
vt 0.281250 0.453125
|
||||
vt 0.281250 0.476562
|
||||
vt 0.304688 0.476562
|
||||
vt 0.304688 0.976562
|
||||
vt 0.953125 0.953125
|
||||
vt 0.953125 1.000000
|
||||
vt 0.796875 1.000000
|
||||
vt 0.796875 0.953125
|
||||
vt 0.750000 0.953125
|
||||
vt 0.750000 0.640625
|
||||
vt 0.796875 0.640625
|
||||
vt 0.796875 0.593750
|
||||
vt 0.953125 0.593750
|
||||
vt 0.953125 0.640625
|
||||
vt 1.000000 0.640625
|
||||
vt 1.000000 0.953125
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 -0.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/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/12/4 6/13/4 2/14/4 1/1/4
|
||||
f 3/4/5 7/9/5 5/12/5 1/1/5
|
||||
f 8/7/6 4/6/6 2/14/6 6/13/6
|
||||
f 9/15/1 10/16/1 12/17/1 11/18/1
|
||||
f 11/18/2 12/19/2 16/20/2 15/21/2
|
||||
f 15/21/3 16/22/3 14/23/3 13/24/3
|
||||
f 13/24/4 14/25/4 10/26/4 9/15/4
|
||||
f 11/18/5 15/21/5 13/24/5 9/15/5
|
|
@ -0,0 +1,171 @@
|
|||
local x_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-1, .25, -.5625, 1, .5, .5625},},}
|
||||
|
||||
local y_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5625, .25, -.5625, .5625, .5, .5625},},}
|
||||
|
||||
local z_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5625, .25, -1, .5625, .5, 1},},}
|
||||
|
||||
minetest.register_node('platformer:x1', {
|
||||
description = 'X axis (positive)',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'platformer_platform_x1.obj',
|
||||
tiles = {'platformer_platform_xz.png'},
|
||||
light_source = 2,
|
||||
selection_box = x_box,
|
||||
collision_box = x_box,
|
||||
groups = {breakable = 1},
|
||||
on_construct = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.5)
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local new_pos = {x=pos.x+1, y=pos.y, z=pos.z}
|
||||
local new_node = minetest.get_node(new_pos).name
|
||||
if new_node == 'air' then
|
||||
minetest.set_node(new_pos, {name='platformer:x1'})
|
||||
minetest.set_node(pos, {name='air'})
|
||||
else
|
||||
minetest.set_node(pos, {name='platformer:x2'})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('platformer:x2', {
|
||||
description = 'X axis (negative)',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'platformer_platform_x2.obj',
|
||||
tiles = {'platformer_platform_xz.png'},
|
||||
light_source = 2,
|
||||
selection_box = x_box,
|
||||
collision_box = x_box,
|
||||
groups = {breakable = 1, not_in_creative_inventory=1},
|
||||
drops = 'platformer:x1',
|
||||
on_construct = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.5)
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local new_pos = {x=pos.x-1, y=pos.y, z=pos.z}
|
||||
local new_node = minetest.get_node(new_pos).name
|
||||
if new_node == 'air' then
|
||||
minetest.set_node(new_pos, {name='platformer:x2'})
|
||||
minetest.set_node(pos, {name='air'})
|
||||
else
|
||||
minetest.set_node(pos, {name='platformer:x1'})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('platformer:y1', {
|
||||
description = 'y axis (positive)',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'platformer_platform_y.obj',
|
||||
tiles = {'platformer_platform_y.png'},
|
||||
climbable = true,
|
||||
walkable = false,
|
||||
light_source = 2,
|
||||
selection_box = y_box,
|
||||
collision_box = y_box,
|
||||
groups = {breakable = 1},
|
||||
on_construct = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.5)
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local new_pos = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||
local new_node = minetest.get_node(new_pos).name
|
||||
if new_node == 'air' then
|
||||
minetest.set_node(new_pos, {name='platformer:y1'})
|
||||
minetest.set_node(pos, {name='air'})
|
||||
else
|
||||
minetest.set_node(pos, {name='platformer:y2'})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('platformer:y2', {
|
||||
description = 'y axis (negative)',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'platformer_platform_y.obj',
|
||||
tiles = {'platformer_platform_y.png'},
|
||||
climbable = true,
|
||||
walkable = false,
|
||||
light_source = 2,
|
||||
selection_box = y_box,
|
||||
collision_box = y_box,
|
||||
groups = {breakable = 1, not_in_creative_inventory=1},
|
||||
drops = 'platformer:y1',
|
||||
on_construct = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.5)
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local new_pos = {x=pos.x, y=pos.y-1, z=pos.z}
|
||||
local new_node = minetest.get_node(new_pos).name
|
||||
if new_node == 'air' then
|
||||
minetest.set_node(new_pos, {name='platformer:y2'})
|
||||
minetest.set_node(pos, {name='air'})
|
||||
else
|
||||
minetest.set_node(pos, {name='platformer:y1'})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('platformer:z1', {
|
||||
description = 'z axis (positive)',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'platformer_platform_z1.obj',
|
||||
tiles = {'platformer_platform_xz.png'},
|
||||
light_source = 2,
|
||||
selection_box = z_box,
|
||||
collision_box = z_box,
|
||||
groups = {breakable = 1},
|
||||
on_construct = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.5)
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local new_pos = {x=pos.x, y=pos.y, z=pos.z+1}
|
||||
local new_node = minetest.get_node(new_pos).name
|
||||
if new_node == 'air' then
|
||||
minetest.set_node(new_pos, {name='platformer:z1'})
|
||||
minetest.set_node(pos, {name='air'})
|
||||
else
|
||||
minetest.set_node(pos, {name='platformer:z2'})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('platformer:z2', {
|
||||
description = 'z axis (negative)',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'platformer_platform_z2.obj',
|
||||
tiles = {'platformer_platform_xz.png'},
|
||||
light_source = 2,
|
||||
selection_box = z_box,
|
||||
collision_box = z_box,
|
||||
groups = {breakable = 1, not_in_creative_inventory=1},
|
||||
drops = 'platformer:z1',
|
||||
on_construct = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.5)
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local new_pos = {x=pos.x, y=pos.y, z=pos.z-1}
|
||||
local new_node = minetest.get_node(new_pos).name
|
||||
if new_node == 'air' then
|
||||
minetest.set_node(new_pos, {name='platformer:z2'})
|
||||
minetest.set_node(pos, {name='air'})
|
||||
else
|
||||
minetest.set_node(pos, {name='platformer:z1'})
|
||||
end
|
||||
end
|
||||
})
|
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 6.8 KiB |
|
@ -11,8 +11,7 @@ sfinv.register_page("sfinv:help", {
|
|||
if not creative.is_enabled_for(player:get_player_name()) then
|
||||
return sfinv.make_formspec(player, context,
|
||||
'textarea[.25,0;8.5,5;;; Traitor is a game based on Among Us. Your goal is to vote out the traitor if you are not the traitor, or to kill all the other players if you are the traitor.\n'..
|
||||
' To create your own level(s) purchase the builder priv and travel to some unclaimed space on the map. (there is no mapgen so just fly around) Note the coordinates where players should spawn in, and put those into the button. '..
|
||||
'Fill out the other required fields. Be sure and protect your level so no other builders ruin it. Then invite your friends to play! ]'
|
||||
' To create your own level(s) purchase the builder priv and claim a level button.]'
|
||||
, true)
|
||||
else
|
||||
local player_attributes = player:get_meta()
|
||||
|
@ -20,6 +19,7 @@ sfinv.register_page("sfinv:help", {
|
|||
return sfinv.make_formspec(player, context,
|
||||
'textarea[.25,0;8.5,5;;; Look at you fancy pants, you can build your own levels!\n'..
|
||||
' Keep in mind that the spawn location should be 5x5 at minimum to prevent players from spawning in outside of the spawn area.\n'..
|
||||
'If you make a mistake on the level button you can edit it by right-clicking the button with the hammer or the wrench, you can also discard and unclaim the button this way.\n'..
|
||||
' Protect your levels! Add other players to the protection if you want them to be able to help build. If you make the area too small you can always make it larger.\n\n\n\n'..
|
||||
' You currently have '..xp..' points available.]'
|
||||
, true)
|
||||
|
|
|
@ -12,3 +12,4 @@ dofile(minetest.get_modpath('ship')..'/objects.lua')
|
|||
dofile(minetest.get_modpath('ship')..'/other.lua')
|
||||
dofile(minetest.get_modpath('ship')..'/rails.lua')
|
||||
dofile(minetest.get_modpath('ship')..'/walls.lua')
|
||||
dofile(minetest.get_modpath('ship')..'/laser_gate.lua')
|
||||
|
|
|
@ -0,0 +1,141 @@
|
|||
local fdir_table = {
|
||||
{ 1, 0 },
|
||||
{ 0, -1 },
|
||||
{ -1, 0 },
|
||||
{ 0, 1 },
|
||||
{ 1, 0 },
|
||||
{ 0, -1 },
|
||||
{ -1, 0 },
|
||||
{ 0, 1 },
|
||||
}
|
||||
|
||||
local laser_gate = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.3, -.2, .5, .3, .2},},}
|
||||
|
||||
minetest.register_node('ship:laser_gate', {
|
||||
description = 'Laser Gate',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'ship_laser_gate.obj',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
light_source = 10,
|
||||
tiles = {'ship_laser_gate.png'},
|
||||
groups = {breakable=1},
|
||||
selection_box = laser_gate,
|
||||
collision_box = laser_gate,
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
local node = minetest.get_node(pos)
|
||||
local fdir = node.param2
|
||||
local length = 0
|
||||
if fdir == 1 then -- negative z
|
||||
local pos1 = {x=pos.x, y=pos.y, z=pos.z-1}
|
||||
local pos1_name = minetest.get_node(pos1).name
|
||||
while pos1_name == 'air' and length <= 10 do
|
||||
length = length + 1
|
||||
pos1 = {x=pos1.x, y=pos1.y, z=pos1.z-1}
|
||||
pos1_name = minetest.get_node(pos1).name
|
||||
end
|
||||
if length >= 1 then
|
||||
minetest.set_node(pos, {name = 'ship:laser_gate_l', param2 = fdir})
|
||||
for i = 1, (length-1) do
|
||||
local place_pos = {x=pos.x, y=pos.y, z=pos.z-i}
|
||||
minetest.set_node(place_pos, {name = 'ship:laser_gate_m', param2 = fdir})
|
||||
end
|
||||
local end_pos = {x=pos.x, y=pos.y, z=pos.z-length}
|
||||
minetest.set_node(end_pos, {name = 'ship:laser_gate_r', param2 = fdir})
|
||||
end
|
||||
elseif fdir == 2 then -- negative x
|
||||
local pos1 = {x=pos.x-1, y=pos.y, z=pos.z}
|
||||
local pos1_name = minetest.get_node(pos1).name
|
||||
while pos1_name == 'air' and length <= 10 do
|
||||
length = length + 1
|
||||
pos1 = {x=pos1.x-1, y=pos1.y, z=pos1.z}
|
||||
pos1_name = minetest.get_node(pos1).name
|
||||
end
|
||||
if length >= 1 then
|
||||
minetest.set_node(pos, {name = 'ship:laser_gate_l', param2 = fdir})
|
||||
for i = 1, (length-1) do
|
||||
local place_pos = {x=pos.x-i, y=pos.y, z=pos.z}
|
||||
minetest.set_node(place_pos, {name = 'ship:laser_gate_m', param2 = fdir})
|
||||
end
|
||||
local end_pos = {x=pos.x-length, y=pos.y, z=pos.z}
|
||||
minetest.set_node(end_pos, {name = 'ship:laser_gate_r', param2 = fdir})
|
||||
end
|
||||
elseif fdir == 3 then -- positive z
|
||||
local pos1 = {x=pos.x, y=pos.y, z=pos.z+1}
|
||||
local pos1_name = minetest.get_node(pos1).name
|
||||
while pos1_name == 'air' and length <= 10 do
|
||||
length = length + 1
|
||||
pos1 = {x=pos1.x, y=pos1.y, z=pos1.z+1}
|
||||
pos1_name = minetest.get_node(pos1).name
|
||||
end
|
||||
if length >= 1 then
|
||||
minetest.set_node(pos, {name = 'ship:laser_gate_l', param2 = fdir})
|
||||
for i = 1, (length-1) do
|
||||
local place_pos = {x=pos.x, y=pos.y, z=pos.z+i}
|
||||
minetest.set_node(place_pos, {name = 'ship:laser_gate_m', param2 = fdir})
|
||||
end
|
||||
local end_pos = {x=pos.x, y=pos.y, z=pos.z+length}
|
||||
minetest.set_node(end_pos, {name = 'ship:laser_gate_r', param2 = fdir})
|
||||
end
|
||||
elseif fdir == 0 then -- positive x
|
||||
local pos1 = {x=pos.x+1, y=pos.y, z=pos.z}
|
||||
local pos1_name = minetest.get_node(pos1).name
|
||||
while pos1_name == 'air' and length <= 10 do
|
||||
length = length + 1
|
||||
pos1 = {x=pos1.x+1, y=pos1.y, z=pos1.z}
|
||||
pos1_name = minetest.get_node(pos1).name
|
||||
end
|
||||
if length >= 1 then
|
||||
minetest.set_node(pos, {name = 'ship:laser_gate_l', param2 = fdir})
|
||||
for i = 1, (length-1) do
|
||||
local place_pos = {x=pos.x+i, y=pos.y, z=pos.z}
|
||||
minetest.set_node(place_pos, {name = 'ship:laser_gate_m', param2 = fdir})
|
||||
end
|
||||
local end_pos = {x=pos.x+length, y=pos.y, z=pos.z}
|
||||
minetest.set_node(end_pos, {name = 'ship:laser_gate_r', param2 = fdir})
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node('ship:laser_gate_l', {
|
||||
drawtype = 'mesh',
|
||||
mesh = 'ship_laser_gate_L.obj',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
light_source = 10,
|
||||
tiles = {'ship_laser_gate.png'},
|
||||
groups = {breakable=1, not_in_creative_inventory=1},
|
||||
drop = 'ship:laser_gate',
|
||||
selection_box = laser_gate,
|
||||
collision_box = laser_gate,
|
||||
})
|
||||
|
||||
minetest.register_node('ship:laser_gate_r', {
|
||||
drawtype = 'mesh',
|
||||
mesh = 'ship_laser_gate_R.obj',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
light_source = 10,
|
||||
tiles = {'ship_laser_gate.png'},
|
||||
groups = {breakable=1, not_in_creative_inventory=1},
|
||||
drop = 'ship:laser_gate',
|
||||
selection_box = laser_gate,
|
||||
collision_box = laser_gate,
|
||||
})
|
||||
|
||||
minetest.register_node('ship:laser_gate_m', {
|
||||
drawtype = 'mesh',
|
||||
mesh = 'ship_laser_gate_M.obj',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
light_source = 10,
|
||||
tiles = {'ship_laser_gate.png'},
|
||||
groups = {breakable=1, not_in_creative_inventory=1},
|
||||
drop = 'ship:laser_gate',
|
||||
selection_box = laser_gate,
|
||||
collision_box = laser_gate,
|
||||
})
|
|
@ -0,0 +1,154 @@
|
|||
# Blender v2.91.2 OBJ File: 'SpaceShip.blend'
|
||||
# www.blender.org
|
||||
o Laser_gate_Cube.029
|
||||
v 0.500000 -0.312500 -0.062500
|
||||
v 0.500000 -0.187500 -0.062500
|
||||
v 0.500000 -0.312500 0.062500
|
||||
v 0.500000 -0.187500 0.062500
|
||||
v 0.437500 -0.312500 -0.062500
|
||||
v 0.437500 -0.187500 -0.062500
|
||||
v 0.437500 -0.312500 0.062500
|
||||
v 0.437500 -0.187500 0.062500
|
||||
v 0.500000 0.187500 -0.062500
|
||||
v 0.500000 0.312500 -0.062500
|
||||
v 0.500000 0.187500 0.062500
|
||||
v 0.500000 0.312500 0.062500
|
||||
v 0.437500 0.187500 -0.062500
|
||||
v 0.437500 0.312500 -0.062500
|
||||
v 0.437500 0.187500 0.062500
|
||||
v 0.437500 0.312500 0.062500
|
||||
v 0.437500 0.218750 -0.031250
|
||||
v 0.437500 0.281250 -0.031250
|
||||
v 0.437500 0.218750 0.031250
|
||||
v 0.437500 0.281250 0.031250
|
||||
v -0.437500 0.218750 -0.031250
|
||||
v -0.437500 0.281250 -0.031250
|
||||
v -0.437500 0.218750 0.031250
|
||||
v -0.437500 0.281250 0.031250
|
||||
v 0.437500 -0.281250 -0.031250
|
||||
v 0.437500 -0.218750 -0.031250
|
||||
v 0.437500 -0.281250 0.031250
|
||||
v 0.437500 -0.218750 0.031250
|
||||
v -0.437500 -0.281250 -0.031250
|
||||
v -0.437500 -0.218750 -0.031250
|
||||
v -0.437500 -0.281250 0.031250
|
||||
v -0.437500 -0.218750 0.031250
|
||||
v -0.500000 -0.312500 0.062500
|
||||
v -0.500000 -0.187500 0.062500
|
||||
v -0.500000 -0.312500 -0.062500
|
||||
v -0.500000 -0.187500 -0.062500
|
||||
v -0.437500 -0.312500 0.062500
|
||||
v -0.437500 -0.187500 0.062500
|
||||
v -0.437500 -0.312500 -0.062500
|
||||
v -0.437500 -0.187500 -0.062500
|
||||
v -0.500000 0.187500 0.062500
|
||||
v -0.500000 0.312500 0.062500
|
||||
v -0.500000 0.187500 -0.062500
|
||||
v -0.500000 0.312500 -0.062500
|
||||
v -0.437500 0.187500 0.062500
|
||||
v -0.437500 0.312500 0.062500
|
||||
v -0.437500 0.187500 -0.062500
|
||||
v -0.437500 0.312500 -0.062500
|
||||
vt 0.968750 0.781250
|
||||
vt 0.968750 0.906250
|
||||
vt 0.906250 0.906250
|
||||
vt 0.906250 0.781250
|
||||
vt 0.968750 0.093750
|
||||
vt 0.968750 0.218750
|
||||
vt 0.906250 0.218750
|
||||
vt 0.906250 0.093750
|
||||
vt 0.781250 0.218750
|
||||
vt 0.781250 0.093750
|
||||
vt 0.718750 0.218750
|
||||
vt 0.718750 0.093750
|
||||
vt 0.906250 0.031250
|
||||
vt 0.781250 0.031250
|
||||
vt 0.906250 0.281250
|
||||
vt 0.781250 0.281250
|
||||
vt 0.781250 0.906250
|
||||
vt 0.781250 0.781250
|
||||
vt 0.718750 0.906250
|
||||
vt 0.718750 0.781250
|
||||
vt 0.906250 0.718750
|
||||
vt 0.781250 0.718750
|
||||
vt 0.906250 0.968750
|
||||
vt 0.781250 0.968750
|
||||
vt 0.406250 0.937500
|
||||
vt 0.343750 0.937500
|
||||
vt 0.343750 0.062500
|
||||
vt 0.406250 0.062500
|
||||
vt 0.093750 0.937500
|
||||
vt 0.031250 0.937500
|
||||
vt 0.031250 0.062500
|
||||
vt 0.093750 0.062500
|
||||
vt 0.468750 0.062500
|
||||
vt 0.531250 0.062500
|
||||
vt 0.531250 0.937500
|
||||
vt 0.468750 0.937500
|
||||
vt 0.593750 0.062500
|
||||
vt 0.593750 0.937500
|
||||
vt 0.156250 0.062500
|
||||
vt 0.218750 0.062500
|
||||
vt 0.218750 0.937500
|
||||
vt 0.156250 0.937500
|
||||
vt 0.281250 0.062500
|
||||
vt 0.281250 0.937500
|
||||
vt 0.968750 0.781250
|
||||
vt 0.968750 0.906250
|
||||
vt 0.906250 0.906250
|
||||
vt 0.906250 0.781250
|
||||
vt 0.968750 0.093750
|
||||
vt 0.968750 0.218750
|
||||
vt 0.906250 0.218750
|
||||
vt 0.906250 0.093750
|
||||
vt 0.781250 0.218750
|
||||
vt 0.781250 0.093750
|
||||
vt 0.718750 0.218750
|
||||
vt 0.718750 0.093750
|
||||
vt 0.906250 0.031250
|
||||
vt 0.781250 0.031250
|
||||
vt 0.906250 0.281250
|
||||
vt 0.781250 0.281250
|
||||
vt 0.781250 0.906250
|
||||
vt 0.781250 0.781250
|
||||
vt 0.718750 0.906250
|
||||
vt 0.718750 0.781250
|
||||
vt 0.906250 0.718750
|
||||
vt 0.781250 0.718750
|
||||
vt 0.906250 0.968750
|
||||
vt 0.781250 0.968750
|
||||
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
|
||||
vn 1.0000 0.0000 0.0000
|
||||
s off
|
||||
f 11/1/1 12/2/1 16/3/1 15/4/1
|
||||
f 3/5/1 4/6/1 8/7/1 7/8/1
|
||||
f 7/8/2 8/7/2 6/9/2 5/10/2
|
||||
f 5/10/3 6/9/3 2/11/3 1/12/3
|
||||
f 3/13/4 7/8/4 5/10/4 1/14/4
|
||||
f 8/7/5 4/15/5 2/16/5 6/9/5
|
||||
f 15/4/2 16/3/2 14/17/2 13/18/2
|
||||
f 13/18/3 14/17/3 10/19/3 9/20/3
|
||||
f 11/21/4 15/4/4 13/18/4 9/22/4
|
||||
f 16/3/5 12/23/5 10/24/5 14/17/5
|
||||
f 19/25/1 20/26/1 24/27/1 23/28/1
|
||||
f 27/29/1 28/30/1 32/31/1 31/32/1
|
||||
f 21/33/3 22/34/3 18/35/3 17/36/3
|
||||
f 19/25/4 23/28/4 21/33/4 17/36/4
|
||||
f 24/37/5 20/38/5 18/35/5 22/34/5
|
||||
f 29/39/3 30/40/3 26/41/3 25/42/3
|
||||
f 27/29/4 31/32/4 29/39/4 25/42/4
|
||||
f 32/43/5 28/44/5 26/41/5 30/40/5
|
||||
f 43/45/3 44/46/3 48/47/3 47/48/3
|
||||
f 35/49/3 36/50/3 40/51/3 39/52/3
|
||||
f 39/52/6 40/51/6 38/53/6 37/54/6
|
||||
f 37/54/1 38/53/1 34/55/1 33/56/1
|
||||
f 35/57/4 39/52/4 37/54/4 33/58/4
|
||||
f 40/51/5 36/59/5 34/60/5 38/53/5
|
||||
f 47/48/6 48/47/6 46/61/6 45/62/6
|
||||
f 45/62/1 46/61/1 42/63/1 41/64/1
|
||||
f 43/65/4 47/48/4 45/62/4 41/66/4
|
||||
f 48/47/5 44/67/5 42/68/5 46/61/5
|
|
@ -0,0 +1,103 @@
|
|||
# Blender v2.91.2 OBJ File: 'SpaceShip.blend'
|
||||
# www.blender.org
|
||||
o Laser_gate_L_Cube.027
|
||||
v 0.500000 -0.312500 -0.062500
|
||||
v 0.500000 -0.187500 -0.062500
|
||||
v 0.500000 -0.312500 0.062500
|
||||
v 0.500000 -0.187500 0.062500
|
||||
v 0.437500 -0.312500 -0.062500
|
||||
v 0.437500 -0.187500 -0.062500
|
||||
v 0.437500 -0.312500 0.062500
|
||||
v 0.437500 -0.187500 0.062500
|
||||
v 0.500000 0.187500 -0.062500
|
||||
v 0.500000 0.312500 -0.062500
|
||||
v 0.500000 0.187500 0.062500
|
||||
v 0.500000 0.312500 0.062500
|
||||
v 0.437500 0.187500 -0.062500
|
||||
v 0.437500 0.312500 -0.062500
|
||||
v 0.437500 0.187500 0.062500
|
||||
v 0.437500 0.312500 0.062500
|
||||
v 0.437500 0.218750 -0.031250
|
||||
v 0.437500 0.281250 -0.031250
|
||||
v 0.437500 0.218750 0.031250
|
||||
v 0.437500 0.281250 0.031250
|
||||
v -0.500000 0.218750 -0.031250
|
||||
v -0.500000 0.281250 -0.031250
|
||||
v -0.500000 0.218750 0.031250
|
||||
v -0.500000 0.281250 0.031250
|
||||
v 0.437500 -0.281250 -0.031250
|
||||
v 0.437500 -0.218750 -0.031250
|
||||
v 0.437500 -0.281250 0.031250
|
||||
v 0.437500 -0.218750 0.031250
|
||||
v -0.500000 -0.281250 -0.031250
|
||||
v -0.500000 -0.218750 -0.031250
|
||||
v -0.500000 -0.281250 0.031250
|
||||
v -0.500000 -0.218750 0.031250
|
||||
vt 0.968750 0.781250
|
||||
vt 0.968750 0.906250
|
||||
vt 0.906250 0.906250
|
||||
vt 0.906250 0.781250
|
||||
vt 0.968750 0.093750
|
||||
vt 0.968750 0.218750
|
||||
vt 0.906250 0.218750
|
||||
vt 0.906250 0.093750
|
||||
vt 0.781250 0.218750
|
||||
vt 0.781250 0.093750
|
||||
vt 0.718750 0.218750
|
||||
vt 0.718750 0.093750
|
||||
vt 0.906250 0.031250
|
||||
vt 0.781250 0.031250
|
||||
vt 0.906250 0.281250
|
||||
vt 0.781250 0.281250
|
||||
vt 0.781250 0.906250
|
||||
vt 0.781250 0.781250
|
||||
vt 0.718750 0.906250
|
||||
vt 0.718750 0.781250
|
||||
vt 0.906250 0.718750
|
||||
vt 0.781250 0.718750
|
||||
vt 0.906250 0.968750
|
||||
vt 0.781250 0.968750
|
||||
vt 0.406250 0.968750
|
||||
vt 0.343750 0.968750
|
||||
vt 0.343750 0.031250
|
||||
vt 0.406250 0.031250
|
||||
vt 0.093750 0.968750
|
||||
vt 0.031250 0.968750
|
||||
vt 0.031250 0.031250
|
||||
vt 0.093750 0.031250
|
||||
vt 0.468750 0.031250
|
||||
vt 0.531250 0.031250
|
||||
vt 0.531250 0.968750
|
||||
vt 0.468750 0.968750
|
||||
vt 0.593750 0.031250
|
||||
vt 0.593750 0.968750
|
||||
vt 0.156250 0.031250
|
||||
vt 0.218750 0.031250
|
||||
vt 0.218750 0.968750
|
||||
vt 0.156250 0.968750
|
||||
vt 0.281250 0.031250
|
||||
vt 0.281250 0.968750
|
||||
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 11/1/1 12/2/1 16/3/1 15/4/1
|
||||
f 3/5/1 4/6/1 8/7/1 7/8/1
|
||||
f 7/8/2 8/7/2 6/9/2 5/10/2
|
||||
f 5/10/3 6/9/3 2/11/3 1/12/3
|
||||
f 3/13/4 7/8/4 5/10/4 1/14/4
|
||||
f 8/7/5 4/15/5 2/16/5 6/9/5
|
||||
f 15/4/2 16/3/2 14/17/2 13/18/2
|
||||
f 13/18/3 14/17/3 10/19/3 9/20/3
|
||||
f 11/21/4 15/4/4 13/18/4 9/22/4
|
||||
f 16/3/5 12/23/5 10/24/5 14/17/5
|
||||
f 19/25/1 20/26/1 24/27/1 23/28/1
|
||||
f 27/29/1 28/30/1 32/31/1 31/32/1
|
||||
f 21/33/3 22/34/3 18/35/3 17/36/3
|
||||
f 19/25/4 23/28/4 21/33/4 17/36/4
|
||||
f 24/37/5 20/38/5 18/35/5 22/34/5
|
||||
f 29/39/3 30/40/3 26/41/3 25/42/3
|
||||
f 27/29/4 31/32/4 29/39/4 25/42/4
|
||||
f 32/43/5 28/44/5 26/41/5 30/40/5
|
|
@ -0,0 +1,52 @@
|
|||
# Blender v2.91.2 OBJ File: 'SpaceShip.blend'
|
||||
# www.blender.org
|
||||
o Laser_gate_M_Cube.028
|
||||
v -0.500000 0.218750 0.031250
|
||||
v -0.500000 0.281250 0.031250
|
||||
v -0.500000 0.218750 -0.031250
|
||||
v -0.500000 0.281250 -0.031250
|
||||
v 0.500000 0.218750 0.031250
|
||||
v 0.500000 0.281250 0.031250
|
||||
v 0.500000 0.218750 -0.031250
|
||||
v 0.500000 0.281250 -0.031250
|
||||
v -0.500000 -0.281250 0.031250
|
||||
v -0.500000 -0.218750 0.031250
|
||||
v -0.500000 -0.281250 -0.031250
|
||||
v -0.500000 -0.218750 -0.031250
|
||||
v 0.500000 -0.281250 0.031250
|
||||
v 0.500000 -0.218750 0.031250
|
||||
v 0.500000 -0.281250 -0.031250
|
||||
v 0.500000 -0.218750 -0.031250
|
||||
vt 0.406250 1.000000
|
||||
vt 0.343750 1.000000
|
||||
vt 0.343750 0.000000
|
||||
vt 0.406250 0.000000
|
||||
vt 0.093750 1.000000
|
||||
vt 0.031250 1.000000
|
||||
vt 0.031250 0.000000
|
||||
vt 0.093750 0.000000
|
||||
vt 0.468750 0.000000
|
||||
vt 0.531250 0.000000
|
||||
vt 0.531250 1.000000
|
||||
vt 0.468750 1.000000
|
||||
vt 0.593750 0.000000
|
||||
vt 0.593750 1.000000
|
||||
vt 0.156250 0.000000
|
||||
vt 0.218750 0.000000
|
||||
vt 0.218750 1.000000
|
||||
vt 0.156250 1.000000
|
||||
vt 0.281250 0.000000
|
||||
vt 0.281250 1.000000
|
||||
vn 0.0000 0.0000 -1.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 3/1/1 4/2/1 8/3/1 7/4/1
|
||||
f 11/5/1 12/6/1 16/7/1 15/8/1
|
||||
f 5/9/2 6/10/2 2/11/2 1/12/2
|
||||
f 3/1/3 7/4/3 5/9/3 1/12/3
|
||||
f 8/13/4 4/14/4 2/11/4 6/10/4
|
||||
f 13/15/2 14/16/2 10/17/2 9/18/2
|
||||
f 11/5/3 15/8/3 13/15/3 9/18/3
|
||||
f 16/19/4 12/20/4 10/17/4 14/16/4
|
|
@ -0,0 +1,103 @@
|
|||
# Blender v2.91.2 OBJ File: 'SpaceShip.blend'
|
||||
# www.blender.org
|
||||
o Laser_gate_R_Cube.023
|
||||
v -0.500000 -0.312500 0.062500
|
||||
v -0.500000 -0.187500 0.062500
|
||||
v -0.500000 -0.312500 -0.062500
|
||||
v -0.500000 -0.187500 -0.062500
|
||||
v -0.437500 -0.312500 0.062500
|
||||
v -0.437500 -0.187500 0.062500
|
||||
v -0.437500 -0.312500 -0.062500
|
||||
v -0.437500 -0.187500 -0.062500
|
||||
v -0.500000 0.187500 0.062500
|
||||
v -0.500000 0.312500 0.062500
|
||||
v -0.500000 0.187500 -0.062500
|
||||
v -0.500000 0.312500 -0.062500
|
||||
v -0.437500 0.187500 0.062500
|
||||
v -0.437500 0.312500 0.062500
|
||||
v -0.437500 0.187500 -0.062500
|
||||
v -0.437500 0.312500 -0.062500
|
||||
v -0.437500 0.218750 0.031250
|
||||
v -0.437500 0.281250 0.031250
|
||||
v -0.437500 0.218750 -0.031250
|
||||
v -0.437500 0.281250 -0.031250
|
||||
v 0.500000 0.218750 0.031250
|
||||
v 0.500000 0.281250 0.031250
|
||||
v 0.500000 0.218750 -0.031250
|
||||
v 0.500000 0.281250 -0.031250
|
||||
v -0.437500 -0.281250 0.031250
|
||||
v -0.437500 -0.218750 0.031250
|
||||
v -0.437500 -0.281250 -0.031250
|
||||
v -0.437500 -0.218750 -0.031250
|
||||
v 0.500000 -0.281250 0.031250
|
||||
v 0.500000 -0.218750 0.031250
|
||||
v 0.500000 -0.281250 -0.031250
|
||||
v 0.500000 -0.218750 -0.031250
|
||||
vt 0.968750 0.781250
|
||||
vt 0.968750 0.906250
|
||||
vt 0.906250 0.906250
|
||||
vt 0.906250 0.781250
|
||||
vt 0.968750 0.093750
|
||||
vt 0.968750 0.218750
|
||||
vt 0.906250 0.218750
|
||||
vt 0.906250 0.093750
|
||||
vt 0.781250 0.218750
|
||||
vt 0.781250 0.093750
|
||||
vt 0.718750 0.218750
|
||||
vt 0.718750 0.093750
|
||||
vt 0.906250 0.031250
|
||||
vt 0.781250 0.031250
|
||||
vt 0.906250 0.281250
|
||||
vt 0.781250 0.281250
|
||||
vt 0.781250 0.906250
|
||||
vt 0.781250 0.781250
|
||||
vt 0.718750 0.906250
|
||||
vt 0.718750 0.781250
|
||||
vt 0.906250 0.718750
|
||||
vt 0.781250 0.718750
|
||||
vt 0.906250 0.968750
|
||||
vt 0.781250 0.968750
|
||||
vt 0.406250 0.968750
|
||||
vt 0.343750 0.968750
|
||||
vt 0.343750 0.031250
|
||||
vt 0.406250 0.031250
|
||||
vt 0.093750 0.968750
|
||||
vt 0.031250 0.968750
|
||||
vt 0.031250 0.031250
|
||||
vt 0.093750 0.031250
|
||||
vt 0.468750 0.031250
|
||||
vt 0.531250 0.031250
|
||||
vt 0.531250 0.968750
|
||||
vt 0.468750 0.968750
|
||||
vt 0.593750 0.031250
|
||||
vt 0.593750 0.968750
|
||||
vt 0.156250 0.031250
|
||||
vt 0.218750 0.031250
|
||||
vt 0.218750 0.968750
|
||||
vt 0.156250 0.968750
|
||||
vt 0.281250 0.031250
|
||||
vt 0.281250 0.968750
|
||||
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 11/1/1 12/2/1 16/3/1 15/4/1
|
||||
f 3/5/1 4/6/1 8/7/1 7/8/1
|
||||
f 7/8/2 8/7/2 6/9/2 5/10/2
|
||||
f 5/10/3 6/9/3 2/11/3 1/12/3
|
||||
f 3/13/4 7/8/4 5/10/4 1/14/4
|
||||
f 8/7/5 4/15/5 2/16/5 6/9/5
|
||||
f 15/4/2 16/3/2 14/17/2 13/18/2
|
||||
f 13/18/3 14/17/3 10/19/3 9/20/3
|
||||
f 11/21/4 15/4/4 13/18/4 9/22/4
|
||||
f 16/3/5 12/23/5 10/24/5 14/17/5
|
||||
f 19/25/1 20/26/1 24/27/1 23/28/1
|
||||
f 27/29/1 28/30/1 32/31/1 31/32/1
|
||||
f 21/33/3 22/34/3 18/35/3 17/36/3
|
||||
f 19/25/4 23/28/4 21/33/4 17/36/4
|
||||
f 24/37/5 20/38/5 18/35/5 22/34/5
|
||||
f 29/39/3 30/40/3 26/41/3 25/42/3
|
||||
f 27/29/4 31/32/4 29/39/4 25/42/4
|
||||
f 32/43/5 28/44/5 26/41/5 30/40/5
|
After Width: | Height: | Size: 2.0 KiB |
|
@ -21,3 +21,27 @@ Licensed as Creative Commons 0
|
|||
|
||||
Savanna from https://freesound.org/people/reinsamba/sounds/58230/
|
||||
Licensed as Creative Commons Attribution
|
||||
|
||||
Sounds by Nathan Salapat, CC by SA
|
||||
engines
|
||||
|
||||
small river by HerbertBoland CCA
|
||||
https://freesound.org/people/HerbertBoland/sounds/28168/
|
||||
|
||||
pub_ambience by Zacki_17 CC0
|
||||
https://freesound.org/people/Zacki_17/sounds/369545/
|
||||
|
||||
Sounds from Sonniss.com GDC 2018
|
||||
LICENSE: ROYALTY-FREE | contact: timothy@sonniss.com | @sonnissdotcom
|
||||
office_noise
|
||||
traffic_intersection
|
||||
construction_noise
|
||||
washing_machine
|
||||
subway
|
||||
engines
|
||||
energy_wave
|
||||
pulsing_vibrations
|
||||
radio_static
|
||||
spraying_water
|
||||
underwater
|
||||
coyote
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
local sounds_table = {
|
||||
'coniferous_forest', 'deciduous_forest', 'desert', 'grassland', 'icesheet', 'ocean_beach', 'rainforest,savanna'
|
||||
'coniferous_forest', 'deciduous_forest', 'desert', 'grassland', 'icesheet', 'ocean_beach', 'rainforest' , 'savanna', 'engines', 'office_noise', 'traffic_intersection', 'construction_noise',
|
||||
'washing_machine', 'subway', 'energy_wave', 'pulsing_vibrations', 'radio_static', 'spraying_water', 'underwater', 'coyote', 'small_river', 'pub_ambience'
|
||||
}
|
||||
|
||||
local function formspec_selection(sound, dist)
|
||||
|
@ -15,8 +16,6 @@ end
|
|||
minetest.register_node('sounds:speaker', {
|
||||
description = 'Speaker',
|
||||
tiles = {'sounds_speaker.png'},
|
||||
--drawtype = 'mesh',
|
||||
--mesh = 'sounds_speaker.obj',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
selection_box = {
|
||||
|
@ -45,6 +44,7 @@ minetest.register_node('sounds:speaker', {
|
|||
if fields ['save'] then
|
||||
meta:set_string('sound', fields.Sound)
|
||||
meta:set_int('dist', fields.Distance)
|
||||
minetest.sound_play(fields.Sound, {to_player = name, gain = 1})
|
||||
for i, sounds_index in ipairs(sounds_table) do
|
||||
if sounds_index == fields.Sound then
|
||||
meta:set_int('sound_index', i)
|
||||
|
@ -66,3 +66,15 @@ minetest.register_abm({
|
|||
minetest.sound_play(sound, {pos = pos, gain = 1, max_hear_distance = dist})
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {'group:plays_sound'},
|
||||
interval = 60,
|
||||
chance = 10,
|
||||
action = function(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
local sound = def._sound
|
||||
minetest.sound_play(sound, {pos = pos, gain = 1, max_hear_distance = 5})
|
||||
end
|
||||
})
|
||||
|
|