Compare commits
6 Commits
0b286d07e0
...
b088190caa
Author | SHA1 | Date |
---|---|---|
Pascal Abresch | b088190caa | |
Pascal Abresch | 09d8de1ff2 | |
Pascal Abresch | abeec426a9 | |
Pascal Abresch | 38d76dbbd5 | |
Pascal Abresch | 24c72b1ff1 | |
Pascal Abresch | a6c9e005f8 |
|
@ -6,6 +6,130 @@ function shallow_copy(table)
|
|||
return newTable
|
||||
end
|
||||
|
||||
local maskName = "orionapi"
|
||||
local opaqueNodes = {}
|
||||
|
||||
-- slabtypes
|
||||
SLAB_NONE = 0
|
||||
SLAB_LOWER = 1
|
||||
SLAB_UPPER = 2
|
||||
SLAB_COMBO = 3
|
||||
|
||||
|
||||
local placeCombinedNode = function(position, secondNode)
|
||||
|
||||
|
||||
end
|
||||
|
||||
local onPlace = function(itemstack, placer, pointed_thing)
|
||||
if not pointed_thing.type == "node" then return minetest.item_place(itemstack, player, pointed_thing) end
|
||||
local under = pointed_thing.under
|
||||
local above = pointed_thing.above
|
||||
if above.y == under.y +1 then -- looking from above
|
||||
local pointedNode = minetest.get_node(under)
|
||||
local newSlabName = itemstack:get_name()
|
||||
if minetest.registered_nodes[pointedNode.name] and
|
||||
minetest.registered_nodes[pointedNode.name].groups and
|
||||
minetest.registered_nodes[pointedNode.name].groups.orion_slabtype == SLAB_LOWER then
|
||||
|
||||
if pointedNode.name == newSlabName then -- Same slabs twice, place the normal block
|
||||
minetest.swap_node(under, {name = pointedNode.name:gsub("%_lower", "")})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
else
|
||||
local lowerName = pointedNode.name:gsub("%_lower", "")
|
||||
lowerName = lowerName:gsub(":", "_")
|
||||
local upperName = newSlabName:gsub("%_lower", "")
|
||||
upperName = upperName:gsub(":", "_")
|
||||
|
||||
local nodeName = maskName .. ":" .. upperName .. "_" .. lowerName
|
||||
if minetest.registered_nodes[nodeName] then
|
||||
minetest.swap_node(under, {name = nodeName})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
end
|
||||
end
|
||||
else
|
||||
local otherNode = minetest.get_node(above)
|
||||
local newSlabName = itemstack:get_name()
|
||||
if minetest.registered_nodes[otherNode.name] and
|
||||
minetest.registered_nodes[otherNode.name].groups and
|
||||
minetest.registered_nodes[otherNode.name].groups.orion_slabtype == SLAB_UPPER then
|
||||
if otherNode.name:gsub("%_upper", "_lower") == newSlabName then -- Same slabs twice, place the normal block
|
||||
minetest.swap_node(above, {name = otherNode.name:gsub("%_upper", "")})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
else
|
||||
local upperName = otherNode.name:gsub("%_upper", "")
|
||||
upperName = upperName:gsub(":", "_")
|
||||
local lowerName = newSlabName:gsub("%_lower", "")
|
||||
lowerName = lowerName:gsub(":", "_")
|
||||
|
||||
local nodeName = maskName .. ":" .. upperName .. "_" .. lowerName
|
||||
if minetest.registered_nodes[nodeName] then
|
||||
minetest.swap_node(above, {name = nodeName})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif above.y == under.y -1 then -- pointed to lower side
|
||||
local pointedNode = minetest.get_node(under)
|
||||
local newSlabName = itemstack:get_name()
|
||||
if minetest.registered_nodes[pointedNode.name] and
|
||||
minetest.registered_nodes[pointedNode.name].groups and
|
||||
minetest.registered_nodes[pointedNode.name].groups.orion_slabtype == SLAB_UPPER then
|
||||
|
||||
if pointedNode.name:gsub("%_upper", "_lower") == newSlabName then -- Same slabs twice, place the normal block
|
||||
minetest.swap_node(under, {name = pointedNode.name:gsub("%_upper", "")})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
else
|
||||
local upperName = pointedNode.name:gsub("%_upper", "")
|
||||
upperName = upperName:gsub(":", "_")
|
||||
local lowerName = newSlabName:gsub("%_lower", "")
|
||||
lowerName = lowerName:gsub(":", "_")
|
||||
|
||||
local nodeName = maskName .. ":" .. upperName .. "_" .. lowerName
|
||||
if minetest.registered_nodes[nodeName] then
|
||||
minetest.swap_node(under, {name = nodeName})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
end
|
||||
end
|
||||
else
|
||||
local otherNode = minetest.get_node(above)
|
||||
local newSlabName = itemstack:get_name()
|
||||
if minetest.registered_nodes[otherNode.name] and
|
||||
minetest.registered_nodes[otherNode.name].groups and
|
||||
minetest.registered_nodes[otherNode.name].groups.orion_slabtype == SLAB_LOWER then
|
||||
|
||||
if otherNode.name == newSlabName then -- Same slabs twice, place the normal block
|
||||
minetest.swap_node(above, {name = otherNode.name:gsub("%_lower", "")})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
else
|
||||
local upperName = otherNode.name:gsub("%_lower", "")
|
||||
upperName = upperName:gsub(":", "_")
|
||||
local lowerName = newSlabName:gsub("%_lower", "")
|
||||
lowerName = lowerName:gsub(":", "_")
|
||||
|
||||
local nodeName = maskName .. ":" .. lowerName .. "_" .. upperName
|
||||
if minetest.registered_nodes[nodeName] then
|
||||
minetest.swap_node(above, {name = nodeName})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
end
|
||||
end
|
||||
else
|
||||
if otherNode.name == "air" then
|
||||
local newName = newSlabName:gsub("%_lower", "_upper")
|
||||
minetest.set_node(above, {name = newName})
|
||||
return itemstack:take_item(itemstack:get_count() -1)
|
||||
end
|
||||
end
|
||||
end
|
||||
else -- any side was targeted
|
||||
-- if there is an "upper" variant here, place an upper variant
|
||||
-- if there is a normal node here try to determin magically weather to place upper or lower
|
||||
|
||||
end
|
||||
return minetest.item_place(itemstack, player, pointed_thing)
|
||||
end
|
||||
|
||||
|
||||
orion.register_slab_node = function(name, definition)
|
||||
minetest.register_node(name, definition)
|
||||
|
@ -13,16 +137,90 @@ orion.register_slab_node = function(name, definition)
|
|||
local upperDef = shallow_copy(definition)
|
||||
|
||||
lowerDef["paramtype"] = "light"
|
||||
lowerDef["description"] = lowerDef["description"] or "" .. " (lower)"
|
||||
lowerDef["drawtype"] = "nodebox"
|
||||
lowerDef["node_box"] = {
|
||||
type = "fixed",
|
||||
fixed = {-0.50, -0.50, -0.50, 0.50, 0.00, 0.50} }
|
||||
lowerDef["on_place"] = onPlace
|
||||
local lowerGroups = shallow_copy(definition["groups"])
|
||||
lowerDef.node_placement_prediction = "air"
|
||||
lowerGroups.orion_slabtype = SLAB_LOWER
|
||||
lowerDef["groups"] = lowerGroups
|
||||
minetest.register_node(name .. "_lower", lowerDef)
|
||||
|
||||
upperDef["paramtype"] = "light"
|
||||
upperDef["description"] = upperDef["description"] or "".. " (upper)"
|
||||
upperDef["drawtype"] = "nodebox"
|
||||
upperDef["node_box"] = {
|
||||
type = "fixed",
|
||||
fixed = {-0.50, 0.00, -0.50, 0.50, 0.50, 0.50 } }
|
||||
upperDef["drop"] = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{ items = { name .. "_lower" } }
|
||||
}
|
||||
}
|
||||
local upperGroups = shallow_copy(definition["groups"])
|
||||
upperGroups.not_in_creative_inventory = 1
|
||||
upperGroups.orion_slabtype = SLAB_UPPER
|
||||
upperDef["groups"] = upperGroups
|
||||
minetest.register_node(name .. "_upper", upperDef)
|
||||
|
||||
|
||||
|
||||
name = string.gsub(name, ":","_")
|
||||
if definition.drawtype ~= "glasslike" and definition.drawtype ~= "allfaces_optional" then
|
||||
for secondName, secondDefinition in pairs(opaqueNodes) do
|
||||
local secondUpper = shallow_copy(definition)
|
||||
local secondLower = shallow_copy(definition)
|
||||
local escapedName = string.gsub(secondName, ":", "_")
|
||||
local firstTiles = shallow_copy(definition["tiles"])
|
||||
if #firstTiles == 1 then
|
||||
firstTiles[2] = firstTiles[1]
|
||||
firstTiles[3] = firstTiles[1]
|
||||
firstTiles[4] = firstTiles[1]
|
||||
firstTiles[5] = firstTiles[1]
|
||||
firstTiles[6] = firstTiles[1]
|
||||
end
|
||||
local secondTiles = shallow_copy(secondDefinition["tiles"])
|
||||
if #secondTiles == 1 then
|
||||
secondTiles[2] = secondTiles[1]
|
||||
secondTiles[3] = secondTiles[1]
|
||||
secondTiles[4] = secondTiles[1]
|
||||
secondTiles[5] = secondTiles[1]
|
||||
secondTiles[6] = secondTiles[1]
|
||||
end
|
||||
secondLower["tiles"] = {
|
||||
firstTiles[1],
|
||||
secondTiles[2],
|
||||
firstTiles[3] .. "^[lowpart:50:" .. secondTiles[3],
|
||||
firstTiles[4] .. "^[lowpart:50:" .. secondTiles[4],
|
||||
firstTiles[5] .. "^[lowpart:50:" .. secondTiles[5],
|
||||
firstTiles[6] .. "^[lowpart:50:" .. secondTiles[6],
|
||||
}
|
||||
secondUpper["tiles"] = {
|
||||
secondTiles[1],
|
||||
firstTiles[2],
|
||||
secondTiles[3] .. "^[lowpart:50:" .. firstTiles[3],
|
||||
secondTiles[4] .. "^[lowpart:50:" .. firstTiles[4],
|
||||
secondTiles[5] .. "^[lowpart:50:" .. firstTiles[5],
|
||||
secondTiles[6] .. "^[lowpart:50:" .. firstTiles[6],
|
||||
}
|
||||
local groups = shallow_copy(definition["groups"])
|
||||
local secondGroup = shallow_copy(definition["groups"])
|
||||
for key, value in pairs(secondGroup) do
|
||||
if not groups[key] then groups[key] = value end
|
||||
end
|
||||
groups.not_in_creative_inventory = 1
|
||||
groups.orion_slabtype = SLAB_COMBO
|
||||
secondLower.groups = groups
|
||||
secondLower.description = definition["description"] .. " (upper)\n" .. secondDefinition["description"] .. " (lower)"
|
||||
minetest.register_node(":" ..maskName .. ":" .. name .. "_" .. escapedName, secondLower)
|
||||
secondUpper.groups = groups
|
||||
secondUpper.description = secondDefinition["description"] .. " (upper)\n" .. definition["description"] .. " (lower)"
|
||||
minetest.register_node(":" ..maskName .. ":" .. escapedName .. "_" .. name, secondUpper)
|
||||
end
|
||||
opaqueNodes[name] = definition
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
orionapi
|
|
@ -0,0 +1,13 @@
|
|||
local NAME = minetest.get_current_modname()
|
||||
local PATH = minetest.get_modpath(NAME) .."/lua/"
|
||||
local MODFILES = minetest.get_dir_list(PATH, false)
|
||||
|
||||
spacenum = 20 - string.len(NAME)
|
||||
|
||||
-- This assumes that the lua/ subdir contains lua code only.
|
||||
|
||||
for i=1,table.getn(MODFILES),1
|
||||
do
|
||||
minetest.debug("│ "..NAME .. string.rep(" ",spacenum) .."load " .. MODFILES[i])
|
||||
dofile(PATH .. MODFILES[i])
|
||||
end
|
|
@ -0,0 +1,10 @@
|
|||
NAME = minetest:get_current_modname()
|
||||
local bricks = {"copper", "gold", "iron", "nickel", "stone", "stone2"}
|
||||
|
||||
for key, brickName in pairs(bricks) do
|
||||
orion.register_slab_node(NAME .. ":" .. brickName .. "_brick", {
|
||||
tiles = { NAME .. "_" .. brickName .. "_brick.png" },
|
||||
groups = { solids = 3 },
|
||||
paramtype2 = "facedir",
|
||||
})
|
||||
end
|
Binary file not shown.
After Width: | Height: | Size: 163 B |
Binary file not shown.
After Width: | Height: | Size: 163 B |
Binary file not shown.
After Width: | Height: | Size: 165 B |
Binary file not shown.
After Width: | Height: | Size: 162 B |
Binary file not shown.
After Width: | Height: | Size: 188 B |
Binary file not shown.
After Width: | Height: | Size: 174 B |
|
@ -98,16 +98,16 @@ minetest.register_chatcommand("resetscale", {
|
|||
end
|
||||
})
|
||||
|
||||
|
||||
local function populateCreativeInventory(player)
|
||||
local inventory = player:get_inventory()
|
||||
inventory:set_list("crafting", nil)
|
||||
inventory:set_size("crafting", 500)
|
||||
for name, node in pairs(minetest.registered_nodes) do
|
||||
inventory:add_item("crafting", ItemStack(node.name .. " 256"))
|
||||
if node.groups.not_in_creative_inventory ~= 1 then
|
||||
inventory:add_item("crafting", ItemStack(node.name .. " 256"))
|
||||
end
|
||||
end
|
||||
--for name, item in pairs(minetest.registered_items) do
|
||||
-- inventory:add_item("crafting", ItemStack(item.name .. " 256"))
|
||||
--end
|
||||
for name, tools in pairs(minetest.registered_tools) do
|
||||
local newTool = ItemStack(tools.name)
|
||||
local meta = newTool:get_meta()
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
orionapi
|
|
@ -1,4 +1,4 @@
|
|||
orion.register_slab_node("sparkdebug:energyvoid", {
|
||||
minetest.register_node("sparkdebug:energyvoid", {
|
||||
description = "Energy Void",
|
||||
tiles = {
|
||||
"capacitor_top.png",
|
||||
|
@ -16,8 +16,7 @@ orion.register_slab_node("sparkdebug:energyvoid", {
|
|||
sparktech_techy = WRENCHABLE
|
||||
}
|
||||
})
|
||||
|
||||
orion.register_slab_node("sparkdebug:energysource", {
|
||||
minetest.register_node("sparkdebug:energysource", {
|
||||
description = "Energy Source",
|
||||
tiles = {
|
||||
"capacitor_top.png",
|
||||
|
|
|
@ -23,31 +23,31 @@ local function process(itemstack, curr, node)
|
|||
end
|
||||
|
||||
minetest.register_chatcommand("fillblock", {
|
||||
desc = "Set the fill block for the Land Clear tool",
|
||||
params = "nodestring",
|
||||
func = function (name, param)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player then
|
||||
player:set_attribute("sparkdebug_clearnode", param)
|
||||
return true, "It is done."
|
||||
else
|
||||
return false, "Player not online."
|
||||
end
|
||||
end
|
||||
desc = "Set the fill block for the Land Clear tool",
|
||||
params = "nodestring",
|
||||
func = function (name, param)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player then
|
||||
player:set_attribute("sparkdebug_clearnode", param)
|
||||
return true, "It is done."
|
||||
else
|
||||
return false, "Player not online."
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_tool("sparkdebug:landclear", {
|
||||
description = "Land Clear",
|
||||
inventory_image = "landclear.png",
|
||||
stack_max = 1,
|
||||
range = 50.0,
|
||||
on_use = function(itemstack, player, pointed_thing)
|
||||
if pointed_thing["type"] == "node" then
|
||||
return process(itemstack, pointed_thing.under, player:get_attribute("sparkdebug_clearnode") or "air")
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return process(itemstack, placer:get_pos(), placer:get_attribute("sparkdebug_clearnode") or "air")
|
||||
end
|
||||
description = "Land Clear",
|
||||
inventory_image = "landclear.png",
|
||||
stack_max = 1,
|
||||
range = 50.0,
|
||||
on_use = function(itemstack, player, pointed_thing)
|
||||
if pointed_thing["type"] == "node" then
|
||||
return process(itemstack, pointed_thing.under, player:get_attribute("sparkdebug_clearnode") or "air")
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return process(itemstack, placer:get_pos(), placer:get_attribute("sparkdebug_clearnode") or "air")
|
||||
end
|
||||
})
|
||||
|
|
|
@ -1,37 +1,87 @@
|
|||
local NAME = minetest.get_current_modname()
|
||||
local MAX_ENERGY = 30
|
||||
local MAX_ENERGY = 40
|
||||
|
||||
local timer = function(pos, elapsed, light_level)
|
||||
local setEnergyLevelNode = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
energy = meta:get_int("energy")
|
||||
local light_level = sparktech.getoption(pos, "light_level")
|
||||
local enabled = sparktech.getoption(pos, "enabled")
|
||||
|
||||
local maxLevel = math.floor(energy / 10)
|
||||
if not enabled then maxLevel = 0 end
|
||||
|
||||
|
||||
local level = math.min(light_level, maxLevel)
|
||||
if level == 0 then
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_off"})
|
||||
elseif level == 1 then
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_lv1"})
|
||||
elseif level == 2 then
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_lv2"})
|
||||
elseif level == 3 then
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_lv3"})
|
||||
end
|
||||
return level
|
||||
end
|
||||
|
||||
|
||||
|
||||
local optionsChanged = function(pos, name)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
if name == "enabled" then
|
||||
if sparktech.getoption(pos, name) then
|
||||
setEnergyLevelNode(pos)
|
||||
timer:start(1.0)
|
||||
else
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_off"})
|
||||
timer:stop()
|
||||
end
|
||||
end
|
||||
if name == "light_level" then
|
||||
if setEnergyLevelNode(pos) > 0 then
|
||||
timer:start(1.0)
|
||||
else
|
||||
timer:stop()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local op_punch = function(pos)
|
||||
local lightLevel = sparktech.getoption(pos, "light_level")
|
||||
lightLevel = lightLevel -1
|
||||
if lightLevel == -1 then lightLevel = 3 end
|
||||
|
||||
sparktech.setoption(pos, "light_level", lightLevel)
|
||||
end
|
||||
|
||||
|
||||
|
||||
local timer = function(pos, elapsed, energyDrain)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local energy = meta:get_int("energy")
|
||||
|
||||
if energy >= light_level or not sparktech.getoption(pos, "enabled") then
|
||||
energy = energy - light_level
|
||||
|
||||
if sparktech.getoption(pos, "enabled") then
|
||||
energy = energy - energyDrain
|
||||
meta:set_int("energy", energy)
|
||||
else
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_off"})
|
||||
minetest.get_node_timer(pos):start(1.0) -- TODO: energy wakeup?
|
||||
return
|
||||
end
|
||||
if energy <= light_level then
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_off"})
|
||||
elseif energy < 10 then
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_lv1"})
|
||||
elseif energy < 20 then
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_lv2"})
|
||||
else
|
||||
minetest.swap_node(pos, {name = NAME .. ":light_lv3"})
|
||||
end
|
||||
setEnergyLevelNode(pos, 3)
|
||||
minetest.get_node_timer(pos):start(1.0) -- TODO: energy wakeup?
|
||||
end
|
||||
|
||||
|
||||
minetest.register_node(NAME .. ":light_off", {
|
||||
description = "Unpowered light",
|
||||
tiles = {
|
||||
NAME .. "_lamp_off.png",
|
||||
},
|
||||
description = "Unpowered light",
|
||||
tiles = {
|
||||
NAME .. "_lamp_off.png",
|
||||
},
|
||||
on_timer = function(pos, elapsed) timer(pos, elapsed, 0) end,
|
||||
on_construct = function(pos, elapsed) timer(pos, elapsed, 0) end,
|
||||
on_punch = op_punch,
|
||||
groups = {
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
|
@ -42,7 +92,7 @@ minetest.register_node(NAME .. ":light_off", {
|
|||
},
|
||||
_sparkoption = {
|
||||
enabled = true,
|
||||
light_level = 0
|
||||
light_level = 3
|
||||
},
|
||||
_sparkoutput = {
|
||||
brightness = function(node) return 0 end
|
||||
|
@ -50,6 +100,7 @@ minetest.register_node(NAME .. ":light_off", {
|
|||
_sparkoutputtype = {
|
||||
brightness = type(0)
|
||||
},
|
||||
_sparkoptionchanged = optionsChanged,
|
||||
light_source = 0
|
||||
})
|
||||
|
||||
|
@ -61,6 +112,7 @@ minetest.register_node(NAME .. ":light_lv1", {
|
|||
},
|
||||
on_timer = function(pos, elapsed) timer(pos, elapsed, 1) end,
|
||||
on_construct = function(pos, elapsed) timer(pos, elapsed, 1) end,
|
||||
on_punch = op_punch,
|
||||
groups = {
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
|
@ -71,7 +123,7 @@ minetest.register_node(NAME .. ":light_lv1", {
|
|||
},
|
||||
_sparkoption = {
|
||||
enabled = true,
|
||||
light_level = 0
|
||||
light_level = 3
|
||||
},
|
||||
_sparkoutput = {
|
||||
brightness = function(node) return 1 end
|
||||
|
@ -79,6 +131,7 @@ minetest.register_node(NAME .. ":light_lv1", {
|
|||
_sparkoutputtype = {
|
||||
brightness = type(1)
|
||||
},
|
||||
_sparkoptionchanged = optionsChanged,
|
||||
drop = NAME .. ":light_off",
|
||||
light_source = minetest.LIGHT_MAX / 3
|
||||
})
|
||||
|
@ -91,6 +144,7 @@ minetest.register_node(NAME .. ":light_lv2", {
|
|||
},
|
||||
on_timer = function(pos, elapsed) timer(pos, elapsed, 2) end,
|
||||
on_construct = function(pos, elapsed) timer(pos, elapsed, 2) end,
|
||||
on_punch = op_punch,
|
||||
groups = {
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
|
@ -101,7 +155,7 @@ minetest.register_node(NAME .. ":light_lv2", {
|
|||
},
|
||||
_sparkoption = {
|
||||
enabled = true,
|
||||
light_level = 0
|
||||
light_level = 3
|
||||
},
|
||||
_sparkoutput = {
|
||||
brightness = function(node) return 2 end
|
||||
|
@ -109,6 +163,7 @@ minetest.register_node(NAME .. ":light_lv2", {
|
|||
_sparkoutputtype = {
|
||||
brightness = type(2)
|
||||
},
|
||||
_sparkoptionchanged = optionsChanged,
|
||||
drop = NAME .. ":light_off",
|
||||
light_source = (2 *minetest.LIGHT_MAX /3)
|
||||
})
|
||||
|
@ -120,7 +175,8 @@ minetest.register_node(NAME .. ":light_lv3", {
|
|||
NAME .. "_lamp_3.png",
|
||||
},
|
||||
on_timer = function(pos, elapsed) timer(pos, elapsed, 3) end,
|
||||
on_construct = function(pos, elapsed) timer(pos, elapsed, 3) end,
|
||||
on_construct = function(pos, elapsed) timer(pos, elapsed, 3) end,
|
||||
on_punch = op_punch,
|
||||
groups = {
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
|
@ -131,7 +187,7 @@ minetest.register_node(NAME .. ":light_lv3", {
|
|||
},
|
||||
_sparkoption = {
|
||||
enabled = true,
|
||||
light_level = 0
|
||||
light_level = 3
|
||||
},
|
||||
_sparkoutput = {
|
||||
brightness = function(node) return 3 end
|
||||
|
@ -139,6 +195,7 @@ minetest.register_node(NAME .. ":light_lv3", {
|
|||
_sparkoutputtype = {
|
||||
brightness = type(3)
|
||||
},
|
||||
_sparkoptionchanged = optionsChanged,
|
||||
drop = NAME .. ":light_off",
|
||||
light_source = minetest.LIGHT_MAX
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue