mods that hopefully work for a TechAge-based pack
This commit is contained in:
1 parent
4e6b08d194
commit
c27db2a537
6234 files changed
+375578
No files matched your search
@@ -0,0 +1,65 @@
|
||||
--[[
|
||||
|
||||
TechAge
|
||||
=======
|
||||
|
||||
Copyright (C) 2020 Joachim Stolberg
|
||||
|
||||
AGPL v3
|
||||
See LICENSE.txt for more information
|
||||
|
||||
TA4 Invisible Light Block
|
||||
|
||||
]]--
|
||||
|
||||
local S = techage.S
|
||||
|
||||
-- 9 light positions in a 3x3 field
|
||||
local Positions = {
|
||||
{x =-1, y = 0, z = 0},
|
||||
{x = 0, y = 0, z =-1},
|
||||
{x = 1, y = 0, z = 0},
|
||||
{x = 0, y = 0, z = 1},
|
||||
{x =-1, y = 0, z =-1},
|
||||
{x = 1, y = 0, z = 1},
|
||||
{x =-1, y = 0, z = 1},
|
||||
{x = 1, y = 0, z =-1},
|
||||
}
|
||||
|
||||
minetest.register_node("techage:lightblock", {
|
||||
description = "Techage Light Block",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
light_source = minetest.LIGHT_MAX,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
is_ground_content = false,
|
||||
groups = {not_in_creative_inventory=1},
|
||||
drop = "",
|
||||
})
|
||||
|
||||
function techage.light_ring(center_pos, on, large)
|
||||
if on then
|
||||
for _,dir in ipairs(Positions) do
|
||||
if large then
|
||||
dir = vector.multiply(dir, 2)
|
||||
end
|
||||
local pos1 = vector.add(center_pos, dir)
|
||||
local node = techage.get_node_lvm(pos1)
|
||||
if node.name == "air" then
|
||||
minetest.set_node(pos1, {name = "techage:lightblock"})
|
||||
end
|
||||
end
|
||||
else
|
||||
local pos1 = {x=center_pos.x-2, y=center_pos.y-2, z=center_pos.z-2}
|
||||
local pos2 = {x=center_pos.x+2, y=center_pos.y+2, z=center_pos.z+2}
|
||||
for _,pos in ipairs(minetest.find_nodes_in_area(pos1, pos2, "techage:lightblock")) do
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
minetest.fix_light(pos1, pos2)
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user