Initial commit.

This commit is contained in:
Signal 2026-02-14 12:36:36 -05:00
commit b5c753ff4d
129 changed files with 4472 additions and 0 deletions

298
mods/firefly_world/init.lua Normal file
View file

@ -0,0 +1,298 @@
local ns = firefly
function ns.register_node(name, def)
local needs_alias
if not name:find ":" then
def._name = name
name = "firefly:"..name
needs_alias = true
end
if not def.groups then def.groups = {} end
def.groups.everything = 1
def.groups.dig_immediate = 3
if def._variants then
for i, x in ipairs(def.tiles) do
if not x.name then
def.tiles[i] = {name = x, align_style = "world"}
end
end
for _, x in ipairs(def._variants) do
if x == "slab" then
ns.register_slab(def)
elseif x == "stair" then
ns.register_stair(def)
end
end
end
minetest.register_node(":"..name, def)
if needs_alias then
minetest.register_alias(def._name, name)
end
end
function ns.register_slab(def)
def = table.copy(def)
def._variants = nil
local paramtype2 = def.paramtype2 == "color" and "colorfacedir" or "facedir"
ns.register_node(def._name.."_slab", extend(def, {
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}
},
paramtype = "light",
paramtype2 = paramtype2
}))
end
function ns.register_stair(def)
def = table.copy(def)
def._variants = nil
def.groups[def._name.."_stair"] = 1
local paramtype2 = def.paramtype2 == "color" and "colorfacedir" or "facedir"
ns.register_node(def._name.."_stair", extend(table.copy(def), {
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {{-0.5, -0.5, -0.5, 0.5, 0, 0.5}, {-0.5, -0.5, 0, 0.5, 0.5, 0.5}}
},
paramtype = "light",
paramtype2 = paramtype2
}))
ns.register_node(def._name.."_stair_inner", extend(table.copy(def), {
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {{-0.5, -0.5, -0.5, 0.5, 0, 0.5}, {-0.5, -0.5, 0, 0.5, 0.5, 0.5}, {-0.5, -0.5, -0.5, 0, 0.5, 0.5}}
},
paramtype = "light",
paramtype2 = paramtype2
}))
ns.register_node(def._name.."_stair_outer", extend(def, {
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {{-0.5, -0.5, -0.5, 0.5, 0, 0.5}, {-0.5, 0, 0.5, 0, 0.5, 0}}
},
paramtype = "light",
paramtype2 = paramtype2
}))
end
ns.register_node("dirt", {
tiles = {"firefly_dirt.png"}
})
ns.register_node("dirt_grass", {
tiles = {"firefly_grass_top.png", "firefly_dirt.png", "firefly_dirt.png^firefly_grass_side.png"}
})
ns.register_node("grass", {
drawtype = "plantlike",
tiles = {"firefly_grass.png"},
paramtype = "light",
sunlight_propagates = true,
walkable = false,
})
ns.register_node("snow", {
tiles = {"firefly_snow_top.png"}
})
ns.register_node("snow_leveled", {
drawtype = "nodebox",
tiles = {"firefly_snow_top.png"},
node_box = {
type = "leveled",
fixed = {
-0.5, -0.5, -0.5,
0.5, 6/16, 0.5
}
},
paramtype = "light",
paramtype2 = "leveled",
place_param2 = 8
})
ns.register_node("snow_grass", {
drawtype = "plantlike",
tiles = {"firefly_snow_grass.png"},
paramtype = "light",
sunlight_propagates = true,
walkable = false,
})
ns.register_node("sand", {
tiles = {"firefly_sand.png"}
})
ns.register_node("sand_leveled", {
drawtype = "nodebox",
tiles = {"firefly_sand.png"},
node_box = {
type = "leveled",
fixed = {
-0.5, -0.5, -0.5,
0.5, 6/16, 0.5
}
},
paramtype = "light",
paramtype2 = "leveled",
place_param2 = 64
})
ns.register_node("sandstone", {
tiles = {"firefly_sandstone.png"},
_variants = {"slab", "stair"},
})
ns.register_node("sandstone_sandy", {
tiles = {"firefly_sand.png", "firefly_sandstone.png", "firefly_sandstone.png^firefly_sand_side_2.png"}
})
ns.register_node("sandstone_bricks", {
tiles = {"firefly_sandstone_bricks.png"},
_variants = {"slab", "stair"},
})
ns.register_node("sandstone_bricks_sandy", {
tiles = {"firefly_sand.png", "firefly_sandstone_bricks.png", "firefly_sandstone_bricks.png^firefly_sand_side.png"}
})
ns.register_node("cactus", {
tiles = {"firefly_cactus_top.png", "firefly_cactus_top.png", "firefly_cactus_side.png"},
paramtype2 = "facedir"
})
ns.register_node("stone", {
tiles = {"firefly_stone.png"},
_variants = {"slab", "stair"},
})
ns.register_node("stone_bricks", {
tiles = {"firefly_stone_bricks.png"},
_variants = {"slab", "stair"},
})
ns.register_node("metal_floor", {
tiles = {"firefly_metal_floor.png"},
_variants = {"slab", "stair"},
})
ns.register_node("orange_light", {
tiles = {"firefly_orange_light.png"},
paramtype = "light",
light_source = 14
})
ns.register_node("gray_pillar", {
tiles = {"firefly_gray_pillar_top.png", "firefly_gray_pillar_top.png", "firefly_gray_pillar_side.png"},
paramtype2 = "facedir",
_variants = {"slab", "stair"},
})
ns.register_node("gray_column", {
tiles = {{name = "firefly_gray_column.png"}},
paramtype2 = "4dir",
_variants = {"slab", "stair"},
})
ns.register_node("gray_wall", {
tiles = {"firefly_gray_wall.png"},
_variants = {"slab", "stair"},
})
ns.register_node("gray_tile", {
tiles = {"firefly_gray_tile.png"},
_variants = {"slab", "stair"},
})
local brown = "#584e2d"
ns.register_node("brown_wall", {
tiles = {"firefly_wall.png"},
_variants = {"slab", "stair"},
color = brown,
})
ns.register_node("brown_column", {
tiles = {{name = "firefly_column.png"}},
paramtype2 = "4dir",
_variants = {"slab", "stair"},
color = brown,
})
ns.register_node("brown_pillar", {
tiles = {"firefly_pillar_top.png", "firefly_pillar_top.png", "firefly_pillar_side.png"},
paramtype2 = "facedir",
_variants = {"slab", "stair"},
color = brown,
})
ns.register_node("glass", {
paramtype = "light",
sunlight_propagates = true,
tiles = {{name = "firefly_glass.png", align_style = "world"}},
use_texture_alpha = "clip",
_variants = {"slab", "stair"},
})
ns.register_node("colored_glass", {
drawtype = "glasslike",
paramtype = "light",
paramtype2 = "color",
palette = "firefly_glass_palette.png",
sunlight_propagates = true,
tiles = {{name = "firefly_colored_glass.png", align_style = "world"}},
use_texture_alpha = "blend",
_variants = {"slab", "stair"},
})
ns.register_node("steel_grate", {
drawtype = "mesh",
mesh = "firefly_steel_grate.obj",
tiles = {{name = "firefly_steel_grate.png", backface_culling = true}},
use_texture_alpha = "clip",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "facedir",
collision_box = {
type = "fixed",
fixed = {
-0.5, 6/16, -0.5,
0.5, 0.5, 0.5
}
},
selection_box = {
type = "fixed",
fixed = {
-0.5, 6/16, -0.5,
0.5, 0.5, 0.5
}
}
})
minetest.register_chatcommand("chest", {
privs = {give = true},
func = function(name)
minetest.registered_chatcommands.giveme.func(name, "chest_with_everything:chest")
end
})

View file

@ -0,0 +1,2 @@
name = firefly_world
depends = firefly_base

View file

@ -0,0 +1,49 @@
# Made in Blockbench 4.12.5
mtllib firefly_steel_grate.mtl
o cube
v 0.5 0.5 0.5
v 0.5 0.5 -0.5
v 0.5 0.375 0.5
v 0.5 0.375 -0.5
v -0.5 0.5 -0.5
v -0.5 0.5 0.5
v -0.5 0.375 -0.5
v -0.5 0.375 0.5
vt 0.5 1
vt 1 1
vt 1 0.9375
vt 0.5 0.9375
vt 0.5 0.9375
vt 1 0.9375
vt 1 0.875
vt 0.5 0.875
vt 0.5 0.875
vt 1 0.875
vt 1 0.8125
vt 0.5 0.8125
vt 0.5 0.8125
vt 1 0.8125
vt 1 0.75
vt 0.5 0.75
vt 0.5 0.5
vt 0 0.5
vt 0 1
vt 0.5 1
vt 0.5 0.5
vt 0 0.5
vt 0 0
vt 0.5 0
vn 0 0 -1
vn 1 0 0
vn 0 0 1
vn -1 0 0
vn 0 1 0
vn 0 -1 0
usemtl m_18cc3c99-d6ee-54f4-84b1-03e8119d680b
f 4/4/1 7/3/1 5/2/1 2/1/1
f 3/8/2 4/7/2 2/6/2 1/5/2
f 8/12/3 3/11/3 1/10/3 6/9/3
f 7/16/4 8/15/4 6/14/4 5/13/4
f 6/20/5 1/19/5 2/18/5 5/17/5
f 7/24/6 4/23/6 3/22/6 8/21/6

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B