elepower lighting initial and elepower inventory update

Breaking Update:
~ elepower lighting added
  ~ light bulbs
  ~ flood lights
  ~ led panels
  ~ decorative shades
  ~ added to tome
~ improvements to dynamics inventory images
~ improvements to machine recipe storage
~ tome support for new recipes
~ additional elepower conduit types added with lighting and base
~ changes to compressing from 1 recipe slot to 2 slots (potential breaking change)
This commit is contained in:
Sirrobzeroone 2021-08-08 20:39:20 +10:00
parent 209b8a7596
commit 56d89df934
187 changed files with 4727 additions and 124 deletions

View File

@ -6,23 +6,53 @@ if minetest.get_modpath("basic_materials") == nil then
minetest.register_craftitem(":basic_materials:oil_extract", { minetest.register_craftitem(":basic_materials:oil_extract", {
description = "Oil Extract", description = "Oil Extract",
inventory_image = "elepower_oil_extract.png", inventory_image = "elepower_bm_oil_extract.png",
}) })
minetest.register_craftitem(":basic_materials:paraffin", { minetest.register_craftitem(":basic_materials:paraffin", {
description = "Unprocessed Paraffin", description = "Unprocessed Paraffin",
inventory_image = "elepower_paraffin.png", inventory_image = "elepower_bm_paraffin.png",
}) })
minetest.register_alias("basic_materials:plastic_base", "basic_materials:paraffin") minetest.register_alias("basic_materials:plastic_base", "basic_materials:paraffin")
minetest.register_alias("homedecor:plastic_base", "basic_materials:paraffin") minetest.register_alias("homedecor:plastic_base", "basic_materials:paraffin")
minetest.register_alias("homedecor:paraffin", "basic_materials:paraffin") minetest.register_alias("homedecor:paraffin", "basic_materials:paraffin")
minetest.register_alias("homedecor:plastic_sheeting", "basic_materials:plastic_sheet")
minetest.register_alias("homedecor:oil_extract", "basic_materials:oil_extract") minetest.register_alias("homedecor:oil_extract", "basic_materials:oil_extract")
minetest.register_alias("homedecor:plastic_sheeting", "basic_materials:plastic_sheet")
minetest.register_alias("homedecor:plastic_strips", "basic_materials:plastic_strip")
minetest.register_alias("homedecor:empty_spool", "basic_materials:empty_spool")
minetest.register_craftitem(":basic_materials:plastic_sheet", { minetest.register_craftitem(":basic_materials:plastic_sheet", {
description = "Plastic Sheet", description = "Plastic Sheet",
inventory_image = "elepower_plastic_sheet.png", inventory_image = "elepower_bm_plastic_sheet.png",
})
minetest.register_craftitem(":basic_materials:plastic_strip", {
description = "Plastic Strips",
groups = { strip = 1 },
inventory_image = "elepower_bm_strip.png^[colorize:#ffffff:200",
})
minetest.register_craftitem(":basic_materials:empty_spool", {
description = "Empty wire spool",
inventory_image = "elepower_bm_empty_spool.png"
})
minetest.register_craft( {
output = "basic_materials:plastic_strip 9",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
},
})
minetest.register_craft( {
output = "basic_materials:empty_spool 3",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "" , "basic_materials:plastic_sheet", "" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
},
}) })
minetest.register_craft({ minetest.register_craft({
@ -74,17 +104,18 @@ if minetest.get_modpath("basic_materials") == nil then
minetest.register_craftitem(":basic_materials:copper_wire", { minetest.register_craftitem(":basic_materials:copper_wire", {
description = "Copper Wire", description = "Copper Wire",
inventory_image = "elepower_copper_wire.png", inventory_image = "elepower_bm_copper_wire.png",
groups = {copper = 1, wire = 1, component = 1} groups = {copper = 1, wire = 1, component = 1}
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:copper_wire 8", output = "basic_materials:copper_wire 2",
type = "shapeless",
recipe = { recipe = {
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, "default:copper_ingot",
{"default:copper_ingot", "", "default:copper_ingot"}, "basic_materials:empty_spool",
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"} "basic_materials:empty_spool",
} },
}) })
----------- -----------
@ -93,7 +124,7 @@ if minetest.get_modpath("basic_materials") == nil then
minetest.register_craftitem(":basic_materials:motor", { minetest.register_craftitem(":basic_materials:motor", {
description = "Motor", description = "Motor",
inventory_image = "elepower_motor.png", inventory_image = "elepower_bm_motor.png",
groups = {motor = 1, component = 1} groups = {motor = 1, component = 1}
}) })
@ -112,7 +143,7 @@ if minetest.get_modpath("basic_materials") == nil then
minetest.register_craftitem(":basic_materials:silicon", { minetest.register_craftitem(":basic_materials:silicon", {
description = "Silicon", description = "Silicon",
inventory_image = "elepower_silicon.png", inventory_image = "elepower_bm_silicon.png",
groups = {silicon = 1, lump = 1} groups = {silicon = 1, lump = 1}
}) })
@ -125,6 +156,54 @@ if minetest.get_modpath("basic_materials") == nil then
inventory_image = "elepower_brass_ingot.png", inventory_image = "elepower_brass_ingot.png",
groups = {brass = 1, ingot = 1} groups = {brass = 1, ingot = 1}
}) })
-----------
-- STEEL --
-----------
minetest.register_craftitem(":basic_materials:steel_strip", {
description = "Steel Strip",
groups = { strip = 1 },
inventory_image = "elepower_bm_strip.png^[multiply:#ffffff"
})
minetest.register_craftitem(":basic_materials:steel_wire", {
description = "Spool of steel wire",
groups = { wire = 1 },
inventory_image = "elepower_bm_steel_wire.png"
})
minetest.register_craft( {
output = "basic_materials:steel_wire 2",
type = "shapeless",
recipe = {
"default:steel_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:steel_strip 12",
recipe = {
{ "", "default:steel_ingot", "" },
{ "default:steel_ingot", "", "" },
},
})
else else
minetest.clear_craft({output = "basic_materials:brass_ingot"}) minetest.clear_craft({output = "basic_materials:brass_ingot"})
local steel_strip_def = table.copy(minetest.registered_items["basic_materials:steel_strip"])
steel_strip_def.inventory_image = "elepower_bm_strip.png^[multiply:#ffffff"
minetest.register_craftitem(":basic_materials:steel_strip", steel_strip_def)
local copper_strip_def = table.copy(minetest.registered_items["basic_materials:copper_strip"])
copper_strip_def.inventory_image = "elepower_bm_strip.png^[multiply:#fcb15f"
minetest.register_craftitem(":basic_materials:copper_strip", copper_strip_def)
local plastic_strip_def = table.copy(minetest.registered_items["basic_materials:plastic_strip"])
plastic_strip_def.inventory_image = "elepower_bm_strip.png^[colorize:#ffffff:200"
minetest.register_craftitem(":basic_materials:plastic_strip", plastic_strip_def)
end end

View File

@ -17,6 +17,7 @@ local list_def = {
{material = "viridisium", description = "Viridisium", color = "#5b9751", dust = true, plate = true, gear = true}, {material = "viridisium", description = "Viridisium", color = "#5b9751", dust = true, plate = true, gear = true},
{material = "zinc", description = "Zinc", color = "#598a9e", dust = true, plate = true}, {material = "zinc", description = "Zinc", color = "#598a9e", dust = true, plate = true},
{material = "coal", description = "Coal", color = "#1f1f1f", dust = true}, {material = "coal", description = "Coal", color = "#1f1f1f", dust = true},
{material = "mese", description = "Mese", color = "#fdff2d99", dust = true},
{material = "wood", description = "Wood", color = "#847454", dust = "Sawdust", gear = true} {material = "wood", description = "Wood", color = "#847454", dust = "Sawdust", gear = true}
} }
@ -50,6 +51,11 @@ end
function elepd.register_dust(mat, data) function elepd.register_dust(mat, data)
local mod = minetest.get_current_modname() local mod = minetest.get_current_modname()
local itemname = mod..":"..mat.."_dust" local itemname = mod..":"..mat.."_dust"
local image = "elepower_dust.png^[multiply:" .. data.color
if mat == "mese" then
image = "elepower_dust.png^[colorize:" .. data.color.."^[multiply:" .. data.color
end
data.item = itemname data.item = itemname
elepd.registered_dusts[mat] = data elepd.registered_dusts[mat] = data
@ -60,9 +66,11 @@ function elepd.register_dust(mat, data)
description = data.description description = data.description
end end
minetest.register_craftitem(itemname, { minetest.register_craftitem(itemname, {
description = description, description = description,
inventory_image = "elepower_dust.png^[multiply:" .. data.color, inventory_image = image,
groups = { groups = {
["dust_" .. mat] = 1, ["dust_" .. mat] = 1,
dust = 1 dust = 1

View File

@ -6,15 +6,67 @@ ele.register_conduit("elepower_dynamics:conduit", {
use_texture_alpha = "clip", use_texture_alpha = "clip",
groups = {oddly_breakable_by_hand = 1, cracky = 1} groups = {oddly_breakable_by_hand = 1, cracky = 1}
}) })
--[[
ele.register_conduit("elepower_dynamics:conduit_wall", { ele.register_conduit("elepower_dynamics:conduit_wall", {
description = "Power Conduit Wall Pass Through", description = "Power Conduit Wall Pass Through",
tiles = {"elepower_machine_side.png^elepower_power_port.png"}, tiles = {"elepower_conduit_wall.png"},
use_texture_alpha = "clip", use_texture_alpha = "clip",
ele_conductor_density = 4/8, ele_conductor_density = 4/8,
groups = {oddly_breakable_by_hand = 1, cracky = 1} groups = {cracky = 1}
}) })
--]]
ele.register_conduit("elepower_dynamics:conduit_dirt_with_grass", {
description = "Power Conduit Grass Outlet",
tiles = {"default_grass.png^elepower_conduit_node_socket.png",
"default_dirt.png",
"default_dirt.png^default_grass_side.png"
},
use_texture_alpha = "clip",
ele_conductor_density = 4/8,
groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25}
})
})
ele.register_conduit("elepower_dynamics:conduit_dirt_with_dry_grass", {
description = "Power Conduit Dry Grass Outlet",
tiles = {"default_dry_grass.png^elepower_conduit_node_socket.png",
"default_dirt.png",
"default_dirt.png^default_dry_grass_side.png"
},
use_texture_alpha = "clip",
ele_conductor_density = 4/8,
groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25}
})
})
ele.register_conduit("elepower_dynamics:conduit_stone_block", {
description = "Power Conduit Stone Block",
tiles = {"default_stone_block.png^elepower_conduit_node_socket.png",
"default_stone_block.png^elepower_conduit_node_socket.png",
"default_stone_block.png^elepower_conduit_node_socket.png"
},
use_texture_alpha = "clip",
ele_conductor_density = 4/8,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
ele.register_conduit("elepower_dynamics:conduit_stone_block_desert", {
description = "Power Conduit Desert Stone Block",
tiles = {"default_desert_stone_block.png^elepower_conduit_node_socket.png",
"default_desert_stone_block.png^elepower_conduit_node_socket.png",
"default_desert_stone_block.png^elepower_conduit_node_socket.png"
},
use_texture_alpha = "clip",
ele_conductor_density = 4/8,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
-- Fluid -- Fluid
fluid_lib.register_transfer_node("elepower_dynamics:opaque_duct", { fluid_lib.register_transfer_node("elepower_dynamics:opaque_duct", {
description = "Opaque Fluid Duct", description = "Opaque Fluid Duct",

View File

@ -130,6 +130,53 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "elepower_dynamics:conduit_wall 1",
recipe = {
{"" ,"elepower_dynamics:lead_plate",""},
{"elepower_dynamics:lead_plate","elepower_dynamics:conduit" ,"elepower_dynamics:lead_plate"},
{"" ,"elepower_dynamics:lead_plate",""}
}
})
minetest.register_craft({
output = "elepower_dynamics:conduit_dirt_with_grass 1",
recipe = {
{"","farming:seed_wheat",""},
{"","elepower_dynamics:conduit" ,""},
{"","default:dirt" ,""}
}
})
minetest.register_craft({
output = "elepower_dynamics:conduit_dirt_with_dry_grass 1",
recipe = {
{"","farming:wheat",""},
{"","elepower_dynamics:conduit" ,""},
{"","default:dirt" ,""}
}
})
minetest.register_craft({
output = "elepower_dynamics:conduit_stone_block 1",
recipe = {
{"" ,"stairs:slab_stone_block" ,""},
{"stairs:slab_stone_block","elepower_dynamics:conduit","stairs:slab_stone_block"},
{"" ,"stairs:slab_stone_block" ,""}
}
})
minetest.register_craft({
output = "elepower_dynamics:conduit_stone_block_desert 1",
recipe = {
{"" ,"stairs:slab_desert_stone_block" ,""},
{"stairs:slab_desert_stone_block","elepower_dynamics:conduit","stairs:slab_desert_stone_block"},
{"" ,"stairs:slab_desert_stone_block" ,""}
}
})
-- Opaque Fluid Duct -- Opaque Fluid Duct
minetest.register_craft({ minetest.register_craft({
output = "elepower_dynamics:opaque_duct 3", output = "elepower_dynamics:opaque_duct 3",

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 998 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 430 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 329 B

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 B

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 557 B

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 613 B

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 849 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 B

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 B

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 B

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 B

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 289 B

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 B

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,322 @@
------------------------------------------------------
-- ___ _ --
-- | __| |___ _ __ _____ __ _____ _ _ --
-- | _|| / -_) '_ \/ _ \ V V / -_) '_| --
-- |___|_\___| .__/\___/\_/\_/\___|_| --
-- _ _ |_| _ _ _ --
-- | | (_)__ _| |_| |_(_)_ _ __ _ --
-- | |__| / _` | ' \ _| | ' \/ _` | --
-- |____|_\__, |_||_\__|_|_||_\__, | --
-- |___/ |___/ --
------------------------------------------------------
-- Crafting Recipes --
------------------------------------------------------
local glass = "default:glass"
local glass_slab = "stairs:slab_glass"
local stick = "default:stick"
local steel_wire = "basic_materials:steel_wire"
local steel_strip = "basic_materials:steel_strip"
local plastic_strip = "basic_materials:plastic_strip"
local plastic_sheet = "basic_materials:plastic_sheet"
local mese_dust = "elepower_dynamics:mese_dust"
local dye_red = "dye:red"
local dye_green = "dye:green"
local dye_blue = "dye:blue"
local s_wood = "stairs:slab_wood"
minetest.register_craft( {
output = "elepower_lighting:electrum_strip 12",
recipe = {
{ "", "elepower_dynamics:electrum_ingot", "" },
{ "elepower_dynamics:electrum_ingot", "", "" },
},
})
-- Override base recipes so lighting independent
minetest.clear_craft({output = "elepower_dynamics:uv_bulb"})
minetest.registered_craftitems["elepower_dynamics:uv_bulb"] = {} -- registered as node
minetest.register_craft({
output = "elepower_dynamics:uv_bulb",
recipe = {
{ "" ,"elepower_lighting:bulb_glass" , "" },
{"group:color_blue","elepower_lighting:incandescent_bulb_element" ,"group:color_violet"},
{ "" ,steel_strip , "" }
}
})
-- Compressing Recipes
local compressor_recipes = {
{
recipe = { "elepower_lighting:electrum_strip 1", dye_red.." 1" },
output = "elepower_lighting:led_red",
time = 4,
},
{
recipe = { "elepower_lighting:electrum_strip 1", dye_green.." 1" },
output = "elepower_lighting:led_green",
time = 4,
},
{
recipe = { "elepower_lighting:electrum_strip 1", dye_blue.." 1" },
output = "elepower_lighting:led_blue",
time = 4,
}
}
for _,i in pairs(compressor_recipes) do
elepm.register_craft({
type = "compress",
recipe = i.recipe,
output = i.output,
time = i.time or 1
})
end
-- Soldering Recipes
local soldering_recipes = {
{
recipe = { "elepower_dynamics:pcb", "elepower_dynamics:chip 4", "elepower_lighting:led_red"},
output = "elepower_lighting:led_driver 4",
time = 8,
},
{
recipe = {"elepower_lighting:led_light_panel", "elepower_dynamics:microcontroller", "elepower_lighting:led_cluster"},
output = "elepower_lighting:led_light_panel_colored",
time = 12,
}
}
for _,i in pairs(soldering_recipes) do
elepm.register_craft({
type = "solder",
recipe = i.recipe,
output = i.output,
time = i.time or 4
})
end
-- Canning
local canning_recipes = {
{
recipe = {"elepower_dynamics:iron_plate", "elepower_dynamics:conduit"},
output = "elepower_lighting:conduit_iron_thin",
time = 4,
},
{
recipe = {"elepower_dynamics:iron_plate 2", "elepower_dynamics:conduit"},
output = "elepower_lighting:conduit_iron_thick",
time = 4,
},
{
recipe = {"elepower_dynamics:steel_plate", "elepower_dynamics:conduit"},
output = "elepower_lighting:conduit_steel_thin",
time = 4,
},
{
recipe = {"elepower_dynamics:steel_plate 2", "elepower_dynamics:conduit"},
output = "elepower_lighting:conduit_steel_thick",
time = 4,
},
{
recipe = {"elepower_dynamics:gold_plate", "elepower_dynamics:conduit"},
output = "elepower_lighting:conduit_gold_thin",
time = 4,
},
{
recipe = {"elepower_dynamics:gold_plate 2", "elepower_dynamics:conduit"},
output = "elepower_lighting:conduit_gold_thick",
time = 4,
},
}
for _,i in pairs(canning_recipes) do
elepm.register_craft({
type = "can",
recipe = i.recipe,
output = i.output,
time = i.time or 4
})
end
-- Wood Conduit
minetest.register_craft({
output = "elepower_lighting:conduit_wood_thin",
recipe = {
{ "" ,"", "" },
{ "" ,"elepower_dynamics:conduit", "" },
{ "" ,s_wood, "" }
}
})
minetest.register_craft({
output = "elepower_lighting:conduit_wood_thick",
recipe = {
{ "" ,s_wood, "" },
{ "" ,"elepower_dynamics:conduit", "" },
{ "" ,s_wood, "" }
}
})
-- Incandescent Bulb Glass
minetest.register_craft({
output = "elepower_lighting:bulb_glass 10",
recipe = {
{ "" ,glass, "" },
{glass, "" ,glass},
{glass, "" ,glass}
}
})
-- Incandescent Bulb Element
minetest.register_craft({
output = "elepower_lighting:incandescent_bulb_element 5",
recipe = {
{ "" , "" , "" },
{stick, "" ,steel_wire},
{ "" , "" , "" }
}
})
-- Incandescent Light Bulb
minetest.register_craft({
output = "elepower_lighting:bulb_incandescent",
recipe = {
{ "" , "elepower_lighting:bulb_glass" , "" },
{ "" , "elepower_lighting:incandescent_bulb_element" , "" },
{ "" , steel_strip , "" }
}
})
-- CCF Bulb Glass
minetest.register_craft({
output = "elepower_lighting:cf_bulb_glass 10",
recipe = {
{glass,glass,glass},
{glass, "" ,glass},
{glass, "" ,glass}
}
})
-- CCF Light Bulb
minetest.register_craft({
output = "elepower_lighting:bulb_cf",
recipe = {
{ "elepower_lighting:cf_bulb_glass", "" , "elepower_lighting:cf_bulb_glass" },
{ "" ,mese_dust , "" },
{ "" ,steel_strip, "" }
}
})
-- Fluro Light Bank Glass
minetest.register_craft({
output = "elepower_lighting:fluro_tube_glass 6",
recipe = {
{glass,"",glass},
{glass,"",glass},
{glass,"",glass}
}
})
-- Fluro Light Bank
minetest.register_craft({
output = "elepower_lighting:fluro_light_bank",
recipe = {
{ "","elepower_lighting:fluro_tube_glass","elepower_lighting:fluro_tube_glass" },
{ "",mese_dust , mese_dust },
{ "","elepower_dynamics:steel_plate" , steel_strip }
}
})
-- Light Emitting Diode cluster
minetest.register_craft({
output = "elepower_lighting:led_cluster",
recipe = {
{ "" , glass_slab , "" },
{ "elepower_lighting:led_red","elepower_lighting:led_green","elepower_lighting:led_blue"},
{ "" , plastic_strip , "" }
}
})
-- LED Light Bulb
minetest.register_craft({
output = "elepower_lighting:bulb_led",
recipe = {
{ "" ,"elepower_lighting:bulb_glass", "" },
{"elepower_lighting:led_cluster","elepower_lighting:led_driver","elepower_lighting:led_cluster"},
{ "" , steel_strip , "" }
}
})
-- LED Light Panel 1x1
minetest.register_craft({
output = "elepower_lighting:led_light_panel",
recipe = {
{ "" , glass_slab , "" },
{"elepower_lighting:led_cluster","elepower_lighting:led_driver","elepower_lighting:led_cluster"},
{ "" , plastic_sheet , "" }
}
})
-- LED Light Panel 1x3
minetest.register_craft({
output = "elepower_lighting:led_1x3_light_panel",
recipe = {
{ "" ,"", "" },
{"elepower_lighting:led_light_panel","elepower_lighting:led_light_panel","elepower_lighting:led_light_panel"},
{ "" ,"", "" }
}
})
-- LED Light Panel 2x3
minetest.register_craft({
output = "elepower_lighting:led_2x3_light_panel",
recipe = {
{"elepower_lighting:led_light_panel","elepower_lighting:led_light_panel","elepower_lighting:led_light_panel"},
{"elepower_lighting:led_light_panel","elepower_lighting:led_light_panel","elepower_lighting:led_light_panel"},
{ "" ,"", "" }
}
})
-- Lens
minetest.register_craft({
output = "elepower_lighting:magnifying_lens 5",
recipe = {
{ "" ,glass_slab , "" },
{glass_slab ,glass_slab ,glass_slab },
{ "" ,glass_slab , "" }
}
})
-- Flood Light - Incandescent
minetest.register_craft({
output = "elepower_lighting:incandescent_floodlight_xp0_yp0",
recipe = {
{ "" ,"elepower_dynamics:steel_plate", "" },
{"elepower_lighting:magnifying_lens","elepower_lighting:bulb_incandescent","elepower_lighting:bulb_incandescent"},
{ "" ,"elepower_dynamics:steel_plate", "" }
}
})
-- Flood Light - CCF
minetest.register_craft({
output = "elepower_lighting:cf_floodlight_xp0_yp0",
recipe = {
{ "" ,"elepower_dynamics:steel_plate", "" },
{"elepower_lighting:magnifying_lens","elepower_lighting:bulb_cf","elepower_lighting:bulb_cf"},
{ "" ,"elepower_dynamics:steel_plate", "" }
}
})
-- Flood Light - LED
minetest.register_craft({
output = "elepower_lighting:led_floodlight_xp0_yp0",
recipe = {
{ "" ,"elepower_dynamics:steel_plate", "" },
{"elepower_lighting:magnifying_lens","elepower_lighting:bulb_led","elepower_lighting:bulb_led"},
{ "" ,"elepower_dynamics:steel_plate", "" }
}
})

View File

@ -0,0 +1,67 @@
------------------------------------------------------
-- ___ _ --
-- | __| |___ _ __ _____ __ _____ _ _ --
-- | _|| / -_) '_ \/ _ \ V V / -_) '_| --
-- |___|_\___| .__/\___/\_/\_/\___|_| --
-- _ _ |_| _ _ _ --
-- | | (_)__ _| |_| |_(_)_ _ __ _ --
-- | |__| / _` | ' \ _| | ' \/ _` | --
-- |____|_\__, |_||_\__|_|_||_\__, | --
-- |___/ |___/ --
------------------------------------------------------
-- Crafting Shades --
------------------------------------------------------
local stick = "default:stick"
local paper = "default:paper"
local paper_red = "elepower_lighting:paper_red"
local paper_blue = "elepower_lighting:paper_blue"
local colors = {["default:paper"] = "",["elepower_lighting:paper_red"] = "_red",["elepower_lighting:paper_blue"] = "_blue"}
for paper,color in pairs(colors) do
minetest.register_craft({
output = "elepower_lighting:decor_shade"..color.."_1 2",
recipe = {
{stick,paper,stick},
{paper,stick,paper},
{stick,paper,stick}
}
})
minetest.register_craft({
output = "elepower_lighting:decor_shade"..color.."_2 2",
recipe = {
{stick,paper,stick},
{stick,paper,stick},
{stick,paper,stick}
}
})
minetest.register_craft({
output = "elepower_lighting:decor_shade"..color.."_3 2",
recipe = {
{stick,paper,stick},
{stick,stick,stick},
{stick,paper,stick}
}
})
minetest.register_craft({
output = "elepower_lighting:decor_shade"..color.."_4 2",
recipe = {
{stick,stick,stick},
{stick,paper,stick},
{stick,stick,stick}
}
})
minetest.register_craft({
output = "elepower_lighting:decor_shade"..color.."_5 2",
recipe = {
{paper,stick,paper},
{stick,paper,stick},
{paper,stick,paper}
}
})
end

View File

@ -0,0 +1,82 @@
------------------------------------------------------
-- ___ _ --
-- | __| |___ _ __ _____ __ _____ _ _ --
-- | _|| / -_) '_ \/ _ \ V V / -_) '_| --
-- |___|_\___| .__/\___/\_/\_/\___|_| --
-- _ _ |_| _ _ _ --
-- | | (_)__ _| |_| |_(_)_ _ __ _ --
-- | |__| / _` | ' \ _| | ' \/ _` | --
-- |____|_\__, |_||_\__|_|_||_\__, | --
-- |___/ |___/ --
------------------------------------------------------
-- Craft Items --
------------------------------------------------------
minetest.register_craftitem("elepower_lighting:bulb_glass", {
description = "Bulb Glass",
inventory_image = "elepower_lighting_incandescent_bulb_glass.png",
groups = {oddly_breakable_by_hand = 1}
})
minetest.register_craftitem("elepower_lighting:incandescent_bulb_element", {
description = "Incandescent Bulb Element",
inventory_image = "elepower_lighting_incandescent_bulb_element.png",
groups = {oddly_breakable_by_hand = 1}
})
minetest.register_craftitem("elepower_lighting:cf_bulb_glass", {
description = "CF Bulb Glass",
inventory_image = "elepower_lighting_cf_bulb_glass.png",
groups = {oddly_breakable_by_hand = 1}
})
minetest.register_craftitem("elepower_lighting:magnifying_lens", {
description = "Magnifying Lens",
inventory_image = "elepower_lighting_magnifying_lens.png",
groups = {oddly_breakable_by_hand = 1}
})
minetest.register_craftitem("elepower_lighting:fluro_tube_glass", {
description = "Fluro Tube Glass",
inventory_image = "elepower_lighting_fluro_tube_glass.png",
groups = {oddly_breakable_by_hand = 1}
})
minetest.register_craftitem("elepower_lighting:electrum_strip", {
description = "Electrum Strip",
inventory_image = "elepower_bm_strip.png^[multiply:#ebeb90",
groups = {strip = 1}
})
minetest.register_craftitem("elepower_lighting:led_red", {
description = "Red Light Emitting Diode",
inventory_image = "elepower_lighting_light_emitting_diode_single.png^[multiply:#FF0000"..
"^[lowpart:31:elepower_lighting_light_emitting_diode_single.png",
groups = {oddly_breakable_by_hand = 1, led = 1}
})
minetest.register_craftitem("elepower_lighting:led_green", {
description = "Green Light Emitting Diode",
inventory_image = "elepower_lighting_light_emitting_diode_single.png^[multiply:#00FF00"..
"^[lowpart:31:elepower_lighting_light_emitting_diode_single.png",
groups = {oddly_breakable_by_hand = 1, led = 1}
})
minetest.register_craftitem("elepower_lighting:led_blue", {
description = "Blue Light Emitting Diode",
inventory_image = "elepower_lighting_light_emitting_diode_single.png^[multiply:#0000FF"..
"^[lowpart:31:elepower_lighting_light_emitting_diode_single.png",
groups = {oddly_breakable_by_hand = 1, led = 1}
})
minetest.register_craftitem("elepower_lighting:led_cluster", {
description = "Light Emitting Diode Cluster",
inventory_image = "elepower_lighting_light_emitting_diode_cluster.png",
groups = {oddly_breakable_by_hand = 1, led = 1}
})
minetest.register_craftitem("elepower_lighting:led_driver", {
description = "LED Driver Board",
inventory_image = "elepower_lighting_light_emitting_diode_driver.png",
groups = {oddly_breakable_by_hand = 1}
})

View File

@ -0,0 +1,916 @@
------------------------------------------------------
-- ___ _ --
-- | __| |___ _ __ _____ __ _____ _ _ --
-- | _|| / -_) '_ \/ _ \ V V / -_) '_| --
-- |___|_\___| .__/\___/\_/\_/\___|_| --
-- _ _ |_| _ _ _ --
-- | | (_)__ _| |_| |_(_)_ _ __ _ --
-- | |__| / _` | ' \ _| | ' \/ _` | --
-- |____|_\__, |_||_\__|_|_||_\__, | --
-- |___/ |___/ --
------------------------------------------------------
-- Functions --
------------------------------------------------------
-------------------------------------------
-- Floodlight Formspec --
-------------------------------------------
local function get_formspec_flood(power,tilt,rotate)
local rotate = rotate or 0
local tilt = tilt or 0
local per_rot = (math.abs(rotate)/45)*100
local percent = (math.abs(tilt)/20)*100
local final ="size[8,3]"..
ele.formspec.power_meter(power)..
-- rotate
"image[3.5,0.25;2.8,1;elepower_gui_barbg.png^[transformR90]"..
"image[4.43,2.4;0.5,0.5;elepower_lighting_flood_arrow_icon.png^[transformR90]"..
"tooltip[3.5,1.45;2.25,0.4;"..rotate.." Degrees;#30434c;#f9f9f9]"..
--"button[5.15,1.45;0.75,0.75;rot;+]"..
--"tooltip[5.15,1.45;0.75,0.75;+1 Degrees;#30434c;#f9f9f9]"..
--"button[4.35,1.45;0.75,0.75;rot;0]"..
--"tooltip[4.35,1.45;0.75,0.75;Reset;#30434c;#f9f9f9]"..
--"button[3.5,1.45;0.75,0.75;rot;-]"..
--"tooltip[3.5,1.45;0.75,0.75;-1 Degrees;#30434c;#f9f9f9]"..
--"image[3.5,0.25;2.8,1;elepower_lighting_flood_tilt_gauge.png^[transformR90]"..
"scrollbaroptions[min=-45;max=45;smallstep=1;largestep=5;arrows=show]"..
"scrollbar[3.5,1.45;2.25,0.45;horizontal;rot;"..rotate.."]"..
"scrollbaroptions[min=-20;max=20;smallstep=1;largestep=5;arrows=show]"..
"scrollbar[7.25,0;0.4,2.4;vertical;tilt;"..(tilt).."]"..
-- tilt
"image[6.25,0;1,2.8;elepower_gui_barbg.png]"..
"image[6.5,2.45;0.5,0.5;elepower_lighting_flood_arrow_icon.png]"..
"tooltip[7.25,0;1,2.6;"..(tilt).." Degrees;#30434c;#f9f9f9]"
--"button[7.25,0.05;0.75,0.75;tilt;+]"..
--"tooltip[7.25,0.05;0.75,0.75;+1 Degrees;#30434c;#f9f9f9]"..
--"button[7.25,.9;0.75,0.75;tilt;0]"..
--"tooltip[7.25,.9;0.75,0.75;Reset;#30434c;#f9f9f9]"..
--"button[7.25,1.75;0.75,0.75;tilt;-]"..
--"tooltip[7.25,1.75;0.75,0.75;-1 Degrees;#30434c;#f9f9f9]"
if rotate > 0 then
final = final.."image[4.62,0.25;1.4,1;elepower_gui_barbg.png^[lowpart:"..per_rot..":elepower_gui_bar.png^[transformR270]"
elseif rotate < 0 then
final = final.."image[3.5,0.25;1.4,1;elepower_gui_barbg.png^[lowpart:"..per_rot..":elepower_gui_bar.png^[transformR90]"
end
if tilt < 0 then
final = final.."image[6.25,0;1,1.4;elepower_gui_barbg.png^[lowpart:"..percent..":elepower_gui_bar.png]"
elseif tilt > 0 then
final = final.."image[6.25,1.22;1,1.4;elepower_gui_barbg.png^[lowpart:"..percent..":elepower_gui_bar.png^[transformR180]"
end
final = final.."image[3.5,0.25;2.8,1;elepower_lighting_flood_rotate_gauge.png^[transformR90]"
final = final.."image[6.25,0;1,2.8;elepower_lighting_flood_tilt_gauge.png]"
return final
end
-- register flood on_recieve fields
function elepower_lighting.flood_on_recieve_fields(pos, formname, fields, player)
local meta = minetest.get_meta(pos)
if fields.quit then
return
end
if fields.rot then
local split = string.split(fields.rot, ":")
local new_rot = tonumber(split[2])
meta:set_int("rotate",new_rot)
if meta:get_int("on_off") == 1 then
elepower_lighting.remove_flood_light_fill(pos)
elepower_lighting.add_flood_light_fill(pos)
end
end
if fields.tilt then
local split = string.split(fields.tilt, ":")
local new_tilt = tonumber(split[2])
meta:set_int("tilt", new_tilt)
if meta:get_int("on_off") == 1 then
elepower_lighting.remove_flood_light_fill(pos)
elepower_lighting.add_flood_light_fill(pos)
end
end
--minetest.debug(dump(fields))
end
-------------------------------------------
-- Converts node param2 into a primary --
-- axis and the secondary axis, needed --
-- to workout and place light_fill --
-------------------------------------------
function elepower_lighting.p2_to_axis(node_param2)
-- first_key = primary axis, num_key = param2, value = secondary axis/+-
local p2_conv_table = {x = {[0]="z:+1",[2]="z:-1", [4]="y:-1", [6]="y:+1", [8]="y:+1",[10]="y:-1",[20]="z:+1",[22]="z:-1"},
y = {[5]="x:+1",[7]="x:-1", [9]="x:+1",[11]="x:-1",[12]="z:+1",[14]="z:-1",[16]="z:+1",[18]="z:-1"},
z = {[1]="x:+1",[3]="x:-1",[13]="y:-1",[15]="y:+1",[17]="y:+1",[19]="y:-1",[21]="x:-1",[23]="x:+1"}}
local light_strip_axis
for xyz,all_p2 in pairs(p2_conv_table) do
for p2,sec_axis in pairs(all_p2) do
if node_param2 == p2 then
local second_axis_v = string.split(sec_axis, ":")
light_strip_axis = {[xyz] = 1,[second_axis_v[1].."s"] = tonumber(second_axis_v[2])}
break
end
end
end
return light_strip_axis
end
---------------------------------------------
-- Simply adds or removes light_fill --
---------------------------------------------
function elepower_lighting.add_remove_light_fill(pos,light_strip_axis,light_shape,add_remove)
local x = light_strip_axis.x or 0
local y = light_strip_axis.y or 0
local z = light_strip_axis.z or 0
local xs = light_strip_axis.xs or 0
local ys = light_strip_axis.ys or 0
local zs = light_strip_axis.zs or 0
local mt_add_remove = minetest.remove_node
local node_name = "elepower_lighting:light_fill"
local add_node
-- used for adding/setting nodes
if add_remove == 1 then
mt_add_remove = minetest.set_node
node_name = "air"
add_node = {name = "elepower_lighting:light_fill"}
end
if light_shape == "3x1" then
local pos_p = {x=pos.x+x, y=pos.y+y, z=pos.z+z}
local pos_n = {x=pos.x-x, y=pos.y-y, z=pos.z-z}
local poses = {pos_p,pos_n}
for k,p in pairs(poses) do
if minetest.get_node(p).name == node_name then
mt_add_remove(p,add_node)
end
end
elseif light_shape == "3x2" then
local pos_p = {x=pos.x+x, y=pos.y+y, z=pos.z+z}
local pos_n = {x=pos.x-x, y=pos.y-y, z=pos.z-z}
local pos_ps = {x=pos.x+x+xs, y=pos.y+y+ys, z=pos.z+z+zs}
local pos_cs = {x=pos.x+xs, y=pos.y+ys, z=pos.z+zs}
local pos_ns = {x=pos.x-x+xs, y=pos.y-y+ys, z=pos.z-z+zs}
local poses = {pos_p,pos_n,pos_ps,pos_cs,pos_ns}
for k,p in pairs(poses) do
if minetest.get_node(p).name == node_name then
mt_add_remove(p,add_node)
end
end
end
end
---------------------------------------------
-- Add Flood Light Light nodes --
---------------------------------------------
function elepower_lighting.add_flood_light_fill(pos)
local meta = minetest.get_meta(pos)
local node_p2 = minetest.get_node(pos).param2
local rel_x_y
--1st axis = face dir, 2nd axis = relative vertical(tilt)
local face_dir = {["z:+1"] = {[0]="y:+1",[12]="x:+1",[16]="x:-1",[20]="y:-1"}, -- North
["x:+1"] = {[1]="y:+1", [5]="z:+1", [9]="z:-1",[23]="y:-1"}, -- East
["z:-1"] = {[2]="y:+1",[14]="x:+1",[18]="x:-1",[22]="y:-1"}, -- South
["x:-1"] = {[3]="y:+1", [7]="z:-1",[11]="z:-1",[21]="y:-1"}, -- West
["y:+1"] = {[6]="z:+1", [8]="z:-1",[15]="x:+1",[17]="x:-1"}, -- Up
["y:-1"] = {[4]="z:+1",[10]="z:-1",[13]="x:+1",[19]="x:-1"}} -- Down
-- Rotation reference table
local rot_dir = {[0] = {x = "x",x_v = "+1",y = "z",y_v = "+1", z="y"},
[1] = {x = "z",x_v = "-1",y = "x",y_v = "+1", z="y"},
[2] = {x = "x",x_v = "-1",y = "z",y_v = "-1", z="y"},
[3] = {x = "z",x_v = "+1",y = "x",y_v = "-1", z="y"},
[4] = {x = "x",x_v = "+1",y = "y",y_v = "-1",z="z"},
[5] = {x = "y",x_v = "+1",y = "x",y_v = "+1",z="z"},
[6] = {x = "x",x_v = "-1",y = "y",y_v = "+1",z="z"},
[7] = {x = "y",x_v = "-1",y = "x",y_v = "-1",z="z"},
[8] = {x = "x",x_v = "+1",y = "y",y_v = "+1",z="z"},
[9] = {x = "y",x_v = "-1",y = "x",y_v = "+1",z="z"},
[10] = {x = "x",x_v = "-1",y = "y",y_v = "-1",z="z"},
[11] = {x = "y",x_v = "+1",y = "x",y_v = "-1",z="z"},
[12] = {x = "y",x_v = "-1",y = "z",y_v = "+1",z="x"},
[13] = {x = "z",x_v = "-1",y = "y",y_v = "-1",z="x"},
[14] = {x = "y",x_v = "+1",y = "z",y_v = "-1",z="x"},
[15] = {x = "z",x_v = "+1",y = "y",y_v = "+1",z="x"},
[16] = {x = "y",x_v = "+1",y = "z",y_v = "+1",z="x"},
[17] = {x = "z",x_v = "-1",y = "y",y_v = "+1",z="x"},
[18] = {x = "y",x_v = "-1",y = "z",y_v = "-1",z="x"},
[19] = {x = "z",x_v = "+1",y = "y",y_v = "-1",z="x"},
[20] = {x = "x",x_v = "+1",y = "z",y_v = "+1", z="y"},
[21] = {x = "z",x_v = "+1",y = "x",y_v = "-1", z="y"},
[22] = {x = "x",x_v = "-1",y = "z",y_v = "-1", z="y"},
[23] = {x = "z",x_v = "-1",y = "x",y_v = "+1", z="y"},
}
for axis,p2s in pairs(face_dir) do
for p2,rel_vert in pairs(p2s) do
if node_p2 == p2 then
local sep_rel_x_axis = string.split(axis,":")
local sep_rel_y_axis = string.split(rel_vert,":")
rel_x_y = {[sep_rel_x_axis[1].."x"] = sep_rel_x_axis[2],
[sep_rel_y_axis[1].."y"] = sep_rel_y_axis[2],
[sep_rel_y_axis[1].."z"] = sep_rel_y_axis[4],
x = sep_rel_x_axis[1],
x_val = sep_rel_x_axis[2],
y = sep_rel_y_axis[1],
y_val = sep_rel_y_axis[2]
}
rot_x_y = rot_dir[node_p2]
end
end
end
local light_range = 30
local tilt_angle = meta:get_int("tilt")
local rot_angle = meta:get_int("rotate")
local angle = 90 - rot_angle
-- Start of Raycast Calculations --
-- work out rotation find pt on circle - x = cx + r * cos(a) // y = cy + r * sin(a)
-- eg x = rel-x-origin + (light_range*cos((90-rot_angle)*radians)
local x_rel = pos[rot_x_y.x] + (math.floor((30*math.cos(angle*0.0174533))))*tonumber(rot_x_y.x_v)
local y_rel = pos[rot_x_y.y] + (math.floor((30*math.sin(angle*0.0174533))))*tonumber(rot_x_y.y_v)
local pos_rot = {[rot_x_y.x] = x_rel,[rot_x_y.y] = y_rel, [rot_x_y.z] = pos[rot_x_y.z]}
-- work out gradient from angle (math.tan needs radians=degrees*0.0174533...)
local grad = math.tan(tilt_angle*0.0174533)
local y_end = math.floor(light_range*grad)
local xx = (rel_x_y.xx or 0)*light_range
local yx = (rel_x_y.yx or 0)*light_range
local zx = (rel_x_y.zx or 0)*light_range
local xy = (rel_x_y.xy or 0)*y_end
local yy = (rel_x_y.yy or 0)*y_end
local zy = (rel_x_y.zy or 0)*y_end
-- pos_s (start) simply add relative x
local pos_s = {x=pos.x+(xx/light_range),y=pos.y+(yx/light_range),z=pos.z+(zx/light_range)}
-- pos_e (end) add both relative x and relative y
local pos_e = {x=pos_rot.x+xx+xy,y=pos_rot.y+yx+yy,z=pos_rot.z+zx+zy}
meta:set_string("flood_light_pos_s", minetest.serialize(pos_s))
meta:set_string("flood_light_pos_e", minetest.serialize(pos_e))
local ray = minetest.raycast(pos_s,pos_e,false,true)
local ray_next = ray:next()
local end_pos
while ray_next do
local name = minetest.get_node(ray_next.under).name
local node_draw = minetest.registered_items[name].drawtype
if node_draw ~= "plantlike" and
node_draw ~= "firelike" and
node_draw ~= "raillike" and
node_draw ~= "torchlike" and
node_draw ~= "signlike" and
name ~= "elepower_lighting:light_fill" then
local e_pos = ray_next.under
meta:set_string("flood_light_end", minetest.serialize(e_pos))
end_pos = {x=e_pos.x-(xx/light_range),y=e_pos.y-(yx/light_range),z=e_pos.z-(zx/light_range)}
break
end
ray_next = ray:next()
end
local tot = 30
if end_pos then
tot = math.abs(end_pos[rel_x_y.x] - pos[rel_x_y.x])
end
-- Start of light fill calculations
local flood_fill_pos = {}
for i = 1,tot,1 do
local new_pos = table.copy(pos)
-- calculate rotation position
local x_rel = new_pos[rot_x_y.x] + ((math.floor((i*math.cos(angle*0.0174533))))*tonumber(rot_x_y.x_v)) + 1*tonumber(rot_x_y.x_v) -- last + removes offset from carrier "1"
local y_rel = new_pos[rot_x_y.y] + (math.floor((i*math.sin(angle*0.0174533))))*tonumber(rot_x_y.y_v)
local pos_rot = {[rot_x_y.x] = x_rel,[rot_x_y.y] = y_rel, [rot_x_y.z] = new_pos[rot_x_y.z]}
-- adjust for tilt
pos_rot[rel_x_y.x] = (pos_rot[rel_x_y.x] + (1*rel_x_y.x_val)) -- relative X axis
pos_rot[rel_x_y.y] = (pos_rot[rel_x_y.y] + math.ceil((i*rel_x_y.y_val)*grad)) -- relative Y axis
--new_pos.x = new_pos.x+(math.floor(0.85*i))
if minetest.get_node(pos_rot).name == "air" or
minetest.get_node(pos_rot).name == "elepower_lighting:light_fill" then
table.insert(flood_fill_pos,pos_rot)
minetest.set_node(pos_rot,{name = "elepower_lighting:light_fill"})
--minetest.debug(rot_x_y.y..":".. rot_x_y.y_v)
end
end
meta:set_string("flood_fill_pos", minetest.serialize(flood_fill_pos))
end
---------------------------------------------
-- Removes Flood Light Light nodes --
---------------------------------------------
function elepower_lighting.remove_flood_light_fill(pos)
local meta = minetest.get_meta(pos)
local flood_fill_pos = minetest.deserialize(meta:get_string("flood_fill_pos"))
if type(flood_fill_pos) == "table" then
meta:set_string("flood_light_pos_s","")
meta:set_string("flood_light_pos_e","")
meta:set_string("flood_light_end","")
for k,pos in pairs(flood_fill_pos) do
if minetest.get_node(pos).name == "elepower_lighting:light_fill" then
minetest.remove_node(pos)
end
end
end
end
-------------------------------------------
-- A rotate and place that allows lights --
-- to mount into wall sockets --
-- thanks mt forums for below soln idea --
-------------------------------------------
function elepower_lighting.rot_and_place(itemstack, placer, pointed_thing)
local p0 = pointed_thing.under
local p1 = pointed_thing.above
local param2 = 0
if placer then
local placer_pos = placer:get_pos()
if placer_pos then
param2 = minetest.dir_to_facedir(vector.subtract(p1, placer_pos))
end
if p0.x<p1.x then -- -X
param2 = 12 + param2
elseif p0.x>p1.x then -- +X
param2 = 16 + param2
elseif p0.z<p1.z then -- +Z
param2 = 4 + param2
elseif p0.z>p1.z then -- -Z
param2 = 8 + param2
elseif p0.y<p1.y then -- +Y
param2 = param2
elseif p0.y>p1.y then -- -Y
param2 = 20 + param2
end
end
return minetest.item_place(itemstack, placer, pointed_thing, param2)
end
------------------------------------
-- Main Lighting timer, what uses --
-- EpU's and allows lights to be --
-- switched on and off --
------------------------------------
function elepower_lighting.light_timer(pos)
local meta = minetest.get_meta(pos)
local on_off = meta:get_int("on_off")
local reg_name = minetest.get_node(pos).name
local node_p2 = minetest.get_node(pos).param2
local name = minetest.registered_items[minetest.get_node(pos).name].description
local light_shape = minetest.registered_items[minetest.get_node(pos).name].ele_light_shape or nil
local capacity = ele.helpers.get_node_property(meta, pos, "capacity")
local storage = ele.helpers.get_node_property(meta, pos, "storage")
local usage = ele.helpers.get_node_property(meta, pos, "usage")
local pow_percent = {capacity = capacity, storage = storage, usage = usage}
local light_strip_axis
local flood_light_change = false
if light_shape ~= "flood" then
light_strip_axis = elepower_lighting.p2_to_axis(node_p2)
elseif light_shape == "flood" then
-- need an overide in the event a wall/tree etc is built infront of an "on" flood light beam
local flood_light_end = minetest.deserialize(meta:get_string("flood_light_end"))
local pos_s = minetest.deserialize(meta:get_string("flood_light_pos_s"))
local pos_e = minetest.deserialize(meta:get_string("flood_light_pos_e"))
local e_pos
if light_shape == "flood" then
-- change floodlight node for angled/tilted version
local tilt = meta:get_int("tilt") or 0
local rotate = meta:get_int("rotate") or 0
local rpn = "p"
local tpn = "p"
local new_name
if rotate < 0 then
if rotate < -10 then
rpn = "n"
end
rotate = rotate*-1
end
if tilt < 0 then
if tilt < -5 then
tpn = "n"
end
tilt = tilt*-1
end
if rotate > 10 then
rotate = 45
else
rotate = 0
end
if tilt > 5 then
tilt = 20
else
tilt = 0
end
if not string.find(reg_name, "active") then
new_name = "elepower_lighting:incandescent_floodlight_x"..rpn..rotate.."_y"..tpn..tilt
else
new_name = "elepower_lighting:incandescent_floodlight_x"..rpn..rotate.."_y"..tpn..tilt.."_active"
end
if new_name ~= reg_name then
ele.helpers.swap_node(pos, new_name)
end
end
if pos_s then
local ray = minetest.raycast(pos_s,pos_e,false,true)
local ray_next = ray:next()
while ray_next do
local name = minetest.get_node(ray_next.under).name
local node_draw = minetest.registered_items[name].drawtype
if node_draw ~= "plantlike" and
node_draw ~= "firelike" and
node_draw ~= "raillike" and
node_draw ~= "torchlike" and
node_draw ~= "signlike" and
name ~= "elepower_lighting:light_fill" then
e_pos = ray_next.under
break
end
ray_next = ray:next()
end
if minetest.serialize(e_pos) ~= minetest.serialize(flood_light_end) then
flood_light_change = true
end
end
end
if (storage >= usage and on_off == 1) then
if not string.find(reg_name, "active") or flood_light_change == true then
if flood_light_change == false then
ele.helpers.swap_node(pos, reg_name.."_active")
elseif flood_light_change == true then
elepower_lighting.remove_flood_light_fill(pos)
end
if light_shape == "flood" then
elepower_lighting.add_flood_light_fill(pos)
elseif light_shape then
elepower_lighting.add_remove_light_fill(pos,light_strip_axis,light_shape,1)
end
end
pow_percent.storage = pow_percent.storage - usage
storage = pow_percent.storage
meta:set_int("storage", pow_percent.storage)
else
if string.find(reg_name, "active") then
local name = string.sub(reg_name, 1, -8)
ele.helpers.swap_node(pos, name)
if light_shape then
if light_shape == "flood" then
elepower_lighting.remove_flood_light_fill(pos)
elseif light_shape then
elepower_lighting.add_remove_light_fill(pos,light_strip_axis,light_shape)
end
end
end
end
meta:set_string("infotext", name .. "\n" .. ele.capacity_text(capacity, storage))
if light_shape == "flood" then
local tilt = meta:get_int("tilt") or 0
local rotate = meta:get_int("rotate") or 0
meta:set_string("formspec", get_formspec_flood(pow_percent,tilt,rotate))
end
return true
end
---------------------------------------------
-- Main Colored Lighting timer, what uses --
-- EpU's and allows lights to be switched --
-- on and off --
---------------------------------------------
elepower_lighting.colors = {{"#ff0500", "Red"},
{"#ff3500", "Dark Orange"},
{"#ff6300", "Orange"},
{"#ff9100", "Light Orange"},
{"#ffc000", "Golden"},
{"#ffef00", "Yellow"},
{"#e1ff00", "Lemon Lime"},
{"#b3ff00", "Lime"},
{"#84ff00", "Lawn Green"},
{"#56ff00", "Bright Green"},
{"#00ff36", "Green"},
{"#00ff65", "Spring Green"},
{"#00ff93", "Sea Green"},
{"#00ffc2", "Aqua"},
{"#00fff0", "Turquoise Blue"},
{"#00dfff", "Sky Blue"},
{"#00b1ff", "Vivid Blue"},
{"#0082ff", "Azure"},
{"#0053ff", "Blue"},
{"#0024ff", "Blue Bonnet"},
{"#0900ff", "Dark Blue"},
{"#3800ff", "Blue Purple"},
{"#6700ff", "Indigo"},
{"#9500ff", "Violet"},
{"#c400ff", "Orchid"},
{"#f200ff", "Magenta"},
{"#ff00dd", "Hot Pink"},
{"#ff00af", "Shocking Pink"},
{"#ff0080", "Pink"},
{"#ff0051", "Apple Red"},
{"#ffffff", "White"},
{"#000000", "Black"}
}
local function get_formspec_panel_color(power,color_mode,color_sync)
local color_m = color_mode
local color_s = color_sync
if tonumber(color_m) then
color_m = "Single Color-"..elepower_lighting.colors[(color_m/8)][2]
else
color_m = color_m:gsub("^%l", string.upper)
end
local final ="size[8,3]"..
"container[0,0.1]"..
ele.formspec.power_meter(power)..
"container_end[]"..
"label[1,-0.05;Current Selection: "..color_m.."]"..
"checkbox[6,-0.25;sync;Synchronize;"..color_s.."]"..
"image_button[1,0.4;2,0.75;elepower_lighting_gui_rainbow_button.png;r_color;Rainbow;false;true;elepower_lighting_gui_rainbow_button.png^[opacity:127]"..
"image_button[1,1.1;2,0.75;elepower_lighting_gui_strobe_button.png;r_color;Strobe;false;true;elepower_lighting_gui_strobe_button.png^[opacity:127]"..
"image_button[1,1.8;2,0.75;elepower_lighting_gui_blue_button.png;r_color;Blues;false;true;elepower_lighting_gui_blue_button.png^[opacity:127]"..
"image_button[1,2.5;2,0.75;elepower_lighting_gui_red_button.png;r_color;Reds;false;true;elepower_lighting_gui_red_button.png^[opacity:127]"
for k,def in pairs(elepower_lighting.colors) do
local image_end = "elepower_lighting_gui_color_button.png^[multiply:"..
def[1]..";f_color;"..((k)*8)..
";false;true;elepower_lighting_gui_color_button.png^[multiply:"..
def[1].."^[opacity:127]]"
final = final.."style[f_color;font_size=0;textcolor="..def[1].."]"
if k <= 8 then
final = final.."image_button["..(3.0+((k-1)*0.6))..",0.4;0.75,0.75;"..image_end
final = final.."tooltip["..(3.0+((k-1)*0.6))..",0.4;0.55,0.65;"..def[2]..";#30434c;#f9f9f9]"
elseif k > 8 and k < 17 then
final = final.."image_button["..(3.0+((k-9)*0.6))..",1.1;0.75,0.75;"..image_end
final = final.."tooltip["..(3.0+((k-9)*0.6))..",1.1;0.55,0.65;"..def[2]..";#30434c;#f9f9f9]"
elseif k > 16 and k < 25 then
final = final.."image_button["..(3.0+((k-17)*0.6))..",1.8;0.75,0.75;"..image_end
final = final.."tooltip["..(3.0+((k-17)*0.6))..",1.8;0.55,0.65;"..def[2]..";#30434c;#f9f9f9]"
else
final = final.."image_button["..(3.0+((k-25)*0.6))..",2.5;0.75,0.75;"..image_end
final = final.."tooltip["..(3.0+((k-25)*0.6))..",2.5;0.55,0.65;"..def[2]..";#30434c;#f9f9f9]"
end
end
return final
end
-- register color on_recieve fields
function elepower_lighting.color_on_recieve_fields(pos, formname, fields, player)
local meta = minetest.get_meta(pos)
if fields.quit then
return
end
if fields.r_color == "Rainbow" then
meta:set_string("color_mode","rainbow")
elseif fields.r_color == "Strobe" then
meta:set_string("color_mode","strobe")
elseif fields.r_color == "Blues" then
meta:set_string("color_mode","blues")
elseif fields.r_color == "Reds" then
meta:set_string("color_mode","reds")
elseif fields.f_color then
meta:set_string("color_mode",fields.f_color)
elseif fields.sync then
meta:set_string("color_sync",tostring(fields.sync))
end
--minetest.debug(dump(fields))
end
function elepower_lighting.light_timer_colored(pos)
local meta = minetest.get_meta(pos)
local on_off = meta:get_int("on_off")
local cycles = meta:get_int("light_color_count")
local color_mode = meta:get_string("color_mode") or "rainbow"
local color_sync = meta:get_string("color_sync") or "false"
local run_bwd = meta:get_string("run_bwd") or "false"
local node = minetest.get_node(pos)
local name = minetest.registered_items[minetest.get_node(pos).name].description
local reg_name = minetest.get_node(pos).name
local capacity = ele.helpers.get_node_property(meta, pos, "capacity")
local storage = ele.helpers.get_node_property(meta, pos, "storage")
local usage = ele.helpers.get_node_property(meta, pos, "usage")
local pow_percent = {capacity = capacity, storage = storage, usage = usage}
local strobe_ok = true
local is_timer = true
if cycles == 5 then --(1 second)
if (storage >= usage and on_off == 1) then
if not string.find(reg_name, "active") and color_mode ~= "strobe" then
ele.helpers.swap_node(pos, reg_name.."_active")
end
pow_percent.storage = pow_percent.storage - usage
storage = pow_percent.storage
meta:set_int("storage", pow_percent.storage)
else
if string.find(reg_name, "active") then
local name = string.sub(reg_name, 1, -8)
ele.helpers.swap_node(pos, name)
strobe_ok = false
end
end
meta:set_string("formspec", get_formspec_panel_color(pow_percent,color_mode,color_sync))
meta:set_string("infotext", name .. "\n" .. ele.capacity_text(capacity, storage))
cycles = 0
end
node = minetest.get_node(pos)
if string.find(node.name, "active") or strobe_ok then
if color_mode == "rainbow" then
if color_sync == "true" then
local sync_total = 30
local node_plain_p2 = node.param2 % 8
col_seq = math.ceil(sync_total*((((elepower_lighting.timer/0.2))/sync_total)%1))
node.param2 = node_plain_p2 + ((col_seq*8)-8)
minetest.swap_node(pos, node)
else
node.param2 = node.param2+8
if node.param2 >=240 then
node.param2 = (node.param2 % 32)
end
minetest.swap_node(pos, node)
end
elseif color_mode == "blues" or color_mode == "reds" then
local blues_seq_p2 = {120,128,136,144,152,160,168}
local reds_seq_p2 = {200,208,216,224,232,0}
local node_plain_p2 = node.param2 % 8
local cur_color_p2 = math.floor(node.param2/8)*8
local col_seq = 1
local change = 1
local col_seq_p2 = blues_seq_p2
local sync_total = #blues_seq_p2-1
if color_mode == "reds" then
col_seq_p2 = reds_seq_p2
sync_total = #reds_seq_p2-1
end
if color_sync == "true" then
if math.floor(((elepower_lighting.timer/0.2)/sync_total)%2) == 0 then
--minetest.debug("bwd: ".. (sync_total+1)-math.ceil(sync_total*((((elepower_lighting.timer/0.2))/sync_total)%1)))
col_seq = (sync_total+1)-math.ceil(sync_total*((((elepower_lighting.timer/0.2))/sync_total)%1))
change = 0
meta:set_string("run_bwd", "true")
else
--minetest.debug("fwd: ".. 1+math.ceil(sync_total*((((elepower_lighting.timer/0.2))/sync_total)%1)))
col_seq = 1+math.ceil(sync_total*((((elepower_lighting.timer/0.2))/sync_total)%1))
change = 0
meta:set_string("run_bwd", "false")
end
else
for k,v in pairs(col_seq_p2 ) do
if v == cur_color_p2 then
col_seq = k
end
end
if (col_seq == #col_seq_p2 or run_bwd == "true") and col_seq ~= 1 then
meta:set_string("run_bwd", "true")
change = -1
elseif col_seq == 1 then
meta:set_string("run_bwd", "false")
end
end
--minetest.debug(col_seq+change)
node.param2 = col_seq_p2[col_seq+change] + node_plain_p2
minetest.swap_node(pos, node)
elseif color_mode == "strobe" then
if color_sync == "true" then
local col_seq = math.ceil(math.floor((elepower_lighting.timer/0.2)+0.5)%2)
if col_seq == 1 then
if not string.find(reg_name, "active") then
ele.helpers.swap_node(pos, reg_name.."_active")
end
else
if string.find(reg_name, "active") then
local name = string.sub(reg_name, 1, -8)
ele.helpers.swap_node(pos, name)
end
end
else
if string.find(reg_name, "active") then
local name = string.sub(reg_name, 1, -8)
ele.helpers.swap_node(pos, name)
else
ele.helpers.swap_node(pos, reg_name.."_active")
end
end
elseif type(tonumber(color_mode)) == "number" then
local node_plain_p2 = node.param2 % 8
local cur_color_p2 = math.floor(node.param2/8)*8
if color_mode-8 ~= cur_color_p2 then
node.param2 = color_mode-8 + node_plain_p2
minetest.swap_node(pos, node)
end
else
-- catch error state set to white
local node_plain_p2 = node.param2 % 8
node.param2 = node_plain_p2 + 240
minetest.swap_node(pos, node)
end
end
local timer = minetest.get_node_timer(pos)
if timer:get_timeout() ~= 0.2 then
timer:start(0.2)
is_timer = false
end
meta:set_int("light_color_count",cycles+1)
return is_timer
end
elepower_lighting.timer = 0
minetest.register_globalstep(function(dtime)
-- note counter shouldn't cause an issue until uptime exceeds about 7million yrs
elepower_lighting.timer = elepower_lighting.timer + dtime;
end)
-----------------------------------------
-- Lighting simple functions for basic --
-- node functionality --
-----------------------------------------
-- set light on/off by punch
function elepower_lighting.light_punch(pos,player)
local meta = minetest.get_meta(pos)
local on_off = meta:get_int("on_off") or 1
if on_off == 1 then
on_off = 0
else
on_off = 1
end
meta:set_int("on_off",on_off)
end
-- set lights to on when constructed
function elepower_lighting.light_construct(pos)
local meta = minetest.get_meta(pos)
meta:set_int("on_off",1)
local is_colored = minetest.registered_items[minetest.get_node(pos).name].palette or nil
if is_colored then
meta:set_string("color_mode","rainbow")
local timer = minetest.get_node_timer(pos)
timer:start(0.2)
end
end
-- Main place function
function elepower_lighting.light_place(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" then
return itemstack
end
return elepower_lighting.rot_and_place(itemstack, placer, pointed_thing)
end
-- For lights more than 1x1 cleanup light_fill on destruction
function elepower_lighting.light_strip_cleanup(pos)
local node_p2 = minetest.get_node(pos).param2
local light_shape = minetest.registered_items[minetest.get_node(pos).name].ele_light_shape or nil
local light_strip_axis = elepower_lighting.p2_to_axis(node_p2)
if light_shape == "flood" then
elepower_lighting.remove_flood_light_fill(pos)
else
elepower_lighting.add_remove_light_fill(pos,light_strip_axis,light_shape)
end
end

View File

@ -0,0 +1,139 @@
------------------------------------------------------
-- ___ _ --
-- | __| |___ _ __ _____ __ _____ _ _ --
-- | _|| / -_) '_ \/ _ \ V V / -_) '_| --
-- |___|_\___| .__/\___/\_/\_/\___|_| --
-- _ _ |_| _ _ _ --
-- | | (_)__ _| |_| |_(_)_ _ __ _ --
-- | |__| / _` | ' \ _| | ' \/ _` | --
-- |____|_\__, |_||_\__|_|_||_\__, | --
-- |___/ |___/ --
------------------------------------------------------
-- Register Nodes - Flood Lights --
------------------------------------------------------
local flood_light_angles = {
xp0_yp0 = {groups = {cracky = 1, ele_user = 1, ele_lighting = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"},
xp0_yp20 = {groups = {cracky = 1, ele_user = 1, not_in_creative_inventory = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"},
xp0_yn20 = {groups = {cracky = 1, ele_user = 1, not_in_creative_inventory = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"},
xp45_yp0 = {groups = {cracky = 1, ele_user = 1, not_in_creative_inventory = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"},
xp45_yp20 = {groups = {cracky = 1, ele_user = 1, not_in_creative_inventory = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"},
xp45_yn20 = {groups = {cracky = 1, ele_user = 1, not_in_creative_inventory = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"},
xn45_yp0 = {groups = {cracky = 1, ele_user = 1, not_in_creative_inventory = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"},
xn45_yp20 = {groups = {cracky = 1, ele_user = 1, not_in_creative_inventory = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"},
xn45_yn20 = {groups = {cracky = 1, ele_user = 1, not_in_creative_inventory = 1}, drops = "elepower_lighting:incandescent_floodlight_xp0_yp0"}
}
for angle,def in pairs(flood_light_angles) do
ele.register_machine("elepower_lighting:incandescent_floodlight_"..angle, {
description = "Flood Light Incandescent ",
drawtype = "mesh",
mesh = "flood_light_"..angle..".obj",
tiles = {"elepower_lighting_flood_light_off.png"},
inventory_image = "elepower_lighting_flood_light_inv.png",
selection_box = {
type = "fixed",
fixed = {-0.375, -0.5, -0.375, 0.375, 0.313, 0.5}
},
collision_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}
},
ele_active_node = true,
ele_active_nodedef = {
tiles = {"elepower_lighting_flood_light_on.png"},
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
drops = def.drops,
groups = def.groups,
ele_capacity = 64,
ele_usage = 8,
ele_inrush = 8,
ele_light_shape = "flood",
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place,
on_destruct = elepower_lighting.light_strip_cleanup,
on_receive_fields = elepower_lighting.flood_on_recieve_fields
})
end
for angle,def in pairs(flood_light_angles) do
ele.register_machine("elepower_lighting:cf_floodlight_"..angle, {
description = "Flood Light CF",
drawtype = "mesh",
mesh = "flood_light_"..angle..".obj",
tiles = {"elepower_lighting_flood_light_off.png"},
inventory_image = "elepower_lighting_cf_flood_light_inv.png",
selection_box = {
type = "fixed",
fixed = {-0.375, -0.5, -0.375, 0.375, 0.313, 0.5}
},
collision_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}
},
ele_active_node = true,
ele_active_nodedef = {
tiles = {"elepower_lighting_cf_flood_light_on.png"},
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
drops = def.drops,
groups = def.groups,
ele_capacity = 128,
ele_usage = 4,
ele_inrush = 16,
ele_light_shape = "flood",
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place,
on_destruct = elepower_lighting.light_strip_cleanup,
on_receive_fields = elepower_lighting.flood_on_recieve_fields
})
end
for angle,def in pairs(flood_light_angles) do
ele.register_machine("elepower_lighting:led_floodlight_"..angle, {
description = "Flood Light LED",
drawtype = "mesh",
mesh = "flood_light_"..angle..".obj",
tiles = {"elepower_lighting_flood_light_off.png"},
inventory_image = "elepower_lighting_led_flood_light_inv.png",
selection_box = {
type = "fixed",
fixed = {-0.375, -0.5, -0.375, 0.375, 0.313, 0.5}
},
collision_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}
},
ele_active_node = true,
ele_active_nodedef = {
tiles = {"elepower_lighting_flood_light_on.png"},
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
drops = def.drops,
groups = def.groups,
ele_capacity = 192,
ele_usage = 2,
ele_inrush = 16,
ele_light_shape = "flood",
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place,
on_destruct = elepower_lighting.light_strip_cleanup,
on_receive_fields = elepower_lighting.flood_on_recieve_fields
})
end

View File

@ -0,0 +1,407 @@
------------------------------------------------------
-- ___ _ --
-- | __| |___ _ __ _____ __ _____ _ _ --
-- | _|| / -_) '_ \/ _ \ V V / -_) '_| --
-- |___|_\___| .__/\___/\_/\_/\___|_| --
-- _ _ |_| _ _ _ --
-- | | (_)__ _| |_| |_(_)_ _ __ _ --
-- | |__| / _` | ' \ _| | ' \/ _` | --
-- |____|_\__, |_||_\__|_|_||_\__, | --
-- |___/ |___/ --
------------------------------------------------------
-- Register Nodes --
------------------------------------------------------
----------------
-- Light Fill --
----------------
minetest.register_node("elepower_lighting:light_fill", {
description = "Light Fill",
drawtype = "airlike",
paramtype = "light",
--tiles = {"elepower_lighting_light_fill.png"}, -- debugging
sunlight_propagates = true,
walkable = false,
pointable = false,
diggable = true,
climbable = false,
buildable_to = true,
drop = "",
is_ground_content = false,
groups = {not_in_creative_inventory = 1},
light_source = elepower_lighting.maxlight,
})
-------------
-- Conduit --
-------------
ele.register_conduit("elepower_lighting:conduit_iron_thin", {
description = "Conduit Decorative Cast Iron Thin",
tiles = {"elepower_lighting_conduit_iron_thin.png"},
use_texture_alpha = "clip",
ele_conductor_density = 1/8,
groups = {cracky = 2}
})
ele.register_conduit("elepower_lighting:conduit_iron_thick", {
description = "Conduit Decorative Cast Iron Thick",
tiles = {"elepower_lighting_conduit_iron_thick.png"},
use_texture_alpha = "clip",
ele_conductor_density = 2/8,
groups = {cracky = 2}
})
ele.register_conduit("elepower_lighting:conduit_steel_thin", {
description = "Conduit Decorative Steel Thin",
tiles = {"elepower_lighting_conduit_steel_thin.png"},
use_texture_alpha = "clip",
ele_conductor_density = 1/8,
groups = {cracky = 2}
})
ele.register_conduit("elepower_lighting:conduit_steel_thick", {
description = "Conduit Decorative Steel Thick",
tiles = {"elepower_lighting_conduit_steel_thick.png"},
use_texture_alpha = "clip",
ele_conductor_density = 2/8,
groups = {cracky = 2}
})
ele.register_conduit("elepower_lighting:conduit_gold_thin", {
description = "Conduit Decorative Gold Thin",
tiles = {"elepower_lighting_conduit_gold_thin.png"},
use_texture_alpha = "clip",
ele_conductor_density = 1/8,
groups = {cracky = 1}
})
ele.register_conduit("elepower_lighting:conduit_gold_thick", {
description = "Conduit Decorative Gold Thick",
tiles = {"elepower_lighting_conduit_gold_thick.png"},
use_texture_alpha = "clip",
ele_conductor_density = 2/8,
groups = {cracky = 1}
})
ele.register_conduit("elepower_lighting:conduit_wood_thin", {
description = "Conduit Decorative Wood Thin",
tiles = {"elepower_lighting_conduit_wood_thin.png"},
use_texture_alpha = "clip",
ele_conductor_density = 1/8,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
ele.register_conduit("elepower_lighting:conduit_wood_thick", {
description = "Conduit Decorative Wood Thick",
tiles = {"elepower_lighting_conduit_wood_thick.png"},
use_texture_alpha = "clip",
ele_conductor_density = 2/8,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
------------
-- Lights --
------------
ele.register_machine("elepower_lighting:bulb_incandescent", {
description = "Bulb Incandescent",
drawtype = "mesh",
mesh = "incandescent_light_bulb.obj",
tiles = {"elepower_lighting_incandescent_light_off.png"},
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.1875, 0.25}
},
ele_active_node = true,
ele_active_nodedef = {
light_source = elepower_lighting.maxlight,
tiles = {"elepower_lighting_incandescent_light_on.png"}
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 32,
ele_usage = 4,
ele_inrush = 8,
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place
})
ele.register_machine(":elepower_dynamics:uv_bulb", {
description = "UV Bulb Incandescent",
drawtype = "mesh",
mesh = "incandescent_light_bulb.obj",
tiles = {"elepower_lighting_incandescent_uv_light_off.png"},
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.1875, 0.25}
},
ele_active_node = true,
ele_active_nodedef = {
light_source = 7,
tiles = {"elepower_lighting_incandescent_uv_light_on.png"}
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 32,
ele_usage = 4,
ele_inrush = 8,
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place
})
ele.register_machine("elepower_lighting:bulb_cf", {
description = "Bulb Compact Fluro",
drawtype = "mesh",
mesh = "cf_light_bulb.obj",
tiles = {"elepower_lighting_cf_light_off.png"},
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3125, 0.25}
},
ele_active_node = true,
ele_active_nodedef = {
light_source = elepower_lighting.maxlight,
tiles = {"elepower_lighting_cf_light_on.png"}
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 64,
ele_usage = 2,
ele_inrush = 16,
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place
})
ele.register_machine("elepower_lighting:fluro_light_bank", {
description = "Fluro Light Bank",
drawtype = "mesh",
mesh = "fluro_light_bank.obj",
tiles = {"elepower_lighting_fluro_light_bank_off.png"},
inventory_image = "elepower_lighting_fluro_light_bank_inv.png",
selection_box = {
type = "fixed",
fixed = {-1, -0.5, -0.375, 1, -0.125, 0.375}
},
collision_box = {
type = "fixed",
fixed = {-1, -0.5, -0.375, 1, -0.125, 0.375}
},
ele_active_node = true,
ele_active_nodedef = {
light_source = elepower_lighting.maxlight,
tiles = {"elepower_lighting_fluro_light_bank_on.png"}
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 64,
ele_usage = 3,
ele_inrush = 16,
ele_light_shape = "3x1",
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place,
on_destruct = elepower_lighting.light_strip_cleanup
})
ele.register_machine("elepower_lighting:bulb_led", {
description = "Bulb Light-Emitting Diode",
drawtype = "mesh",
mesh = "incandescent_light_bulb.obj",
tiles = {"elepower_lighting_led_light_bulb_off.png"},
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3125, 0.25}
},
ele_active_node = true,
ele_active_nodedef = {
light_source = elepower_lighting.maxlight,
tiles = {"elepower_lighting_led_light_bulb_on.png"}
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 96,
ele_usage = 1,
ele_inrush = 16,
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place
})
ele.register_machine("elepower_lighting:led_light_panel", {
description = "LED Light Panel",
drawtype = "mesh",
mesh = "led_light_panel_1x1.obj",
tiles = {"elepower_lighting_led_light_off.png"},
selection_box = {
type = "fixed",
fixed = {
{-0.5000, -0.5000, -0.5000, 0.5000, -0.2500, 0.5000}
}
},
collision_box = {
type = "fixed",
fixed = {
{-0.5000, -0.5000, -0.5000, 0.5000, -0.2500, 0.5000}
}
},
ele_active_node = true,
ele_active_nodedef = {
light_source = elepower_lighting.maxlight,
tiles = {"elepower_lighting_led_light_on.png"}
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 96,
ele_usage = 1,
ele_inrush = 16,
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place
})
ele.register_machine("elepower_lighting:led_light_panel_colored", {
description = 'LED Light Panel Colored',
drawtype = "mesh",
mesh = "led_light_panel_1x1.obj",
tiles = {"elepower_lighting_led_light_off.png"},
selection_box = {
type = "fixed",
fixed = {
{-0.5000, -0.5000, -0.5000, 0.5000, -0.2500, 0.5000}
}
},
collision_box = {
type = "fixed",
fixed = {
{-0.5000, -0.5000, -0.5000, 0.5000, -0.2500, 0.5000}
}
},
ele_active_node = true,
ele_active_nodedef = {
paramtype2 = 'colorwallmounted',
palette = 'palette_32.png',
light_source = elepower_lighting.maxlight,
tiles = {"elepower_lighting_led_light_on.png"}
},
is_ground_content = false,
paramtype = "light",
sunlight_propagates = true,
paramtype2 = 'wallmounted',
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 96,
ele_usage = 1,
ele_inrush = 16,
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer_colored,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_receive_fields = elepower_lighting.color_on_recieve_fields
--on_place = elepower_lighting.light_place
})
ele.register_machine("elepower_lighting:led_1x3_light_panel", {
description = "LED 1x3 Light Panel",
drawtype = "mesh",
mesh = "led_light_panel_1x3.obj",
tiles = {"elepower_lighting_led_light_1x3_off.png"},
inventory_image = "elepower_lighting_led_light_1x3_inv.png",
selection_box = {
type = "fixed",
fixed = {
{-1.5000, -0.5000, -0.5000, 1.5000, -0.2500, 0.5000}
}
},
collision_box = {
type = "fixed",
fixed = {
{-1.5000, -0.5000, -0.5000, 1.5000, -0.2500, 0.5000}
}
},
ele_active_node = true,
ele_active_nodedef = {
light_source = elepower_lighting.maxlight,
tiles = {"elepower_lighting_led_light_1x3_on.png"}
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 288,
ele_usage = 1,
ele_inrush = 16,
ele_light_shape = "3x1",
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place,
on_destruct = elepower_lighting.light_strip_cleanup
})
ele.register_machine("elepower_lighting:led_2x3_light_panel", {
description = "LED 2x3 Light Panel",
drawtype = "mesh",
mesh = "led_light_panel_2x3.obj",
tiles = {"elepower_lighting_led_light_2x3_off.png"},
inventory_image = "elepower_lighting_led_light_2x3_inv.png",
selection_box = {
type = "fixed",
fixed = {
{-1.5000, -0.5000, -0.5000, 1.5000, -0.2500, 1.5000}
}
},
collision_box = {
type = "fixed",
fixed = {
{-1.5000, -0.5000, -0.5000, 1.5000, -0.2500, 1.5000}
}
},
ele_active_node = true,
ele_active_nodedef = {
light_source = elepower_lighting.maxlight,
tiles = {"elepower_lighting_led_light_2x3_on.png"}
},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 1, ele_user = 1, ele_lighting = 1},
ele_capacity = 576,
ele_usage = 1,
ele_inrush = 16,
ele_light_shape = "3x2",
ele_no_automatic_ports = true,
on_timer = elepower_lighting.light_timer,
on_punch = elepower_lighting.light_punch,
on_construct = elepower_lighting.light_construct,
on_place = elepower_lighting.light_place,
on_destruct = elepower_lighting.light_strip_cleanup
})

View File

@ -0,0 +1,123 @@
------------------------------------------------------
-- ___ _ --
-- | __| |___ _ __ _____ __ _____ _ _ --
-- | _|| / -_) '_ \/ _ \ V V / -_) '_| --
-- |___|_\___| .__/\___/\_/\_/\___|_| --
-- _ _ |_| _ _ _ --
-- | | (_)__ _| |_| |_(_)_ _ __ _ --
-- | |__| / _` | ' \ _| | ' \/ _` | --
-- |____|_\__, |_||_\__|_|_||_\__, | --
-- |___/ |___/ --
------------------------------------------------------
-- Register Nodes Shades --
------------------------------------------------------
local light_shades_signlike = {
"Light Shade Timber Cross",
"Light Shade Timber Stripe",
"Light Shade Timber Decorative Stripe",
"Light Shade Timber Round",
"Light Shade Timber Small Round"
}
for num,name in pairs(light_shades_signlike) do
minetest.register_node("elepower_lighting:decor_shade_"..num, {
description = name,
drawtype = "signlike",
tiles = {"elepower_lighting_decor_surrond_"..num..".png"},
selection_box = {
type = "fixed",
fixed = {
{-0.57, -0.5, -0.57, 0.57, -0.43, 0.57}
}
},
collision_box = {
type = "fixed",
fixed = {
{-0.56, -0.5, -0.56, 0.56, -0.44, 0.56}
}
},
visual_scale = 1.13,
paramtype2 = "wallmounted",
sunlight_propagates = true,
groups = {snappy = 3}
})
end
for num,name in pairs(light_shades_signlike) do
minetest.register_node("elepower_lighting:decor_shade_red_"..num, {
description = name.." Red",
drawtype = "signlike",
tiles = {"elepower_lighting_decor_surrond_red_"..num..".png"},
selection_box = {
type = "fixed",
fixed = {
{-0.57, -0.5, -0.57, 0.57, -0.43, 0.57}
}
},
collision_box = {
type = "fixed",
fixed = {
{-0.56, -0.5, -0.56, 0.56, -0.44, 0.56}
}
},
visual_scale = 1.13,
paramtype2 = "wallmounted",
sunlight_propagates = true,
groups = {snappy = 3}
})
end
for num,name in pairs(light_shades_signlike) do
minetest.register_node("elepower_lighting:decor_shade_blue_"..num, {
description = name.." Blue",
drawtype = "signlike",
tiles = {"elepower_lighting_decor_surrond_blue_"..num..".png"},
selection_box = {
type = "fixed",
fixed = {
{-0.57, -0.5, -0.57, 0.57, -0.43, 0.57}
}
},
collision_box = {
type = "fixed",
fixed = {
{-0.56, -0.5, -0.56, 0.56, -0.44, 0.56}
}
},
visual_scale = 1.13,
paramtype2 = "wallmounted",
sunlight_propagates = true,
groups = {snappy = 3}
})
end
minetest.register_craftitem("elepower_lighting:paper_red", {
description = "Red Paper",
inventory_image = "elepower_lighting_paper_red.png",
groups = {flammable = 3}
})
minetest.register_craftitem("elepower_lighting:paper_blue", {
description = "Blue Paper",
inventory_image = "elepower_lighting_paper_blue.png",
groups = {flammable = 3}
})
minetest.register_craft({
type = "fuel",
recipe = "elepower_lighting:paper_red",
burntime = 1,
})
minetest.register_craft({
type = "fuel",
recipe = "elepower_lighting:paper_blue",
burntime = 1,
})

View File

@ -0,0 +1,31 @@
------------------------------------------------------
-- ___ _ --
-- | __| |___ _ __ _____ __ _____ _ _ --
-- | _|| / -_) '_ \/ _ \ V V / -_) '_| --
-- |___|_\___| .__/\___/\_/\_/\___|_| --
-- _ _ |_| _ _ _ --
-- | | (_)__ _| |_| |_(_)_ _ __ _ --
-- | |__| / _` | ' \ _| | ' \/ _` | --
-- |____|_\__, |_||_\__|_|_||_\__, | --
-- |___/ |___/ --
------------------------------------------------------
-- --
------------------------------------------------------
-- Global variable for mod
elepower_lighting = {}
elepower_lighting.maxlight = 14
-- path, modname and translation
local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
elepower_lighting.S = minetest.get_translator(modname)
local S = elepower_lighting.S
-- includes
dofile(modpath .. "/i_functions.lua")
dofile(modpath .. "/i_register_nodes.lua")
dofile(modpath .. "/i_register_nodes_shades.lua")
dofile(modpath .. "/i_register_flood_lights.lua")
dofile(modpath .. "/i_craftitems.lua")
dofile(modpath .. "/i_crafting.lua")
dofile(modpath .. "/i_crafting_shades.lua")

View File

@ -0,0 +1,4 @@
name = elepower_lighting
description = Elepower Lighting!
depends = elepower_dynamics
optional_depends =

View File

@ -0,0 +1,265 @@
# Blender v2.90.1 OBJ File: 'light_bulb_ccf.blend'
# www.blender.org
mtllib ccf_light_bulb.mtl
o group_20_ID140
v 0.125000 -0.290667 -0.125000
v 0.125000 -0.500000 0.125000
v -0.125000 -0.500000 0.125000
v -0.125000 -0.290667 0.125000
v 0.125000 -0.500000 -0.125000
v -0.125000 -0.500000 -0.125000
v 0.125000 -0.290667 0.125000
v -0.125000 -0.290667 -0.125000
v -0.250000 -0.312500 0.250000
v -0.250000 -0.187500 0.250000
v 0.250000 -0.187500 -0.250000
v -0.250000 -0.187500 -0.250000
v 0.250000 -0.312500 -0.250000
v -0.250000 -0.312500 -0.250000
v 0.250000 -0.312500 0.250000
v 0.250000 -0.187500 0.250000
v -0.031250 -0.187500 0.221344
v -0.031250 0.312500 0.221344
v -0.031250 0.312500 -0.216157
v -0.031250 0.124750 -0.028407
v -0.031250 -0.187500 0.033594
v -0.218750 0.312500 -0.216157
v -0.218750 0.312500 0.221344
v -0.218750 -0.187500 0.033594
v -0.218750 -0.187500 0.221344
v -0.218750 -0.187500 -0.028407
v -0.218750 -0.187500 -0.216157
v -0.031250 -0.187500 -0.028407
v -0.031250 -0.187500 -0.216157
v -0.218750 0.124750 -0.028407
v -0.031250 0.124750 0.033594
v -0.218750 0.124750 0.033594
v 0.218750 -0.187500 0.221344
v 0.218750 0.312500 0.221344
v 0.218750 0.312500 -0.216157
v 0.218750 0.124750 -0.028407
v 0.218750 -0.187500 0.033594
v 0.031250 0.312500 -0.216157
v 0.031250 0.312500 0.221344
v 0.031250 -0.187500 0.033594
v 0.031250 -0.187500 0.221344
v 0.031250 -0.187500 -0.028407
v 0.031250 -0.187500 -0.216157
v 0.218750 -0.187500 -0.028407
v 0.218750 -0.187500 -0.216157
v 0.031250 0.124750 -0.028407
v 0.218750 0.124750 0.033594
v 0.031250 0.124750 0.033594
vt 0.937500 0.312500
vt 0.687500 0.062500
vt 0.687500 0.312500
vt 0.687500 0.500000
vt 0.937500 0.500000
vt 0.687500 0.500000
vt 0.937500 0.312500
vt 0.937500 0.500000
vt 0.937500 0.312500
vt 0.937500 0.500000
vt 0.687500 0.500000
vt 0.937500 0.312500
vt 0.687500 0.062500
vt 0.937500 0.062500
vt 0.500000 0.500000
vt -0.000000 -0.000000
vt 0.500000 -0.000000
vt 0.500000 0.000000
vt 0.625000 0.500000
vt 0.625000 0.000000
vt 0.500000 -0.000000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.625000 -0.000000
vt 0.500000 0.500000
vt 0.500000 -0.000000
vt 0.500000 0.500000
vt 0.625000 0.500000
vt 0.625000 0.000000
vt 0.625000 1.000000
vt 0.812500 0.562500
vt 0.812500 1.000000
vt 0.437500 0.500000
vt 0.187500 0.687500
vt 0.000000 0.500000
vt 0.437500 0.500000
vt 0.625000 1.000000
vt 0.437500 1.000000
vt 0.437500 1.000000
vt 0.625000 0.500000
vt 0.437500 0.500000
vt 0.000000 0.500000
vt 0.250000 0.687500
vt 0.437500 0.500000
vt 1.000000 0.875000
vt 0.812500 0.687500
vt 0.812500 0.875000
vt 0.812500 1.000000
vt 1.000000 0.687500
vt 0.812500 0.687500
vt 0.812500 1.000000
vt 1.000000 0.687500
vt 1.000000 1.000000
vt 1.000000 0.875000
vt 0.812500 0.687500
vt 0.812500 0.875000
vt 0.812500 0.875000
vt 0.625000 1.000000
vt 0.812500 0.562500
vt 0.812500 1.000000
vt 0.437500 0.500000
vt 0.187500 0.687500
vt 0.000000 0.500000
vt 0.437500 1.000000
vt 0.625000 0.500000
vt 0.625000 1.000000
vt 0.812500 1.000000
vt 1.000000 0.687500
vt 1.000000 1.000000
vt -0.000000 0.500000
vt 0.250000 0.687500
vt 0.437500 0.500000
vt 0.437500 1.000000
vt 0.625000 0.500000
vt 0.437500 0.500000
vt 0.812500 0.875000
vt 0.812500 1.000000
vt 1.000000 0.687500
vt 0.812500 0.687500
vt 1.000000 0.875000
vt 0.812500 0.687500
vt 0.812500 0.875000
vt 1.000000 0.875000
vt 0.812500 0.687500
vt 0.812500 0.875000
vt 0.937500 0.062500
vt 0.687500 0.312500
vt 0.687500 0.312500
vt 0.687500 0.312500
vt -0.000000 0.500000
vt 0.500000 0.500000
vt 0.000000 -0.000000
vt 0.625000 0.500000
vt 0.625000 0.562500
vt 0.437500 1.000000
vt 0.250000 0.687500
vt 0.250000 1.000000
vt 0.187500 1.000000
vt 0.000000 1.000000
vt 0.625000 0.500000
vt 0.625000 1.000000
vt 0.000000 1.000000
vt 0.187500 0.687500
vt 0.187500 1.000000
vt 0.250000 1.000000
vt 0.437500 1.000000
vt 1.000000 0.687500
vt 1.000000 1.000000
vt 1.000000 0.875000
vt 0.625000 0.562500
vt 0.437500 1.000000
vt 0.250000 0.687500
vt 0.250000 1.000000
vt 0.187500 1.000000
vt 0.000000 1.000000
vt 0.437500 0.500000
vt -0.000000 1.000000
vt 0.187500 0.687500
vt 0.187500 1.000000
vt 0.250000 1.000000
vt 0.437500 1.000000
vt 0.625000 1.000000
vt 1.000000 0.875000
vt 1.000000 1.000000
vt 1.000000 0.687500
vn 0.0000 -1.0000 0.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 0.0000 -1.0000
vn 0.0000 1.0000 0.0000
usemtl material
s off
f 5/1/1 3/2/1 6/3/1
f 7/4/2 5/1/2 1/5/2
f 4/6/3 2/7/3 7/8/3
f 6/9/4 4/6/4 8/10/4
f 1/5/5 6/3/5 8/11/5
f 1/12/6 4/13/6 7/14/6
f 11/15/6 10/16/6 16/17/6
f 14/18/4 10/19/4 12/20/4
f 15/21/1 14/22/1 13/23/1
f 11/24/2 15/25/2 13/26/2
f 11/24/5 14/27/5 12/28/5
f 10/19/3 15/21/3 16/29/3
f 22/30/6 18/31/6 19/32/6
f 18/33/2 20/34/2 19/35/2
f 25/36/3 18/37/3 23/38/3
f 22/39/5 29/40/5 27/41/5
f 22/42/4 32/43/4 23/44/4
f 21/45/1 25/46/1 24/47/1
f 32/48/5 21/49/5 24/50/5
f 30/51/3 28/52/3 20/53/3
f 29/54/1 26/55/1 27/56/1
f 20/53/1 32/57/1 30/51/1
f 38/58/6 34/59/6 35/60/6
f 34/61/2 36/62/2 35/63/2
f 39/64/3 33/65/3 34/66/3
f 46/67/3 44/68/3 36/69/3
f 38/70/4 48/71/4 39/72/4
f 38/73/5 45/74/5 43/75/5
f 36/69/1 48/76/1 46/67/1
f 48/77/5 37/78/5 40/79/5
f 37/80/1 41/81/1 40/82/1
f 45/83/1 42/84/1 43/85/1
f 5/1/1 2/86/1 3/2/1
f 7/4/2 2/87/2 5/1/2
f 4/6/3 3/88/3 2/7/3
f 6/9/4 3/88/4 4/6/4
f 1/5/5 5/1/5 6/3/5
f 1/12/6 8/89/6 4/13/6
f 11/15/6 12/90/6 10/16/6
f 14/18/4 9/91/4 10/19/4
f 15/21/1 9/92/1 14/22/1
f 11/24/2 16/93/2 15/25/2
f 11/24/5 13/26/5 14/27/5
f 10/19/3 9/91/3 15/21/3
f 22/30/6 23/94/6 18/31/6
f 18/33/2 17/95/2 31/96/2
f 17/95/2 21/97/2 31/96/2
f 28/98/2 29/99/2 20/34/2
f 29/99/2 19/35/2 20/34/2
f 18/33/2 31/96/2 20/34/2
f 25/36/3 17/100/3 18/37/3
f 22/39/5 19/101/5 29/40/5
f 22/42/4 27/102/4 30/103/4
f 27/102/4 26/104/4 30/103/4
f 24/105/4 25/106/4 32/43/4
f 25/106/4 23/44/4 32/43/4
f 22/42/4 30/103/4 32/43/4
f 21/45/1 17/107/1 25/46/1
f 32/48/5 31/108/5 21/49/5
f 30/51/3 26/55/3 28/52/3
f 29/54/1 28/52/1 26/55/1
f 20/53/1 31/109/1 32/57/1
f 38/58/6 39/110/6 34/59/6
f 34/61/2 33/111/2 47/112/2
f 33/111/2 37/113/2 47/112/2
f 44/114/2 45/115/2 36/62/2
f 45/115/2 35/63/2 36/62/2
f 34/61/2 47/112/2 36/62/2
f 39/64/3 41/116/3 33/65/3
f 46/67/3 42/84/3 44/68/3
f 38/70/4 43/117/4 46/118/4
f 43/117/4 42/119/4 46/118/4
f 40/120/4 41/121/4 48/71/4
f 41/121/4 39/72/4 48/71/4
f 38/70/4 46/118/4 48/71/4
f 38/73/5 35/122/5 45/74/5
f 36/69/1 47/123/1 48/76/1
f 48/77/5 47/124/5 37/78/5
f 37/80/1 33/125/1 41/81/1
f 45/83/1 44/68/1 42/84/1

View File

@ -0,0 +1,172 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_xp45_yn20.mtl
o group_ID37
v -0.217699 -0.337760 0.247935
v 0.404416 0.265702 0.075469
v 0.044189 0.168684 0.701537
v 0.585455 0.168684 0.389037
v -0.036660 -0.434778 0.561503
v 0.323567 -0.337760 -0.064565
v 0.504606 -0.434778 0.249003
v -0.136850 0.265702 0.387969
v -0.336526 -0.180395 -0.082880
v 0.161166 0.302374 -0.220853
v -0.090808 0.205356 0.342715
v 0.342204 0.205356 0.092715
v -0.155487 -0.277414 0.230688
v 0.096487 -0.180395 -0.332880
v 0.277526 -0.277414 -0.019312
v -0.271847 0.302374 0.029147
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.045790 -0.432319 -0.170688
v 0.170741 -0.432319 0.045732
v -0.045766 -0.160594 0.170732
v -0.170716 -0.432319 -0.045689
v 0.170741 -0.160594 0.045732
v -0.045766 -0.432319 0.170732
v -0.170716 -0.160594 -0.045689
v 0.045790 -0.160594 -0.170688
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn -0.1294 -0.9659 -0.2241
vn -0.4830 0.2588 -0.8365
vn 0.1294 0.9659 0.2241
vn 0.8660 -0.0000 -0.5000
vn -0.8660 -0.0000 0.5000
vn 0.4830 -0.2588 0.8365
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
vn 0.0000 0.0000 1.0000
vn -0.5000 0.0000 -0.8660
vn 0.5000 0.0000 0.8660
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/7 17/50/7 23/51/7 18/52/7
f 23/53/8 20/54/8 19/55/8 18/56/8
f 21/57/9 18/58/9 19/59/9 22/60/9
f 23/61/10 17/62/10 24/63/10 20/64/10
f 24/65/11 22/66/11 19/67/11 20/68/11
f 24/69/12 17/70/12 21/71/12 22/72/12
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/10 27/78/10 29/79/10 32/80/10
f 30/81/9 28/82/9 25/83/9 26/84/9
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/13 32/90/13 25/91/13 28/92/13
f 29/93/14 27/94/14 30/95/14 26/96/14

View File

@ -0,0 +1,168 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_pos_45.mtl
o group_ID37
v -0.249808 -0.307369 0.275645
v 0.291458 0.317381 -0.036855
v -0.062383 0.317381 0.600275
v 0.478883 0.317381 0.287775
v -0.062383 -0.307369 0.600275
v 0.291458 -0.307369 -0.036855
v 0.478883 -0.307369 0.287775
v -0.249808 0.317381 0.275645
v -0.383106 -0.244894 -0.080235
v 0.049906 0.254906 -0.330235
v -0.195681 0.254906 0.244395
v 0.237332 0.254906 -0.005605
v -0.195681 -0.244894 0.244395
v 0.049906 -0.244894 -0.330235
v 0.237332 -0.244894 -0.005605
v -0.383106 0.254906 -0.080235
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.004128 -0.432319 -0.159525
v 0.129078 -0.432319 0.056895
v -0.087428 -0.160594 0.181895
v -0.212378 -0.432319 -0.034525
v 0.129078 -0.160594 0.056895
v -0.087428 -0.432319 0.181895
v -0.212378 -0.160594 -0.034525
v 0.004128 -0.160594 -0.159525
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn 0.0000 -1.0000 -0.0000
vn -0.5000 0.0000 -0.8660
vn 0.0000 1.0000 -0.0000
vn 0.8660 0.0000 -0.5000
vn -0.8660 0.0000 0.5000
vn 0.5000 0.0000 0.8660
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
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/7 17/50/7 23/51/7 18/52/7
f 23/53/8 20/54/8 19/55/8 18/56/8
f 21/57/1 18/58/1 19/59/1 22/60/1
f 23/61/3 17/62/3 24/63/3 20/64/3
f 24/65/9 22/66/9 19/67/9 20/68/9
f 24/69/10 17/70/10 21/71/10 22/72/10
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/3 27/78/3 29/79/3 32/80/3
f 30/81/1 28/82/1 25/83/1 26/84/1
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/2 32/90/2 25/91/2 28/92/2
f 29/93/6 27/94/6 30/95/6 26/96/6

View File

@ -0,0 +1,172 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_xp45_yp20.mtl
o group_ID37
v -0.202850 -0.273068 0.273653
v 0.257567 0.330394 -0.178881
v -0.102660 0.427413 0.447187
v 0.438606 0.427413 0.134687
v -0.021812 -0.176050 0.587221
v 0.338415 -0.273068 -0.038847
v 0.519454 -0.176050 0.274721
v -0.283699 0.330394 0.133619
v -0.337848 -0.309740 -0.085169
v 0.030486 0.173029 -0.447196
v -0.221488 0.270048 0.116372
v 0.211525 0.270048 -0.133628
v -0.156809 -0.212722 0.228399
v 0.095165 -0.309740 -0.335169
v 0.276204 -0.212722 -0.021601
v -0.402526 0.173029 -0.197196
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.045790 -0.432319 -0.170688
v 0.170741 -0.432319 0.045732
v -0.045766 -0.160594 0.170732
v -0.170716 -0.432319 -0.045689
v 0.170741 -0.160594 0.045732
v -0.045766 -0.432319 0.170732
v -0.170716 -0.160594 -0.045689
v 0.045790 -0.160594 -0.170688
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn 0.1294 -0.9659 0.2241
vn -0.4830 -0.2588 -0.8365
vn -0.1294 0.9659 -0.2241
vn 0.8660 -0.0000 -0.5000
vn -0.8660 0.0000 0.5000
vn 0.4830 0.2588 0.8365
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
vn 0.0000 0.0000 1.0000
vn -0.5000 0.0000 -0.8660
vn 0.5000 0.0000 0.8660
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/7 17/50/7 23/51/7 18/52/7
f 23/53/8 20/54/8 19/55/8 18/56/8
f 21/57/9 18/58/9 19/59/9 22/60/9
f 23/61/10 17/62/10 24/63/10 20/64/10
f 24/65/11 22/66/11 19/67/11 20/68/11
f 24/69/12 17/70/12 21/71/12 22/72/12
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/10 27/78/10 29/79/10 32/80/10
f 30/81/9 28/82/9 25/83/9 26/84/9
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/13 32/90/13 25/91/13 28/92/13
f 29/93/14 27/94/14 30/95/14 26/96/14

View File

@ -0,0 +1,168 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_pos_0_v_pos_20.mtl
o group_ID37
v -0.312500 -0.337760 0.105869
v 0.312500 0.265702 0.267566
v -0.312500 0.168684 0.629643
v 0.312500 0.168684 0.629643
v -0.312500 -0.434778 0.467946
v 0.312500 -0.337760 0.105869
v 0.312500 -0.434778 0.467946
v -0.312500 0.265702 0.267566
v -0.250000 -0.180395 -0.240039
v 0.250000 0.302374 -0.110681
v -0.250000 0.205356 0.251396
v 0.250000 0.205356 0.251396
v -0.250000 -0.277414 0.122038
v 0.250000 -0.180395 -0.240039
v 0.250000 -0.277414 0.122038
v -0.250000 0.302374 -0.110681
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.125000 -0.432319 -0.124925
v 0.125000 -0.432319 0.124975
v -0.125000 -0.160594 0.124975
v -0.125000 -0.432319 -0.124925
v 0.125000 -0.160594 0.124975
v -0.125000 -0.432319 0.124975
v -0.125000 -0.160594 -0.124925
v 0.125000 -0.160594 -0.124925
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn 0.0000 -0.9659 -0.2588
vn 0.0000 0.2588 -0.9659
vn 0.0000 0.9659 0.2588
vn 1.0000 0.0000 0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -0.2588 0.9659
vn 0.0000 0.0000 -1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/5 17/50/5 23/51/5 18/52/5
f 23/53/7 20/54/7 19/55/7 18/56/7
f 21/57/8 18/58/8 19/59/8 22/60/8
f 23/61/9 17/62/9 24/63/9 20/64/9
f 24/65/4 22/66/4 19/67/4 20/68/4
f 24/69/10 17/70/10 21/71/10 22/72/10
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/9 27/78/9 29/79/9 32/80/9
f 30/81/8 28/82/8 25/83/8 26/84/8
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/7 32/90/7 25/91/7 28/92/7
f 29/93/10 27/94/10 30/95/10 26/96/10

View File

@ -0,0 +1,164 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_xp0_yp0.mtl
o group_ID37
v -0.312500 -0.307369 0.124975
v 0.312500 0.317382 0.124975
v -0.312500 0.317382 0.499825
v 0.312500 0.317382 0.499825
v -0.312500 -0.307369 0.499825
v 0.312500 -0.307369 0.124975
v 0.312500 -0.307369 0.499825
v -0.312500 0.317382 0.124975
v -0.250000 -0.244894 -0.249875
v 0.250000 0.254906 -0.249875
v -0.250000 0.254906 0.124975
v 0.250000 0.254906 0.124975
v -0.250000 -0.244894 0.124975
v 0.250000 -0.244894 -0.249875
v 0.250000 -0.244894 0.124975
v -0.250000 0.254906 -0.249875
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.125000 -0.432319 -0.124925
v 0.125000 -0.432319 0.124975
v -0.125000 -0.160594 0.124975
v -0.125000 -0.432319 -0.124925
v 0.125000 -0.160594 0.124975
v -0.125000 -0.432319 0.124975
v -0.125000 -0.160594 -0.124925
v 0.125000 -0.160594 -0.124925
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn 0.0000 -1.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/5 17/50/5 23/51/5 18/52/5
f 23/53/2 20/54/2 19/55/2 18/56/2
f 21/57/1 18/58/1 19/59/1 22/60/1
f 23/61/3 17/62/3 24/63/3 20/64/3
f 24/65/4 22/66/4 19/67/4 20/68/4
f 24/69/6 17/70/6 21/71/6 22/72/6
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/3 27/78/3 29/79/3 32/80/3
f 30/81/1 28/82/1 25/83/1 26/84/1
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/2 32/90/2 25/91/2 28/92/2
f 29/93/6 27/94/6 30/95/6 26/96/6

View File

@ -0,0 +1,168 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_pos_0_v_neg_20.mtl
o group_ID37
v -0.312500 -0.273068 0.135565
v 0.312500 0.330394 -0.026132
v -0.312500 0.427413 0.335945
v 0.312500 0.427413 0.335945
v -0.312500 -0.176050 0.497642
v 0.312500 -0.273068 0.135565
v 0.312500 -0.176050 0.497642
v -0.312500 0.330394 -0.026132
v -0.250000 -0.309740 -0.242682
v 0.250000 0.173029 -0.372040
v -0.250000 0.270048 -0.009963
v 0.250000 0.270048 -0.009963
v -0.250000 -0.212722 0.119395
v 0.250000 -0.309740 -0.242682
v 0.250000 -0.212722 0.119395
v -0.250000 0.173029 -0.372040
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.125000 -0.432319 -0.124925
v 0.125000 -0.432319 0.124975
v -0.125000 -0.160594 0.124975
v -0.125000 -0.432319 -0.124925
v 0.125000 -0.160594 0.124975
v -0.125000 -0.432319 0.124975
v -0.125000 -0.160594 -0.124925
v 0.125000 -0.160594 -0.124925
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn 0.0000 -0.9659 0.2588
vn 0.0000 -0.2588 -0.9659
vn 0.0000 0.9659 -0.2588
vn 1.0000 0.0000 0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.2588 0.9659
vn 0.0000 0.0000 -1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/5 17/50/5 23/51/5 18/52/5
f 23/53/7 20/54/7 19/55/7 18/56/7
f 21/57/8 18/58/8 19/59/8 22/60/8
f 23/61/9 17/62/9 24/63/9 20/64/9
f 24/65/4 22/66/4 19/67/4 20/68/4
f 24/69/10 17/70/10 21/71/10 22/72/10
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/9 27/78/9 29/79/9 32/80/9
f 30/81/8 28/82/8 25/83/8 26/84/8
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/7 32/90/7 25/91/7 28/92/7
f 29/93/10 27/94/10 30/95/10 26/96/10

View File

@ -0,0 +1,172 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_xn45_yn20.mtl
o group_ID37
v -0.323567 -0.337760 -0.064565
v 0.136850 0.265702 0.387969
v -0.585455 0.168684 0.389037
v -0.044189 0.168684 0.701537
v -0.504606 -0.434778 0.249003
v 0.217699 -0.337760 0.247935
v 0.036660 -0.434778 0.561503
v -0.404416 0.265702 0.075469
v -0.096487 -0.180395 -0.332880
v 0.271847 0.302374 0.029147
v -0.342204 0.205356 0.092715
v 0.090808 0.205356 0.342715
v -0.277526 -0.277414 -0.019312
v 0.336526 -0.180395 -0.082880
v 0.155487 -0.277414 0.230688
v -0.161166 0.302374 -0.220853
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.170716 -0.432319 -0.045689
v 0.045766 -0.432319 0.170732
v -0.170741 -0.160594 0.045732
v -0.045790 -0.432319 -0.170688
v 0.045766 -0.160594 0.170732
v -0.170741 -0.432319 0.045732
v -0.045790 -0.160594 -0.170688
v 0.170716 -0.160594 -0.045689
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn 0.1294 -0.9659 -0.2241
vn 0.4830 0.2588 -0.8365
vn -0.1294 0.9659 0.2241
vn 0.8660 -0.0000 0.5000
vn -0.8660 -0.0000 -0.5000
vn -0.4830 -0.2588 0.8365
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
vn 0.0000 0.0000 1.0000
vn 0.5000 0.0000 -0.8660
vn -0.5000 0.0000 0.8660
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/7 17/50/7 23/51/7 18/52/7
f 23/53/8 20/54/8 19/55/8 18/56/8
f 21/57/9 18/58/9 19/59/9 22/60/9
f 23/61/10 17/62/10 24/63/10 20/64/10
f 24/65/11 22/66/11 19/67/11 20/68/11
f 24/69/12 17/70/12 21/71/12 22/72/12
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/10 27/78/10 29/79/10 32/80/10
f 30/81/9 28/82/9 25/83/9 26/84/9
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/13 32/90/13 25/91/13 28/92/13
f 29/93/14 27/94/14 30/95/14 26/96/14

View File

@ -0,0 +1,168 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_neg_45.mtl
o group_ID37
v -0.291458 -0.307369 -0.036855
v 0.249808 0.317381 0.275645
v -0.478883 0.317381 0.287775
v 0.062383 0.317381 0.600275
v -0.478883 -0.307369 0.287775
v 0.249808 -0.307369 0.275645
v 0.062383 -0.307369 0.600275
v -0.291458 0.317381 -0.036855
v -0.049906 -0.244894 -0.330235
v 0.383107 0.254906 -0.080235
v -0.237331 0.254906 -0.005605
v 0.195681 0.254906 0.244395
v -0.237331 -0.244894 -0.005605
v 0.383107 -0.244894 -0.080235
v 0.195681 -0.244894 0.244395
v -0.049906 0.254906 -0.330235
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.212378 -0.432319 -0.034525
v 0.087428 -0.432319 0.181895
v -0.129078 -0.160594 0.056895
v -0.004128 -0.432319 -0.159525
v 0.087428 -0.160594 0.181895
v -0.129078 -0.432319 0.056895
v -0.004128 -0.160594 -0.159525
v 0.212378 -0.160594 -0.034525
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn 0.0000 -1.0000 0.0000
vn 0.5000 0.0000 -0.8660
vn 0.0000 1.0000 0.0000
vn 0.8660 0.0000 0.5000
vn -0.8660 0.0000 -0.5000
vn -0.5000 0.0000 0.8660
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
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/7 17/50/7 23/51/7 18/52/7
f 23/53/8 20/54/8 19/55/8 18/56/8
f 21/57/1 18/58/1 19/59/1 22/60/1
f 23/61/3 17/62/3 24/63/3 20/64/3
f 24/65/9 22/66/9 19/67/9 20/68/9
f 24/69/10 17/70/10 21/71/10 22/72/10
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/3 27/78/3 29/79/3 32/80/3
f 30/81/1 28/82/1 25/83/1 26/84/1
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/2 32/90/2 25/91/2 28/92/2
f 29/93/6 27/94/6 30/95/6 26/96/6

View File

@ -0,0 +1,172 @@
# Blender v2.90.1 OBJ File: 'flood_light.blend'
# www.blender.org
mtllib flood_light_xn45_yp20.mtl
o group_ID37
v -0.338415 -0.273068 -0.038847
v 0.283699 0.330394 0.133619
v -0.438605 0.427413 0.134687
v 0.102660 0.427413 0.447187
v -0.519454 -0.176050 0.274721
v 0.202851 -0.273068 0.273653
v 0.021812 -0.176050 0.587221
v -0.257567 0.330394 -0.178881
v -0.095165 -0.309740 -0.335169
v 0.402527 0.173029 -0.197196
v -0.211525 0.270048 -0.133628
v 0.221488 0.270048 0.116372
v -0.276204 -0.212722 -0.021601
v 0.337848 -0.309740 -0.085169
v 0.156809 -0.212722 0.228399
v -0.030486 0.173029 -0.447196
v -0.375000 -0.432319 0.374875
v -0.375000 -0.494794 -0.374825
v 0.375000 -0.494794 -0.374825
v 0.375000 -0.432319 -0.374825
v -0.375000 -0.494794 0.374875
v 0.375000 -0.494794 0.374875
v -0.375000 -0.432319 -0.374825
v 0.375000 -0.432319 0.374875
v 0.170716 -0.432319 -0.045689
v 0.045766 -0.432319 0.170732
v -0.170741 -0.160594 0.045732
v -0.045790 -0.432319 -0.170688
v 0.045766 -0.160594 0.170732
v -0.170741 -0.432319 0.045732
v -0.045790 -0.160594 -0.170688
v 0.170716 -0.160594 -0.045689
vt 0.479167 0.750000
vt 0.479167 0.625000
vt 0.270833 0.625000
vt 0.270833 0.750000
vt 0.479167 0.979167
vt 0.270833 0.979167
vt 0.270833 0.770833
vt 0.479167 0.770833
vt 0.020833 0.625000
vt 0.229167 0.625000
vt 0.229167 0.750000
vt 0.020833 0.750000
vt 0.145833 0.583333
vt 0.145833 0.375000
vt 0.020833 0.375000
vt 0.020833 0.583333
vt 0.312500 0.375000
vt 0.312500 0.583333
vt 0.187500 0.583333
vt 0.187500 0.375000
vt 0.020833 0.979167
vt 0.229167 0.979167
vt 0.229167 0.770833
vt 0.020833 0.770833
vt 0.770833 0.770833
vt 0.770833 0.645833
vt 0.604167 0.645833
vt 0.604167 0.770833
vt 0.979167 0.979167
vt 0.812500 0.979167
vt 0.812500 0.812500
vt 0.979167 0.812500
vt 0.812500 0.645833
vt 0.979167 0.645833
vt 0.979167 0.770833
vt 0.812500 0.770833
vt 0.770833 0.604167
vt 0.770833 0.437500
vt 0.645833 0.437500
vt 0.645833 0.604167
vt 0.937500 0.437500
vt 0.937500 0.604167
vt 0.812500 0.604167
vt 0.812500 0.437500
vt 0.604167 0.979167
vt 0.770833 0.979167
vt 0.770833 0.812500
vt 0.604167 0.812500
vt 0.270833 0.020833
vt 0.270833 0.041667
vt 0.020833 0.041667
vt 0.020833 0.020833
vt 0.270833 0.083333
vt 0.020833 0.083333
vt 0.020833 0.062500
vt 0.270833 0.062500
vt 0.562500 0.354167
vt 0.562500 0.104167
vt 0.312500 0.104167
vt 0.312500 0.354167
vt 0.270833 0.104167
vt 0.270833 0.354167
vt 0.020833 0.354167
vt 0.020833 0.104167
vt 0.562500 0.041667
vt 0.562500 0.020833
vt 0.312500 0.020833
vt 0.312500 0.041667
vt 0.312500 0.083333
vt 0.562500 0.083333
vt 0.562500 0.062500
vt 0.312500 0.062500
vt 0.958333 0.208333
vt 0.958333 0.125000
vt 0.875000 0.125000
vt 0.875000 0.208333
vt 0.958333 0.250000
vt 0.958333 0.333333
vt 0.875000 0.333333
vt 0.875000 0.250000
vt 0.854167 0.333333
vt 0.854167 0.250000
vt 0.770833 0.250000
vt 0.770833 0.333333
vt 0.854167 0.104167
vt 0.770833 0.104167
vt 0.770833 0.020833
vt 0.854167 0.020833
vt 0.854167 0.208333
vt 0.770833 0.208333
vt 0.770833 0.125000
vt 0.854167 0.125000
vt 0.875000 0.104167
vt 0.958333 0.104167
vt 0.958333 0.020833
vt 0.875000 0.020833
vn -0.1294 -0.9659 0.2241
vn 0.4830 -0.2588 -0.8365
vn 0.1294 0.9659 -0.2241
vn 0.8660 0.0000 0.5000
vn -0.8660 -0.0000 -0.5000
vn -0.4830 0.2588 0.8365
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
vn 0.0000 0.0000 1.0000
vn 0.5000 0.0000 -0.8660
vn -0.5000 0.0000 0.8660
usemtl material
s off
f 5/1/1 1/2/1 6/3/1 7/4/1
f 8/5/2 2/6/2 6/7/2 1/8/2
f 2/9/3 8/10/3 3/11/3 4/12/3
f 4/13/4 7/14/4 6/15/4 2/16/4
f 5/17/5 3/18/5 8/19/5 1/20/5
f 4/21/6 3/22/6 5/23/6 7/24/6
f 13/25/1 9/26/1 14/27/1 15/28/1
f 16/29/2 10/30/2 14/31/2 9/32/2
f 10/33/3 16/34/3 11/35/3 12/36/3
f 12/37/4 15/38/4 14/39/4 10/40/4
f 13/41/5 11/42/5 16/43/5 9/44/5
f 12/45/6 11/46/6 13/47/6 15/48/6
f 21/49/7 17/50/7 23/51/7 18/52/7
f 23/53/8 20/54/8 19/55/8 18/56/8
f 21/57/9 18/58/9 19/59/9 22/60/9
f 23/61/10 17/62/10 24/63/10 20/64/10
f 24/65/11 22/66/11 19/67/11 20/68/11
f 24/69/12 17/70/12 21/71/12 22/72/12
f 29/73/4 26/74/4 25/75/4 32/76/4
f 31/77/10 27/78/10 29/79/10 32/80/10
f 30/81/9 28/82/9 25/83/9 26/84/9
f 27/85/5 31/86/5 28/87/5 30/88/5
f 31/89/13 32/90/13 25/91/13 28/92/13
f 29/93/14 27/94/14 30/95/14 26/96/14

View File

@ -0,0 +1,184 @@
# Blender v2.90.1 OBJ File: 'light_bulb_fluro_bank.blend'
# www.blender.org
mtllib fluro_light_bank.mtl
o fluro_ID200
v -0.875000 -0.125000 0.374999
v -1.000000 -0.125000 -0.375001
v -1.000000 -0.125000 0.374999
v -1.000000 -0.500000 -0.375001
v 1.000000 -0.125000 0.374999
v 1.000000 -0.500000 0.374999
v -1.000000 -0.500000 0.374999
v -0.875000 -0.375000 0.374999
v -0.875000 -0.125000 -0.375001
v 0.875000 -0.125000 -0.375001
v 1.000000 -0.500000 -0.375001
v 0.875000 -0.375000 0.374999
v -0.875000 -0.375000 -0.375001
v 0.875000 -0.375000 -0.375001
v 1.000000 -0.125000 -0.375001
v 0.875000 -0.125000 0.374999
v -0.875001 -0.156250 -0.124999
v -0.875001 -0.343750 -0.124999
v -0.875001 -0.156250 -0.312499
v 0.875000 -0.343750 -0.312499
v -0.875001 -0.343750 -0.312499
v 0.875000 -0.156250 -0.124999
v 0.875000 -0.343750 -0.124999
v 0.875000 -0.156250 -0.312499
v -0.875001 -0.156250 0.312501
v -0.875001 -0.343750 0.312501
v -0.875001 -0.156250 0.125001
v 0.875000 -0.343750 0.125001
v -0.875001 -0.343750 0.125001
v 0.875000 -0.156250 0.312501
v 0.875000 -0.343750 0.312501
v 0.875000 -0.156250 0.125001
vt 0.104167 0.395833
vt 0.020833 0.687500
vt 0.020833 0.395833
vt 0.979167 0.708333
vt 0.854167 1.000000
vt 0.854167 0.708333
vt 0.229167 0.250000
vt 0.812500 0.250000
vt 0.854167 0.291667
vt 0.229167 0.250000
vt 0.187500 0.291667
vt 0.854167 0.291667
vt 0.187500 0.395833
vt 0.812500 0.687500
vt 0.187500 0.687500
vt 0.020833 0.708333
vt 0.145833 1.000000
vt 0.145833 0.708333
vt 0.166667 0.687500
vt 0.125000 0.395833
vt 0.166667 0.395833
vt 0.833333 1.000000
vt 0.166667 0.708333
vt 0.166667 1.000000
vt 0.875000 0.687500
vt 0.833333 0.395833
vt 0.875000 0.395833
vt 0.895833 0.395833
vt 0.979167 0.687500
vt 0.979167 0.395833
vt 0.187500 0.375000
vt 0.812500 0.312500
vt 0.187500 0.312500
vt 0.187500 0.375000
vt 0.812500 0.312500
vt 0.187500 0.312500
vt 0.895833 0.312500
vt 0.833333 0.375000
vt 0.895833 0.375000
vt 0.812500 0.375000
vt 0.187500 0.312500
vt 0.812500 0.375000
vt 0.812500 0.312500
vt 0.895833 0.375000
vt 0.833333 0.312500
vt 0.895833 0.312500
vt 0.187500 0.312500
vt 0.812500 0.375000
vt 0.187500 0.375000
vt 0.187500 0.312500
vt 0.812500 0.312500
vt 0.187500 0.375000
vt 0.812500 0.312500
vt 0.187500 0.312500
vt 0.895833 0.312500
vt 0.833333 0.375000
vt 0.895833 0.375000
vt 0.812500 0.375000
vt 0.187500 0.375000
vt 0.895833 0.375000
vt 0.833333 0.312500
vt 0.895833 0.312500
vt 0.104167 0.687500
vt 0.979167 1.000000
vt 0.812500 0.166667
vt 0.854167 0.166667
vt 0.187500 0.291667
vt 0.187500 0.166667
vt 0.229167 0.166667
vt 0.854167 0.166667
vt 0.812500 0.250000
vt 0.812500 0.166667
vt 0.229167 0.166667
vt 0.187500 0.166667
vt 0.812500 0.395833
vt 0.020833 1.000000
vt 0.125000 0.687500
vt 0.833333 0.708333
vt 0.833333 0.687500
vt 0.895833 0.687500
vt 0.812500 0.375000
vt 0.833333 0.312500
vt 0.187500 0.375000
vt 0.833333 0.375000
vt 0.812500 0.312500
vt 0.812500 0.375000
vt 0.833333 0.312500
vt 0.833333 0.375000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
usemtl material
s off
f 9/1/1 8/2/1 13/3/1
f 15/4/1 6/5/1 11/6/1
f 12/7/2 8/8/2 7/9/2
f 14/10/3 11/11/3 4/12/3
f 8/13/4 14/14/4 13/15/4
f 4/16/5 3/17/5 2/18/5
f 9/19/4 3/20/4 1/21/4
f 11/22/6 7/23/6 4/24/6
f 15/25/4 16/26/4 5/27/4
f 14/28/5 16/29/5 10/30/5
f 21/31/6 23/32/6 18/33/6
f 17/34/4 24/35/4 19/36/4
f 21/37/5 17/38/5 19/39/5
f 18/33/2 22/40/2 17/34/2
f 21/41/3 24/42/3 20/43/3
f 24/44/1 23/45/1 20/46/1
f 25/47/4 32/48/4 27/49/4
f 29/50/3 32/48/3 28/51/3
f 29/52/6 31/53/6 26/54/6
f 29/55/5 25/56/5 27/57/5
f 26/54/2 30/58/2 25/59/2
f 32/60/1 31/61/1 28/62/1
f 9/1/1 1/63/1 8/2/1
f 15/4/1 5/64/1 6/5/1
f 8/8/2 1/65/2 3/66/2
f 6/67/2 5/68/2 12/7/2
f 5/68/2 16/69/2 12/7/2
f 8/8/2 3/66/2 7/9/2
f 6/67/2 12/7/2 7/9/2
f 4/12/3 2/70/3 13/71/3
f 2/70/3 9/72/3 13/71/3
f 10/73/3 15/74/3 14/10/3
f 15/74/3 11/11/3 14/10/3
f 4/12/3 13/71/3 14/10/3
f 8/13/4 12/75/4 14/14/4
f 4/16/5 7/76/5 3/17/5
f 9/19/4 2/77/4 3/20/4
f 11/22/6 6/78/6 7/23/6
f 15/25/4 10/79/4 16/26/4
f 14/28/5 12/80/5 16/29/5
f 21/31/6 20/81/6 23/32/6
f 17/34/4 22/40/4 24/35/4
f 21/37/5 18/82/5 17/38/5
f 18/33/2 23/32/2 22/40/2
f 21/41/3 19/83/3 24/42/3
f 24/44/1 22/84/1 23/45/1
f 25/47/4 30/85/4 32/48/4
f 29/50/3 27/49/3 32/48/3
f 29/52/6 28/86/6 31/53/6
f 29/55/5 26/87/5 25/56/5
f 26/54/2 31/53/2 30/58/2
f 32/60/1 30/88/1 31/61/1

View File

@ -0,0 +1,82 @@
# Blender v2.90.1 OBJ File: 'light_bulb.blend'
# www.blender.org
mtllib incandescent_light_bulb.mtl
o mesh_ID4
v 0.125000 -0.500000 0.125000
v 0.125000 -0.290667 -0.125000
v -0.125000 -0.500000 0.125000
v -0.125000 -0.290667 0.125000
v 0.125000 -0.500000 -0.125000
v -0.125000 -0.500000 -0.125000
v 0.125000 -0.290667 0.125000
v -0.125000 -0.290667 -0.125000
v -0.250000 -0.312500 0.250000
v -0.250000 0.187500 0.250000
v 0.250000 0.187500 -0.250000
v -0.250000 0.187500 -0.250000
v 0.250000 -0.312500 -0.250000
v -0.250000 -0.312500 -0.250000
v 0.250000 -0.312500 0.250000
v 0.250000 0.187500 0.250000
vt 0.125000 0.312500
vt 0.375000 0.312500
vt 0.375000 0.500000
vt 0.125000 0.500000
vt 0.375000 -0.000000
vt 0.375000 0.250000
vt 0.125000 0.250000
vt 0.125000 -0.000000
vt 0.125000 0.312500
vt 0.375000 0.312500
vt 0.375000 0.500000
vt 0.125000 0.500000
vt 0.375000 0.500000
vt 0.375000 0.312500
vt 0.125000 0.500000
vt 0.125000 0.312500
vt 0.375000 0.000000
vt 0.125000 0.000000
vt 0.125000 0.250000
vt 0.375000 0.250000
vt 1.000000 0.500000
vt 1.000000 1.000000
vt 0.500000 1.000000
vt 0.500000 0.500000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.500000 1.000000
vt 1.000000 0.500000
vt 1.000000 -0.000000
vt 0.500000 -0.000000
vt 0.500000 0.500000
vt 0.500000 0.500000
vt 0.500000 1.000000
vt -0.000000 1.000000
vt 0.000000 0.500000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.500000 0.500000
vn 1.0000 0.0000 0.0000
vn 0.0000 1.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
usemtl material
s off
f 1/1/1 5/2/1 2/3/1 7/4/1
f 7/5/2 2/6/2 8/7/2 4/8/2
f 3/9/3 1/10/3 7/11/3 4/12/3
f 8/13/4 6/14/4 3/9/4 4/12/4
f 8/13/5 2/15/5 5/16/5 6/14/5
f 1/17/6 3/18/6 6/19/6 5/20/6
f 16/21/2 11/22/2 12/23/2 10/24/2
f 12/25/4 14/26/4 9/27/4 10/28/4
f 13/29/6 15/30/6 9/31/6 14/32/6
f 13/33/1 11/34/1 16/35/1 15/36/1
f 12/23/5 11/37/5 13/38/5 14/32/5
f 16/39/3 10/40/3 9/41/3 15/42/3

View File

@ -0,0 +1,66 @@
# Blender v2.90.1 OBJ File: 'led_panel_1x1.blend'
# www.blender.org
mtllib led_light_panel_1x1.mtl
o Panel_ID214
v -0.499997 -0.250000 -0.499998
v -0.499997 -0.500000 0.500002
v -0.499997 -0.250000 0.500002
v -0.499997 -0.500000 -0.499998
v 0.500003 -0.500000 -0.499998
v -0.499997 -0.500000 0.500002
v -0.499997 -0.500000 -0.499998
v 0.500003 -0.500000 0.500002
v 0.500003 -0.250000 0.500002
v -0.499997 -0.500000 0.500002
v 0.500003 -0.500000 0.500002
v -0.499997 -0.250000 0.500002
v 0.500003 -0.250000 0.500002
v -0.499997 -0.250000 -0.499998
v -0.499997 -0.250000 0.500002
v 0.500003 -0.250000 -0.499998
v -0.499997 -0.250000 -0.499998
v 0.500003 -0.500000 -0.499998
v -0.499997 -0.500000 -0.499998
v 0.500003 -0.250000 -0.499998
v 0.500003 -0.500000 -0.499998
v 0.500003 -0.250000 0.500002
v 0.500003 -0.500000 0.500002
v 0.500003 -0.250000 -0.499998
vt 1.000000 0.200000
vt 1.000000 -0.000000
vt -0.000000 -0.000000
vt -0.000000 0.200000
vt -0.000000 0.200000
vt 1.000000 0.200000
vt 1.000000 -0.000000
vt -0.000000 -0.000000
vt 1.000000 0.200000
vt -0.000000 0.200000
vt -0.000000 -0.000000
vt 1.000000 -0.000000
vt 1.000000 1.000000
vt 1.000000 0.200000
vt 0.000000 0.200000
vt 0.000000 1.000000
vt 1.000000 0.200000
vt 1.000000 1.000000
vt -0.000000 1.000000
vt -0.000000 0.200000
vt 1.000000 -0.000000
vt 1.000000 0.200000
vt -0.000000 0.200000
vt -0.000000 -0.000000
vn -1.0000 0.0000 0.0000
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
vn 1.0000 0.0000 0.0000
usemtl material
s off
f 1/1/1 4/2/1 2/3/1 3/4/1
f 17/5/2 20/6/2 18/7/2 19/8/2
f 9/9/3 12/10/3 10/11/3 11/12/3
f 5/13/4 8/14/4 6/15/4 7/16/4
f 13/17/5 16/18/5 14/19/5 15/20/5
f 21/21/6 24/22/6 22/23/6 23/24/6

View File

@ -0,0 +1,46 @@
# Blender v2.90.1 OBJ File: 'led_panel_1x3.blend'
# www.blender.org
mtllib led_light_panel_1x3.mtl
o Panel_ID214
v -1.499997 -0.250000 -0.499998
v -1.499997 -0.250000 0.500002
v -1.499997 -0.500000 0.500002
v -1.499997 -0.500000 -0.499998
v 1.500003 -0.500000 -0.499998
v 1.500003 -0.500000 0.500002
v 1.500003 -0.250000 0.500002
v 1.500003 -0.250000 -0.499998
vt 0.923077 0.200000
vt 0.923077 -0.000000
vt 0.000000 -0.000000
vt 0.000000 0.200000
vt 0.923077 0.000000
vt 0.923077 0.200000
vt 0.000000 0.200000
vt 0.000000 -0.000000
vt 0.000000 1.000000
vt 0.923077 1.000000
vt 0.923077 0.200000
vt -0.000000 0.200000
vt 0.923077 1.000000
vt 0.000000 1.000000
vt 0.923077 1.000000
vt 1.000000 1.000000
vt 1.000000 0.200000
vt 0.923077 0.200000
vt 1.000000 1.000000
vt 1.000000 0.200000
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
vn -1.0000 0.0000 0.0000
vn 1.0000 0.0000 0.0000
usemtl material
s off
f 8/1/1 5/2/1 4/3/1 1/4/1
f 6/5/2 7/6/2 2/7/2 3/8/2
f 4/9/3 5/10/3 6/11/3 3/12/3
f 2/7/4 7/6/4 8/13/4 1/14/4
f 1/15/5 4/16/5 3/17/5 2/18/5
f 5/19/6 8/13/6 7/6/6 6/20/6

Some files were not shown because too many files have changed in this diff Show More