934 lines
32 KiB
Lua
934 lines
32 KiB
Lua
local S = minetest.get_translator(minetest.get_current_modname())
|
|
-- Same as S, but will be ignored by mod translation updater
|
|
local T = S
|
|
|
|
-- Nodes
|
|
|
|
minetest.register_node("gloopblocks:rainbow_block_diagonal", {
|
|
description = S("Diagonal Rainbow Block"),
|
|
tiles = {"gloopblocks_rainbow_block.png"},
|
|
is_ground_content = false,
|
|
groups = {cracky=3},
|
|
sounds = default.node_sound_defaults(),
|
|
})
|
|
minetest.register_alias("gloopblocks:rainbow_block", "gloopblocks:rainbow_block_diagonal")
|
|
|
|
minetest.register_node("gloopblocks:rainbow_block_horizontal", {
|
|
description = S("Horizontal Rainbow Block"),
|
|
tiles = {
|
|
"gloopblocks_rainbow_horizontal.png^[transformR90",
|
|
"gloopblocks_rainbow_horizontal.png^[transformR90",
|
|
"gloopblocks_rainbow_horizontal.png"
|
|
},
|
|
paramtype = "light",
|
|
light_source = default.LIGHT_MAX,
|
|
paramtype2 = "facedir",
|
|
groups = {cracky = 2},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_defaults(),
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:evil_block", {
|
|
description = S("Evil Block"),
|
|
tiles = {"gloopblocks_evil_block.png"},
|
|
light_source = 5,
|
|
is_ground_content = false,
|
|
groups = {cracky=2},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:basalt", {
|
|
description = S("Basalt"),
|
|
tiles = {"gloopblocks_basalt.png"},
|
|
groups = {cracky=2},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:pumice", {
|
|
description = S("Pumice"),
|
|
tiles = {"gloopblocks_pumice.png"},
|
|
groups = {cracky=3},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
|
|
minetest.register_node("gloopblocks:pavement", {
|
|
description = S("Pavement"),
|
|
tiles = {"gloopblocks_pavement.png"},
|
|
groups = {cracky=3, oddly_breakable_by_hand=3},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:oerkki_block", {
|
|
drawtype = "nodebox",
|
|
description = S("Oerkki Block"),
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {
|
|
"gloopblocks_oerkkiblock_tb.png",
|
|
"gloopblocks_oerkkiblock_tb.png",
|
|
"gloopblocks_oerkkiblock_sides.png",
|
|
"gloopblocks_oerkkiblock_sides.png",
|
|
"gloopblocks_oerkkiblock_sides.png",
|
|
"gloopblocks_oerkkiblock_front.png"
|
|
},
|
|
groups = {cracky=3, oddly_breakable_by_hand=3},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.1875, 0.5, 0.5, 0.1875}, -- NodeBox1
|
|
{-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5}, -- NodeBox2
|
|
{0.4375, -0.5, -0.5, 0.5, 0.5, 0.5}, -- NodeBox3
|
|
{-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox4
|
|
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, -- NodeBox5
|
|
{-0.5, -0.0625, -0.5, 0.5, 0.0625, 0.5}, -- NodeBox6
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:stone_brick_mossy", {
|
|
description = S("Mossy Stone Brick"),
|
|
tiles = {"gloopblocks_stone_brick_mossy.png"},
|
|
groups = {cracky=3, stone=1},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:stone_mossy", {
|
|
description = S("Mossy Stone"),
|
|
tiles = {"gloopblocks_stone_mossy.png"},
|
|
groups = {cracky=3, stone=1},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = "default:mossycobble"
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:cobble_road", {
|
|
description = S("Cobblestone Roadbed"),
|
|
tiles = {"gloopblocks_cobble_road.png"},
|
|
groups = {cracky=3, stone=1},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:cobble_road_mossy", {
|
|
description = S("Mossy Cobblestone Roadbed"),
|
|
tiles = {"gloopblocks_cobble_road_mossy.png"},
|
|
groups = {cracky=3, stone=1},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:scaffolding", {
|
|
description = S("Wooden Scaffold"),
|
|
drawtype = "allfaces",
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
tiles = {"gloopblocks_scaffold.png"},
|
|
groups = {choppy=3, oddly_breakable_by_hand=3},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_wood_defaults(),
|
|
})
|
|
|
|
minetest.register_node("gloopblocks:concrete_sidewalk", {
|
|
description = S("Concrete sidewalk"),
|
|
tiles = {
|
|
"basic_materials_concrete_block.png",
|
|
"basic_materials_concrete_block.png^gloopblocks_concrete_sidewalk_overlay.png",
|
|
"gloopblocks_packed_dirt.png"
|
|
},
|
|
drawtype = "mesh",
|
|
mesh = "gloopblocks_sidewalk.obj",
|
|
paramtype2 = "facedir",
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
|
|
},
|
|
collision_box = {
|
|
type = "fixed",
|
|
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5625, 0.5 }
|
|
},
|
|
on_rotate = screwdriver.rotate_simple,
|
|
groups = {cracky=2},
|
|
is_ground_content = false,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
|
|
minetest.register_alias("moreblocks:oerkkiblock", "gloopblocks:oerkki_block")
|
|
minetest.register_alias("gloopblocks:obsidian", "default:obsidian")
|
|
|
|
-- Nodes imported from Usesdirt ================================================================================
|
|
|
|
if not minetest.get_modpath("usesdirt") then
|
|
|
|
local dirt_brick_tex = "default_dirt.png^gloopblocks_dirt_brick_overlay.png"
|
|
local dirt_cobble_tex = "default_cobble.png^(default_dirt.png^[mask:gloopblocks_dirt_cobble_mask.png)"
|
|
local dirt_stone_tex = "default_stone.png^(default_dirt.png^[mask:gloopblocks_dirt_stone_mask.png)"
|
|
|
|
local dirt_ladder_tex = "(default_dirt.png^[mask:gloopblocks_ladder_mask.png)^gloopblocks_ladder_overlay.png"
|
|
local dirt_brick_ladder_tex = "(("..dirt_brick_tex..")^[mask:gloopblocks_ladder_mask.png)^gloopblocks_ladder_overlay.png"
|
|
local dirt_cobble_ladder_tex = "(("..dirt_cobble_tex..")^[mask:gloopblocks_ladder_mask.png)^gloopblocks_ladder_overlay.png"
|
|
local dirt_stone_ladder_tex = "(("..dirt_stone_tex..")^[mask:gloopblocks_ladder_mask.png)^gloopblocks_ladder_overlay.png"
|
|
|
|
minetest.register_node(":usesdirt:dirt_brick", {
|
|
tiles = { dirt_brick_tex },
|
|
description = "Dirt Brick",
|
|
groups = {snappy=2,choppy=1,oddly_breakable_by_hand=2},
|
|
is_ground_content = false,
|
|
})
|
|
|
|
minetest.register_node(":usesdirt:dirt_brick_ladder", {
|
|
description = "Dirt Brick Ladder",
|
|
drawtype = "signlike",
|
|
tiles = { dirt_brick_ladder_tex },
|
|
inventory_image = dirt_brick_ladder_tex,
|
|
wield_image = dirt_brick_ladder_tex,
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
is_ground_content = false,
|
|
walkable = false,
|
|
climbable = true,
|
|
selection_box = {
|
|
type = "wallmounted",
|
|
--wall_top = = <default>
|
|
--wall_bottom = = <default>
|
|
--wall_side = = <default>
|
|
},
|
|
groups = {cracky=3, stone=2},
|
|
legacy_wallmounted = true,
|
|
})
|
|
minetest.register_craft({
|
|
output = 'usesdirt:dirt_brick_ladder 3',
|
|
recipe = {
|
|
{'usesdirt:dirt_brick', '', 'usesdirt:dirt_brick'},
|
|
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick','usesdirt:dirt_brick'},
|
|
{'usesdirt:dirt_brick','','usesdirt:dirt_brick'},
|
|
}
|
|
})
|
|
|
|
default.register_fence(":usesdirt:dirt_brick_fence", {
|
|
description = "Dirt Brick Fence",
|
|
texture = dirt_brick_tex,
|
|
inventory_image = "default_fence_overlay.png^("..dirt_brick_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
|
wield_image = "default_fence_overlay.png^("..dirt_brick_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
|
material = "usesdirt:dirt_brick",
|
|
groups = {cracky=3, stone=2},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
check_for_pole = true
|
|
})
|
|
|
|
if minetest.get_modpath("moreblocks") then
|
|
minetest.register_craft({
|
|
output = 'usesdirt:dirt_brick 24',
|
|
recipe = {
|
|
{'moreblocks:dirt_compressed', 'moreblocks:dirt_compressed', '' },
|
|
{'moreblocks:dirt_compressed', 'moreblocks:dirt_compressed', '' }
|
|
}
|
|
})
|
|
else
|
|
minetest.register_craft({
|
|
output = 'usesdirt:dirt_brick 6',
|
|
recipe = {
|
|
{'default:dirt', 'default:dirt', 'default:dirt'},
|
|
{'default:dirt', 'default:dirt', 'default:dirt'},
|
|
{'default:dirt', 'default:dirt', 'default:dirt'},
|
|
}
|
|
})
|
|
end
|
|
|
|
minetest.register_node(":usesdirt:dirt_ladder", {
|
|
description = "Dirt Ladder",
|
|
drawtype = "signlike",
|
|
tiles = { dirt_ladder_tex },
|
|
inventory_image = dirt_ladder_tex,
|
|
wield_image = dirt_ladder_tex,
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
is_ground_content = false,
|
|
walkable = false,
|
|
climbable = true,
|
|
selection_box = {
|
|
type = "wallmounted",
|
|
--wall_top = = <default>
|
|
--wall_bottom = = <default>
|
|
--wall_side = = <default>
|
|
},
|
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3},
|
|
legacy_wallmounted = true,
|
|
})
|
|
minetest.register_craft({
|
|
output = 'usesdirt:dirt_ladder 3',
|
|
recipe = {
|
|
{'usesdirt:dirt_brick', '', 'usesdirt:dirt_brick'},
|
|
{'usesdirt:dirt_brick', '','usesdirt:dirt_brick'},
|
|
{'usesdirt:dirt_brick','','usesdirt:dirt_brick'},
|
|
}
|
|
})
|
|
|
|
default.register_fence(":usesdirt:dirt_fence", {
|
|
description = "Dirt Fence",
|
|
texture = "default_dirt.png",
|
|
inventory_image = "default_fence_overlay.png^default_dirt.png^default_fence_overlay.png^[makealpha:255,126,126",
|
|
wield_image = "default_fence_overlay.png^default_dirt.png^default_fence_overlay.png^[makealpha:255,126,126",
|
|
material = "default:dirt",
|
|
groups = {snappy=2,choppy=1,oddly_breakable_by_hand=3},
|
|
sounds = default.node_sound_dirt_defaults(),
|
|
check_for_pole = true
|
|
})
|
|
|
|
----
|
|
|
|
minetest.register_node(":usesdirt:dirt_cobble_stone", {
|
|
tiles = { dirt_cobble_tex },
|
|
description = "Dirt Cobblestone",
|
|
is_ground_content = false,
|
|
groups = {cracky=3, stone=2},
|
|
})
|
|
minetest.register_craft({
|
|
output = '"usesdirt:dirt_cobble_stone" 3',
|
|
recipe = {
|
|
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'},
|
|
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'},
|
|
{'usesdirt:dirt_brick', 'usesdirt:dirt_brick', 'usesdirt:dirt_brick'},
|
|
}
|
|
})
|
|
|
|
minetest.register_node(":usesdirt:dirt_cobble_stone_ladder", {
|
|
description = "Dirt Cobblestone Ladder",
|
|
drawtype = "signlike",
|
|
tiles = { dirt_cobble_ladder_tex },
|
|
inventory_image = dirt_cobble_ladder_tex,
|
|
wield_image = dirt_cobble_ladder_tex,
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
is_ground_content = false,
|
|
walkable = false,
|
|
climbable = true,
|
|
selection_box = {
|
|
type = "wallmounted",
|
|
--wall_top = = <default>
|
|
--wall_bottom = = <default>
|
|
--wall_side = = <default>
|
|
},
|
|
groups = {cracky=3, stone=2},
|
|
legacy_wallmounted = true,
|
|
})
|
|
minetest.register_craft({
|
|
output = 'usesdirt:dirt_cobble_stone_ladder 3',
|
|
recipe = {
|
|
{'usesdirt:dirt_cobble_stone', '', 'usesdirt:dirt_cobble_stone'},
|
|
{'usesdirt:dirt_cobble_stone', 'usesdirt:dirt_cobble_stone','usesdirt:dirt_cobble_stone'},
|
|
{'usesdirt:dirt_cobble_stone','','usesdirt:dirt_cobble_stone'},
|
|
}
|
|
})
|
|
|
|
default.register_fence(":usesdirt:dirt_cobble_stone_fence", {
|
|
description = "Dirt Cobblestone Fence",
|
|
texture = dirt_cobble_tex,
|
|
inventory_image = "default_fence_overlay.png^("..dirt_cobble_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
|
wield_image = "default_fence_overlay.png^("..dirt_cobble_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
|
material = "usesdirt:dirt_cobble_stone",
|
|
groups = {cracky=3, stone=2},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
check_for_pole = true
|
|
})
|
|
|
|
----
|
|
|
|
minetest.register_node(":usesdirt:dirt_stone", {
|
|
tiles = { dirt_stone_tex },
|
|
description = "Dirt Stone",
|
|
is_ground_content = false,
|
|
groups = {cracky=3, stone=2},
|
|
})
|
|
|
|
minetest.register_node(":usesdirt:dirt_stone_ladder", {
|
|
description = "Dirt Stone Ladder",
|
|
drawtype = "signlike",
|
|
tiles = { dirt_stone_ladder_tex },
|
|
inventory_image = dirt_stone_ladder_tex,
|
|
wield_image = dirt_stone_ladder_tex,
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
is_ground_content = false,
|
|
walkable = false,
|
|
climbable = true,
|
|
selection_box = {
|
|
type = "wallmounted",
|
|
--wall_top = = <default>
|
|
--wall_bottom = = <default>
|
|
--wall_side = = <default>
|
|
},
|
|
groups = {cracky=3, stone=2},
|
|
legacy_wallmounted = true,
|
|
})
|
|
minetest.register_craft({
|
|
output = 'usesdirt:dirt_stone_ladder 3',
|
|
recipe = {
|
|
{'usesdirt:dirt_stone', '', 'usesdirt:dirt_stone'},
|
|
{'usesdirt:dirt_stone', 'usesdirt:dirt_stone','usesdirt:dirt_stone'},
|
|
{'usesdirt:dirt_stone','','usesdirt:dirt_stone'},
|
|
}
|
|
})
|
|
|
|
default.register_fence(":usesdirt:dirt_stone_fence", {
|
|
description = "Dirt Stone Fence",
|
|
texture = dirt_stone_tex,
|
|
inventory_image = "default_fence_overlay.png^("..dirt_stone_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
|
wield_image = "default_fence_overlay.png^("..dirt_stone_tex..")^default_fence_overlay.png^[makealpha:255,126,126",
|
|
material = "usesdirt:dirt_stone",
|
|
groups = {cracky=3, stone=2},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
check_for_pole = true
|
|
})
|
|
end
|
|
|
|
-- Stairs/slabs defs, conversion of normal -> mossy items
|
|
|
|
if minetest.setting_getbool("gloopblocks_mossy_conversion") ~= false then
|
|
|
|
function gloopblocks_register_mossy_conversion(mossyobjects)
|
|
for i in ipairs(mossyobjects) do
|
|
minetest.register_abm({
|
|
nodenames = { mossyobjects[i][1] },
|
|
neighbors = {"default:water_source", "default:water_flowing"},
|
|
interval = 120,
|
|
chance = 50,
|
|
action = function(pos, node)
|
|
if minetest.find_node_near(pos, 2, "air") then
|
|
local fdir = node.param2
|
|
minetest.add_node(pos, {name = mossyobjects[i][2], param2 = fdir})
|
|
end
|
|
end,
|
|
})
|
|
end
|
|
end
|
|
end
|
|
|
|
if minetest.get_modpath("moreblocks") then
|
|
|
|
stairsplus:register_all("gloopblocks", "oerkki_block", "gloopblocks:oerkki_block", {
|
|
description = S("Oerkki Block"),
|
|
tiles = {
|
|
"gloopblocks_oerkkiblock_tb.png",
|
|
"gloopblocks_oerkkiblock_tb.png",
|
|
"gloopblocks_oerkkiblock_sides.png",
|
|
"gloopblocks_oerkkiblock_sides.png",
|
|
"gloopblocks_oerkkiblock_sides.png",
|
|
"gloopblocks_oerkkiblock_front.png"
|
|
},
|
|
groups = {cracky=2, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "stone_brick_mossy", "gloopblocks:stone_brick_mossy", {
|
|
description = S("Mossy Stone Brick"),
|
|
tiles = {"gloopblocks_stone_brick_mossy.png"},
|
|
groups = {cracky=1, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "stone_mossy", "gloopblocks:stone_mossy", {
|
|
description = S("Mossy Stone"),
|
|
tiles = {"gloopblocks_stone_mossy.png"},
|
|
groups = {cracky=1, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "cobble_road", "gloopblocks:cobble_road", {
|
|
description = S("Cobblestone Roadbed"),
|
|
tiles = {"gloopblocks_cobble_road.png"},
|
|
groups = {cracky=3, stone=1, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "cobble_road_mossy", "gloopblocks:cobble_road_mossy", {
|
|
description = S("Mossy Cobblestone Roadbed"),
|
|
tiles = {"gloopblocks_cobble_road_mossy.png"},
|
|
groups = {cracky=3, stone=1, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "pavement", "gloopblocks:pavement", {
|
|
description = S("Pavement"),
|
|
tiles = {"gloopblocks_pavement.png"},
|
|
groups = {cracky=2, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "rainbow_block", "gloopblocks:rainbow_block", {
|
|
description = S("Rainbow Block"),
|
|
tiles = {"gloopblocks_rainbow_block.png"},
|
|
groups = {cracky=3, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "evil_block", "gloopblocks:evil_block", {
|
|
description = S("Evil Block"),
|
|
tiles = {"gloopblocks_evil_block.png"},
|
|
groups = {cracky=3, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_defaults(),
|
|
light_source = 5,
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "basalt", "gloopblocks:basalt", {
|
|
description = S("Basalt"),
|
|
tiles = {"gloopblocks_basalt.png"},
|
|
groups = {cracky=2, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "pumice", "gloopblocks:pumice", {
|
|
description = S("Pumice"),
|
|
tiles = {"gloopblocks_pumice.png"},
|
|
groups = {cracky=3, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("gloopblocks", "gravel", "default:gravel", {
|
|
description = S("Gravel"),
|
|
tiles = {"default_gravel.png"},
|
|
groups = {crumbly = 2, falling_node = 1, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
sunlight_propagates = false,
|
|
})
|
|
|
|
if minetest.get_modpath("caverealms") then
|
|
stairsplus:register_all("caverealms", "glow_crystal", "caverealms:glow_crystal", {
|
|
description = S("Glow Crystal"),
|
|
tiles = {"caverealms_glow_crystal.png"},
|
|
groups = {cracky=3, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
light_source = 12,
|
|
use_texture_alpha = true,
|
|
paramtype="light",
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("caverealms", "glow_emerald", "caverealms:glow_emerald", {
|
|
description = S("Glow Emerald"),
|
|
tiles = {"caverealms_glow_emerald.png"},
|
|
groups = {cracky=3, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
light_source = 12,
|
|
use_texture_alpha = true,
|
|
paramtype="light",
|
|
sunlight_propagates = true,
|
|
})
|
|
|
|
stairsplus:register_all("caverealms", "glow_mese", "caverealms:glow_mese", {
|
|
description = S("Glow Mese"),
|
|
tiles = {"caverealms_glow_mese.png"},
|
|
groups = {cracky=3, not_in_creative_inventory=1},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
light_source = 12,
|
|
use_texture_alpha = true,
|
|
paramtype="light",
|
|
sunlight_propagates = true,
|
|
})
|
|
end
|
|
|
|
-- ABMs for mossy objects
|
|
|
|
if minetest.setting_getbool("gloopblocks_mossy_conversion") ~= false then
|
|
|
|
gloopblocks_register_mossy_conversion({
|
|
{ "moreblocks:stair_cobble", "moreblocks:stair_mossycobble" },
|
|
{ "moreblocks:stair_cobble_inner", "moreblocks:stair_mossycobble_inner" },
|
|
{ "moreblocks:stair_cobble_outer", "moreblocks:stair_mossycobble_outer" },
|
|
{ "moreblocks:stair_cobble_half", "moreblocks:stair_mossycobble_half" },
|
|
{ "moreblocks:slab_cobble_quarter", "moreblocks:slab_mossycobble_quarter" },
|
|
{ "moreblocks:slab_cobble", "moreblocks:slab_mossycobble" },
|
|
{ "moreblocks:slab_cobble_three_quarter", "moreblocks:slab_mossycobble_three_quarter" },
|
|
{ "moreblocks:panel_cobble", "moreblocks:panel_mossycobble" },
|
|
{ "moreblocks:micro_cobble", "moreblocks:micro_mossycobble" },
|
|
{ "moreblocks:stair_cobble_alt", "moreblocks:stair_mossycobble_alt" },
|
|
|
|
{ "gloopblocks:cobble_road", "gloopblocks:cobble_road_mossy" },
|
|
{ "gloopblocks:stair_cobble_road", "gloopblocks:stair_cobble_road_mossy" },
|
|
{ "gloopblocks:slab_cobble_road", "gloopblocks:slab_cobble_road_mossy" },
|
|
{ "gloopblocks:stair_cobble_road", "gloopblocks:stair_cobble_road_mossy" },
|
|
{ "gloopblocks:stair_cobble_road_inner", "gloopblocks:stair_cobble_road_mossy_inner" },
|
|
{ "gloopblocks:stair_cobble_road_outer", "gloopblocks:stair_cobble_road_mossy_outer" },
|
|
{ "gloopblocks:stair_cobble_road_half", "gloopblocks:stair_cobble_road_mossy_half" },
|
|
{ "gloopblocks:slab_cobble_road_quarter", "gloopblocks:slab_cobble_road_mossy_quarter" },
|
|
{ "gloopblocks:slab_cobble_road", "gloopblocks:slab_cobble_road_mossy" },
|
|
{ "gloopblocks:slab_cobble_road_three_quarter", "gloopblocks:slab_cobble_road_mossy_three_quarter" },
|
|
{ "gloopblocks:panel_cobble_road", "gloopblocks:panel_cobble_road_mossy" },
|
|
{ "gloopblocks:micro_cobble_road", "gloopblocks:micro_cobble_road_mossy" },
|
|
{ "gloopblocks:stair_cobble_road_alt", "gloopblocks:stair_cobble_road_mossy_alt" },
|
|
|
|
{ "default:stonebrick", "gloopblocks:stone_brick_mossy" },
|
|
{ "default:stair_stonebrick", "gloopblocks:stair_stone_brick_mossy" },
|
|
{ "default:slab_stonebrick", "gloopblocks:slab_stone_brick_mossy" },
|
|
{ "moreblocks:stair_stonebrick", "gloopblocks:stair_stone_brick_mossy" },
|
|
{ "moreblocks:stair_stonebrick_inner", "gloopblocks:stair_stone_brick_mossy_inner" },
|
|
{ "moreblocks:stair_stonebrick_outer", "gloopblocks:stair_stone_brick_mossy_outer" },
|
|
{ "moreblocks:stair_stonebrick_half", "gloopblocks:stair_stone_brick_mossy_half" },
|
|
{ "moreblocks:slab_stonebrick_quarter", "gloopblocks:slab_stone_brick_mossy_quarter" },
|
|
{ "moreblocks:slab_stonebrick", "gloopblocks:slab_stone_brick_mossy" },
|
|
{ "moreblocks:slab_stonebrick_three_quarter", "gloopblocks:slab_stone_brick_mossy_three_quarter" },
|
|
{ "moreblocks:panel_stonebrick", "gloopblocks:panel_stone_brick_mossy" },
|
|
{ "moreblocks:micro_stonebrick", "gloopblocks:micro_stone_brick_mossy" },
|
|
{ "moreblocks:stair_stonebrick_alt", "gloopblocks:stair_stone_brick_mossy_alt" },
|
|
|
|
{ "default:stone", "gloopblocks:stone_mossy" },
|
|
{ "default:stair_stone", "gloopblocks:stair_stone_mossy" },
|
|
{ "default:slab_stone", "gloopblocks:slab_stone_mossy" },
|
|
{ "moreblocks:stair_stone", "gloopblocks:stair_stone_mossy" },
|
|
{ "moreblocks:stair_stone_inner", "gloopblocks:stair_stone_mossy_inner" },
|
|
{ "moreblocks:stair_stone_outer", "gloopblocks:stair_stone_mossy_outer" },
|
|
{ "moreblocks:stair_stone_half", "gloopblocks:stair_stone_mossy_half" },
|
|
|
|
{ "moreblocks:slab_stone_quarter", "gloopblocks:slab_stone_mossy_quarter" },
|
|
{ "moreblocks:slab_stone", "gloopblocks:slab_stone_mossy" },
|
|
{ "moreblocks:slab_stone_three_quarter", "gloopblocks:slab_stone_mossy_three_quarter" },
|
|
{ "moreblocks:panel_stone", "gloopblocks:panel_stone_mossy" },
|
|
{ "moreblocks:micro_stone", "gloopblocks:micro_stone_mossy" },
|
|
{ "moreblocks:stair_stone_alt", "gloopblocks:stair_stone_mossy_alt" },
|
|
})
|
|
end
|
|
|
|
elseif minetest.get_modpath("stairs") then
|
|
|
|
-- Local function so we can apply translations, specifically for inner/outer stairs
|
|
local function my_stairs_register_stair_and_slab(subname, recipeitem, groups, images,
|
|
desc_stair, desc_slab, sounds)
|
|
stairs.register_stair(subname, recipeitem, groups, images, S(desc_stair),
|
|
sounds, false)
|
|
stairs.register_stair_inner(subname, recipeitem, groups, images, "",
|
|
sounds, false, T("Inner " .. desc_stair))
|
|
stairs.register_stair_outer(subname, recipeitem, groups, images, "",
|
|
sounds, false, T("Outer " .. desc_stair))
|
|
stairs.register_slab(subname, recipeitem, groups, images, S(desc_slab),
|
|
sounds, false)
|
|
end
|
|
|
|
-- stairs:xxxx_stone_mossy ; xxxx = stair or slab
|
|
my_stairs_register_stair_and_slab("stone_mossy", "gloopblocks:stone_mossy",
|
|
{cracky=3},
|
|
{"gloopblocks_stone_mossy.png"},
|
|
"Mossy Stone Stair",
|
|
"Mossy Stone Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
-- stairs:xxxx_mossycobble
|
|
my_stairs_register_stair_and_slab("mossycobble", "default:mossycobble",
|
|
{cracky=3},
|
|
{"default_mossycobble.png"},
|
|
"Mossy Cobblestone Stair",
|
|
"Mossy Cobblestone Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
-- stairs:xxxx_stone_brick_mossy
|
|
my_stairs_register_stair_and_slab("stone_brick_mossy", "gloopblocks:stone_brick_mossy",
|
|
{cracky=3},
|
|
{"gloopblocks_stone_brick_mossy.png"},
|
|
"Mossy Stone Brick Stair",
|
|
"Mossy Stone Brick Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
-- stairs:xxxx_cobble_road
|
|
my_stairs_register_stair_and_slab("cobble_road", "gloopblocks:cobble_road",
|
|
{cracky=3},
|
|
{"gloopblocks_cobble_road.png"},
|
|
"Cobblestone Roadbed Stair",
|
|
"Cobblestone Roadbed Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
-- stairs:xxxx_cobble_road_mossy
|
|
my_stairs_register_stair_and_slab("cobble_road_mossy", "gloopblocks:cobble_road_mossy",
|
|
{cracky=3},
|
|
{"gloopblocks_cobble_road_mossy.png"},
|
|
"Mossy Cobblestone Roadbed Stair",
|
|
"Mossy Cobblestone Roadbed Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
-- stairs:xxxx_cement
|
|
my_stairs_register_stair_and_slab("cement", "gloopblocks:cement",
|
|
{cracky=2},
|
|
{"basic_materials_cement_block.png"},
|
|
"Cement Stair",
|
|
"Cement Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
-- stairs:xxxx_pavement
|
|
my_stairs_register_stair_and_slab("pavement", "gloopblocks:pavement",
|
|
{cracky=3, oddly_breakable_by_hand=3},
|
|
{"gloopblocks_pavement.png"},
|
|
"Pavement Stair",
|
|
"Pavement Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
my_stairs_register_stair_and_slab("basalt", "gloopblocks:basalt",
|
|
{cracky=2},
|
|
{"gloopblocks_basalt.png"},
|
|
"Basalt Stair",
|
|
"Basalt Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
my_stairs_register_stair_and_slab("pumice", "gloopblocks:pumice",
|
|
{cracky=3},
|
|
{"gloopblocks_pumice.png"},
|
|
"Pumice Stair",
|
|
"Pumice Slab",
|
|
default.node_sound_stone_defaults())
|
|
|
|
my_stairs_register_stair_and_slab("rainbow_block", "gloopblocks:rainbow_block",
|
|
{cracky=3},
|
|
{"gloopblocks_rainbow_block.png"},
|
|
"Rainbow Block Stair",
|
|
"Rainbow Block Slab",
|
|
default.node_sound_defaults())
|
|
|
|
if minetest.setting_getbool("gloopblocks_mossy_conversion") ~= false then
|
|
|
|
gloopblocks_register_mossy_conversion({
|
|
{ "default:cobble", "default:mossycobble" },
|
|
{ "stairs:stair_cobble", "stairs:stair_mossycobble" },
|
|
{ "stairs:slab_cobble", "stairs:slab_mossycobble" },
|
|
{ "gloopblocks:cobble_road", "gloopblocks:cobble_road_mossy" },
|
|
{ "stairs:stair_cobble_road", "stairs:stair_cobble_road_mossy" },
|
|
{ "stairs:slab_cobble_road", "stairs:slab_cobble_road_mossy" },
|
|
{ "default:stonebrick", "gloopblocks:stone_brick_mossy" },
|
|
{ "stairs:stair_stonebrick", "stairs:stair_stone_brick_mossy" },
|
|
{ "stairs:slab_stonebrick", "stairs:slab_stone_brick_mossy" },
|
|
{ "default:stone", "gloopblocks:stone_mossy" },
|
|
{ "stairs:stair_stone", "stairs:stair_stone_mossy" },
|
|
{ "stairs:slab_stone", "stairs:slab_stone_mossy" },
|
|
})
|
|
end
|
|
|
|
minetest.register_alias("default:stair_mossycobble", "stairs:stair_mossycobble")
|
|
minetest.register_alias("default:slab_mossycobble", "stairs:slab_mossycobble")
|
|
minetest.register_alias("gloopblocks:stair_cobble_road", "stairs:stair_cobble_road")
|
|
minetest.register_alias("gloopblocks:slab_cobble_road", "stairs:slab_cobble_road")
|
|
minetest.register_alias("gloopblocks:stair_cobble_road_mossy", "stairs:stair_cobble_road_mossy")
|
|
minetest.register_alias("gloopblocks:slab_cobble_road_mossy", "stairs:slab_cobble_road_mossy")
|
|
minetest.register_alias("gloopblocks:stair_stone_brick_mossy", "stairs:stair_stone_brick_mossy")
|
|
minetest.register_alias("gloopblocks:slab_stone_brick_mossy", "stairs:slab_stone_brick_mossy")
|
|
minetest.register_alias("gloopblocks:stair_stone_mossy", "stairs:stair_stone_mossy")
|
|
minetest.register_alias("gloopblocks:slab_stone_mossy", "stairs:slab_stone_mossy")
|
|
minetest.register_alias("gloopblocks:stair_cement", "stairs:stair_cement")
|
|
minetest.register_alias("gloopblocks:slab_cement", "stairs:slab_cement")
|
|
minetest.register_alias("gloopblocks:stair_pavement", "stairs:stair_pavement")
|
|
minetest.register_alias("gloopblocks:slab_pavement", "stairs:slab_pavement")
|
|
minetest.register_alias("gloopblocks:stair_pumice", "stairs:stair_pumice")
|
|
minetest.register_alias("gloopblocks:slab_pumice", "stairs:slab_pumice")
|
|
minetest.register_alias("gloopblocks:stair_basalt", "stairs:stair_basalt")
|
|
minetest.register_alias("gloopblocks:slab_basalt", "stairs:slab_basalt")
|
|
minetest.register_alias("gloopblocks:stair_rainbow_block", "stairs:stair_rainbow_block")
|
|
minetest.register_alias("gloopblocks:slab_rainbow_block", "stairs:slab_rainbow_block")
|
|
end
|
|
|
|
-- Tools
|
|
|
|
minetest.register_tool("gloopblocks:pick_cement", {
|
|
description = S("Cement Pickaxe"),
|
|
inventory_image = "gloopblocks_cement_pick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
cracky={times={[1]=3.50, [2]=1.40, [3]=0.90}, uses=25, maxlevel=2}
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("gloopblocks:shovel_cement", {
|
|
description = S("Cement Shovel"),
|
|
inventory_image = "gloopblocks_cement_shovel.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
crumbly={times={[1]=1.50, [2]=0.60, [3]=0.45}, uses=25, maxlevel=2}
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("gloopblocks:axe_cement", {
|
|
description = S("Cement Axe"),
|
|
inventory_image = "gloopblocks_cement_axe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
choppy={times={[1]=3.00, [2]=1.30, [3]=0.80}, uses=25, maxlevel=2},
|
|
fleshy={times={[2]=1.20, [3]=0.65}, uses=30, maxlevel=1}
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("gloopblocks:sword_cement", {
|
|
description = S("Cement Sword"),
|
|
inventory_image = "gloopblocks_cement_sword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
fleshy={times={[1]=1.60, [2]=0.80, [3]=0.40}, uses=15, maxlevel=2},
|
|
snappy={times={[2]=0.75, [3]=0.35}, uses=30, maxlevel=1},
|
|
choppy={times={[3]=0.80}, uses=30, maxlevel=0}
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
}
|
|
})
|
|
|
|
minetest.register_tool("gloopblocks:pick_evil", {
|
|
description = S("Evil Pickaxe"),
|
|
inventory_image = "gloopblocks_evil_pick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level=3,
|
|
groupcaps={
|
|
cracky={times={[1]=0.10, [2]=0.10, [3]=0.10}, uses=10, maxlevel=2}
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("gloopblocks:shovel_evil", {
|
|
description = S("Evil Shovel"),
|
|
inventory_image = "gloopblocks_evil_shovel.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level=3,
|
|
groupcaps={
|
|
crumbly={times={[1]=0.05, [2]=0.05, [3]=0.05}, uses=10, maxlevel=2}
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("gloopblocks:axe_evil", {
|
|
description = S("Evil Axe"),
|
|
inventory_image = "gloopblocks_evil_axe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level=3,
|
|
groupcaps={
|
|
choppy={times={[1]=0.15, [2]=0.15, [3]=0.15}, uses=10, maxlevel=2},
|
|
fleshy={times={[1]=0.15, [2]=0.15, [3]=0.15}, uses=10, maxlevel=2}
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("gloopblocks:sword_evil", {
|
|
description = S("Evil Sword"),
|
|
inventory_image = "gloopblocks_evil_sword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level=3,
|
|
groupcaps={
|
|
fleshy={times={[1]=0.20, [2]=0.20, [3]=0.20}, uses=10, maxlevel=2},
|
|
snappy={times={[1]=0.20, [2]=0.20, [3]=0.20}, uses=10, maxlevel=2},
|
|
choppy={times={[1]=0.20, [2]=0.20, [3]=0.20}, uses=10, maxlevel=2}
|
|
},
|
|
damage_groups = {fleshy=8},
|
|
}
|
|
})
|
|
|
|
-- Other items
|
|
|
|
minetest.register_craftitem("gloopblocks:evil_stick", {
|
|
description = S("Evil Stick"),
|
|
inventory_image = "gloopblocks_evil_stick.png",
|
|
})
|
|
|
|
|
|
local fence_texture =
|
|
"default_fence_overlay.png^default_steel_block.png^default_fence_overlay.png^[makealpha:255,126,126"
|
|
|
|
minetest.register_node("gloopblocks:fence_steel", {
|
|
description = S("Steel Fence"),
|
|
drawtype = "fencelike",
|
|
tiles = {"default_steel_block.png"},
|
|
inventory_image = fence_texture,
|
|
wield_image = fence_texture,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
is_ground_content = false,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
|
},
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2 },
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_alias("nyancat:nyancat_rainbow", "gloopblocks:rainbow_block_horizontal")
|
|
minetest.register_alias("default:nyancat_rainbow", "gloopblocks:rainbow_block_horizontal")
|
|
|
|
-- These are dummy calls to S() for the translation updater script.
|
|
-- To update this list, add this code to my_stairs_register_stair_and_slab function:
|
|
-- for _, x in ipairs({"", "Inner ", "Outer "}) do print(("S(%q)"):format(x .. desc_stair)) end
|
|
-- print(("S(%q)"):format(desc_slab))
|
|
|
|
--[[
|
|
S("Mossy Stone Stair")
|
|
S("Inner Mossy Stone Stair")
|
|
S("Outer Mossy Stone Stair")
|
|
S("Mossy Stone Slab")
|
|
S("Mossy Cobblestone Stair")
|
|
S("Inner Mossy Cobblestone Stair")
|
|
S("Outer Mossy Cobblestone Stair")
|
|
S("Mossy Cobblestone Slab")
|
|
S("Mossy Stone Brick Stair")
|
|
S("Inner Mossy Stone Brick Stair")
|
|
S("Outer Mossy Stone Brick Stair")
|
|
S("Mossy Stone Brick Slab")
|
|
S("Cobblestone Roadbed Stair")
|
|
S("Inner Cobblestone Roadbed Stair")
|
|
S("Outer Cobblestone Roadbed Stair")
|
|
S("Cobblestone Roadbed Slab")
|
|
S("Mossy Cobblestone Roadbed Stair")
|
|
S("Inner Mossy Cobblestone Roadbed Stair")
|
|
S("Outer Mossy Cobblestone Roadbed Stair")
|
|
S("Mossy Cobblestone Roadbed Slab")
|
|
S("Cement Stair")
|
|
S("Inner Cement Stair")
|
|
S("Outer Cement Stair")
|
|
S("Cement Slab")
|
|
S("Pavement Stair")
|
|
S("Inner Pavement Stair")
|
|
S("Outer Pavement Stair")
|
|
S("Pavement Slab")
|
|
S("Basalt Stair")
|
|
S("Inner Basalt Stair")
|
|
S("Outer Basalt Stair")
|
|
S("Basalt Slab")
|
|
S("Pumice Stair")
|
|
S("Inner Pumice Stair")
|
|
S("Outer Pumice Stair")
|
|
S("Pumice Slab")
|
|
S("Rainbow Block Stair")
|
|
S("Inner Rainbow Block Stair")
|
|
S("Outer Rainbow Block Stair")
|
|
S("Rainbow Block Slab")
|
|
--]]
|