mirror of
https://bitbucket.org/minetest_gamers/minetest-mod-sea.git
synced 2025-06-28 22:46:09 +02:00
Compare commits
11 Commits
master
...
nalc-1.2.0
Author | SHA1 | Date | |
---|---|---|---|
b2fc8936bf | |||
5ec73557de | |||
ef1efe65d9 | |||
d537a679a3 | |||
7692d12220 | |||
0f7a5c654d | |||
87694cb154 | |||
a1c2fae7bf | |||
a5c10e3399 | |||
7c5e9bf73a | |||
c912cf078b |
@ -9,7 +9,7 @@ minetest.register_node("clams:sandalgae", {
|
||||
drop = {
|
||||
items = {
|
||||
{
|
||||
items = {'"clams:collectedalgae" 4'},
|
||||
items = {"clams:collectedalgae 4"},
|
||||
},
|
||||
{
|
||||
items = {'clams:sandalgaeused'},
|
||||
@ -28,7 +28,7 @@ minetest.register_node("clams:dirtalgae", {
|
||||
drop = {
|
||||
items = {
|
||||
{
|
||||
items = {'"clams:collectedalgae" 4'},
|
||||
items = {"clams:collectedalgae 4"},
|
||||
},
|
||||
{
|
||||
items = {'clams:dirtalgaeused'},
|
||||
@ -389,4 +389,6 @@ minetest.register_alias("shells_dye:yellowlightglass","clams:yellowlightglass")
|
||||
minetest.register_alias("shells_dye:redlightglass","clams:redlightglass")
|
||||
minetest.register_alias("shells_dye:bluelightglass","clams:bluelightglass")
|
||||
minetest.register_alias("shells_dye:whitelightglass","clams:whitelightglass")
|
||||
minetest.register_alias("shells_dye:blacklightglass","clams:blacklightglass")
|
||||
minetest.register_alias("shells_dye:blacklightglass","clams:blacklightglass")
|
||||
|
||||
minetest.log("action", "[sea - clams] loaded.")
|
||||
|
@ -227,4 +227,6 @@ local pos1 = {x=pos.x+1,y=pos.y+1,z=pos.z+1}
|
||||
return
|
||||
end
|
||||
end,
|
||||
})
|
||||
})
|
||||
|
||||
minetest.log("action", "[sea - noairblocks] loaded.")
|
||||
|
@ -3,4 +3,5 @@ dye
|
||||
stairs
|
||||
clams
|
||||
whiteshell?
|
||||
colormachine?
|
||||
colormachine?
|
||||
moreblocks?
|
||||
|
@ -60,56 +60,74 @@ minetest.register_node("seacobble:seacobble_redviolet", {
|
||||
|
||||
-- STAIRS
|
||||
|
||||
local colors = {"", "cyan", "magenta", "lime", "aqua", "skyblue", "redviolet"}
|
||||
|
||||
stairs.register_stair_and_slab("seacobble", "seacobble:seacobble",
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
for i, color in ipairs(colors) do
|
||||
local c = "_"..color
|
||||
if i == 1 then c = "" end
|
||||
local nodename = "seacobble:seacobble"..c
|
||||
local ndef = table.copy(minetest.registered_nodes[nodename])
|
||||
ndef.sunlight_propagates = true
|
||||
ndef.place_param2 = nil
|
||||
|
||||
stairsplus:register_all(
|
||||
"seacobble",
|
||||
"seacobble"..c,
|
||||
nodename,
|
||||
ndef
|
||||
)
|
||||
end
|
||||
else
|
||||
stairs.register_stair_and_slab("seacobble", "seacobble:seacobble",
|
||||
{cracky=3, stone=2},
|
||||
{"seacobble_seacobble.png"},
|
||||
"Seacobble stair",
|
||||
"Seacobble slab",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seacobble_cyan", "seacobble:seacobble_cyan",
|
||||
stairs.register_stair_and_slab("seacobble_cyan", "seacobble:seacobble_cyan",
|
||||
{cracky=3, stone=2},
|
||||
{"seacobble_seacobble_cyan.png"},
|
||||
"Seacobble stair cyan",
|
||||
"Seacobble slab cyan",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seacobble_magenta", "seacobble:seacobble_magenta",
|
||||
stairs.register_stair_and_slab("seacobble_magenta", "seacobble:seacobble_magenta",
|
||||
{cracky=3, stone=2},
|
||||
{"seacobble_seacobble_magenta.png"},
|
||||
"Seacobble stair magenta",
|
||||
"Seacobble slab magenta",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seacobble_lime", "seacobble:seacobble_lime",
|
||||
stairs.register_stair_and_slab("seacobble_lime", "seacobble:seacobble_lime",
|
||||
{cracky=3, stone=2},
|
||||
{"seacobble_seacobble_lime.png"},
|
||||
"Seacobble stair lime",
|
||||
"Seacobble slab lime",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seacobble_aqua", "seacobble:seacobble_aqua",
|
||||
stairs.register_stair_and_slab("seacobble_aqua", "seacobble:seacobble_aqua",
|
||||
{cracky=3, stone=2},
|
||||
{"seacobble_seacobble_aqua.png"},
|
||||
"Seacobble stair aqua",
|
||||
"Seacobble slab aqua",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seacobble_skyblue", "seacobble:seacobble_skyblue",
|
||||
stairs.register_stair_and_slab("seacobble_skyblue", "seacobble:seacobble_skyblue",
|
||||
{cracky=3, stone=2},
|
||||
{"seacobble_seacobble_skyblue.png"},
|
||||
"Seacobble stair skyblue ",
|
||||
"Seacobble slab skyblue",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seacobble_redviolet", "seacobble:seacobble_redviolet",
|
||||
stairs.register_stair_and_slab("seacobble_redviolet", "seacobble:seacobble_redviolet",
|
||||
{cracky=3, stone=2},
|
||||
{"seacobble_seacobble_redviolet.png"},
|
||||
"Seacobble stair redviolet",
|
||||
"Seacobble slab redviolet",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
end
|
||||
|
||||
-- CRAFTING
|
||||
|
||||
@ -136,4 +154,6 @@ register_seacobble_craft("seacobble:seacobble_magenta", {'clams:crushedwhite', '
|
||||
register_seacobble_craft("seacobble:seacobble_lime", {'clams:crushedwhite', 'default:cobble','dye:lime'})
|
||||
register_seacobble_craft("seacobble:seacobble_aqua", {'clams:crushedwhite', 'default:cobble','dye:aqua'})
|
||||
register_seacobble_craft("seacobble:seacobble_skyblue", {'clams:crushedwhite', 'default:cobble','dye:skyblue'})
|
||||
register_seacobble_craft("seacobble:seacobble_redviolet", {'clams:crushedwhite', 'default:cobble','dye:redviolet'})
|
||||
register_seacobble_craft("seacobble:seacobble_redviolet", {'clams:crushedwhite', 'default:cobble','dye:redviolet'})
|
||||
|
||||
minetest.log("action", "[sea - seacobble] loaded.")
|
||||
|
@ -1,4 +1,4 @@
|
||||
default
|
||||
noairblocks
|
||||
nalc_lib
|
||||
unifieddyes
|
||||
colormachine?
|
||||
colormachine?
|
||||
|
@ -1,639 +1,174 @@
|
||||
-- NODES
|
||||
|
||||
-- Add magenta, aqua, skyblue seacorals
|
||||
for color, cname in pairs({magenta = "Magenta", aqua = "Aqua", skyblue = "Skyblue"}) do
|
||||
minetest.register_node(
|
||||
"seacoral:coral_"..color, {
|
||||
description = cname.." Coral",
|
||||
drawtype = "plantlike_rooted",
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
tiles = {"default_coral_skeleton.png"},
|
||||
special_tiles = {{name = "seacoral_coral"..color..".png", tileable_vertical = true}},
|
||||
inventory_image = "seacoral_coral"..color..".png",
|
||||
groups = {snappy = 3, seacoral = 1},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
{-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},
|
||||
},
|
||||
},
|
||||
node_dig_prediction = "default:coral_skeleton",
|
||||
node_placement_prediction = "",
|
||||
sounds = default.node_sound_stone_defaults(
|
||||
{
|
||||
dig = {name = "default_dig_snappy", gain = 0.2},
|
||||
dug = {name = "default_grass_footstep", gain = 0.25},
|
||||
}),
|
||||
|
||||
minetest.register_node("seacoral:coralcyan", {
|
||||
description = "Cyan Coral",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seacoral_coralcyan.png"},
|
||||
inventory_image = "seacoral_coralcyan.png",
|
||||
wield_image = "seacoral_coralcyan.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.3, -0.3, 0.3, 0.3, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seacoral=1, sea=1,basecolor_cyan=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if pointed_thing.type ~= "node" or not placer then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local player_name = placer:get_player_name()
|
||||
local pos_under = pointed_thing.under
|
||||
local pos_above = pointed_thing.above
|
||||
|
||||
if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or
|
||||
minetest.get_node(pos_above).name ~= "default:water_source" then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if minetest.is_protected(pos_under, player_name) or
|
||||
minetest.is_protected(pos_above, player_name) then
|
||||
minetest.chat_send_player(player_name, "Node is protected")
|
||||
minetest.record_protection_violation(pos_under, player_name)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
minetest.set_node(pos_under, {name = "seacoral:coral"..color})
|
||||
if not (creative and creative.is_enabled_for(player_name)) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
minetest.set_node(pos, {name = "default:coral_skeleton"})
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:coralmagenta", {
|
||||
description = "Magenta Coral",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seacoral_coralmagenta.png"},
|
||||
inventory_image = "seacoral_coralmagenta.png",
|
||||
wield_image = "seacoral_coralmagenta.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seacoral=1, sea=1,basecolor_magenta=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
-- Replace Old seacorals with new defined ones
|
||||
minetest.register_alias("seacoral:coral"..color, "default:water_source")
|
||||
minetest.register_alias("seacoral:seacoralsand"..color, "seacoral:coral_"..color)
|
||||
minetest.register_alias("seacoral:seacoraldirt"..color, "seacoral:coral_"..color)
|
||||
end
|
||||
|
||||
minetest.register_node("seacoral:coralaqua", {
|
||||
description = "Aqua Coral",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seacoral_coralaqua.png"},
|
||||
inventory_image = "seacoral_coralaqua.png",
|
||||
wield_image = "seacoral_coralaqua.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.3, -0.3, 0.3, 0.3, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seacoral=1, sea=1,excolor_aqua=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
-- Replace cyan, redviolet, lime seacorals with default Minetest's ones
|
||||
minetest.register_alias("seacoral:coralcyan", "default:water_source")
|
||||
minetest.register_alias("seacoral:seacoralsandcyan", "default:coral_cyan")
|
||||
minetest.register_alias("seacoral:seacoraldirtcyan", "default:coral_cyan")
|
||||
nalc.add_group("default:coral_cyan", "seacoral", 1)
|
||||
|
||||
minetest.register_node("seacoral:corallime", {
|
||||
description = "Lime Coral",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seacoral_corallime.png"},
|
||||
inventory_image = "seacoral_corallime.png",
|
||||
wield_image = "seacoral_corallime.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seacoral=1, sea=1,excolor_lime=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:coralskyblue", {
|
||||
description = "Skyblue Coral",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seacoral_coralskyblue.png"},
|
||||
inventory_image = "seacoral_coralskyblue.png",
|
||||
wield_image = "seacoral_coralskyblue.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seacoral=1, sea=1,excolor_skyblue=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:coralredviolet", {
|
||||
description = "Redviolet Coral",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seacoral_coralredviolet.png"},
|
||||
inventory_image = "seacoral_coralredviolet.png",
|
||||
wield_image = "seacoral_coralredviolet.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seacoral=1, sea=1,excolor_redviolet=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoralsandcyan", {
|
||||
description = "Sea coral sand cyan",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoraldirtcyan", {
|
||||
description = "Sea coral dirt cyan",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoralsandmagenta", {
|
||||
description = "Sea coral sand magenta",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoraldirtmagenta", {
|
||||
description = "Sea coral dirt magenta",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoralsandaqua", {
|
||||
description = "Sea coral sand aqua",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoraldirtaqua", {
|
||||
description = "Sea coral dirt aqua",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoralsandlime", {
|
||||
description = "Sea coral sand lime",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoraldirtlime", {
|
||||
description = "Sea coral dirt lime",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoralsandskyblue", {
|
||||
description = "Sea coral sand skyblue",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoraldirtskyblue", {
|
||||
description = "Sea coral dirt skyblue",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoralsandredviolet", {
|
||||
description = "Sea coral sand redviolet",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seacoral:seacoraldirtredviolet", {
|
||||
description = "Sea coral dirt redviolet",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
minetest.register_alias("seacoral:coralredviolet", "default:water_source")
|
||||
minetest.register_alias("seacoral:seacoralsandredviolet", "default:coral_pink")
|
||||
minetest.register_alias("seacoral:seacoraldirtredviolet", "default:coral_pink")
|
||||
nalc.add_group("default:coral_pink", "seacoral", 1)
|
||||
|
||||
minetest.register_alias("seacoral:corallime", "default:water_source")
|
||||
minetest.register_alias("seacoral:seacoralsandlime", "default:coral_green")
|
||||
minetest.register_alias("seacoral:seacoraldirtlime", "default:coral_green")
|
||||
nalc.add_group("default:coral_green", "seacoral", 1)
|
||||
|
||||
-- CRAFTING
|
||||
|
||||
|
||||
if( minetest.get_modpath( "colormachine") == nil ) then
|
||||
register_seacoral_craft = function(output,recipe)
|
||||
minetest.register_craft({
|
||||
type = 'shapeless',
|
||||
output = output,
|
||||
recipe = recipe,
|
||||
})
|
||||
minetest.register_craft(
|
||||
{
|
||||
type = 'shapeless',
|
||||
output = output,
|
||||
recipe = recipe,
|
||||
})
|
||||
end
|
||||
|
||||
register_seacoral_craft('dye:cyan 4', {'seacoral:coralcyan'})
|
||||
register_seacoral_craft('dye:magenta 4', {'seacoral:coralmagenta'})
|
||||
register_seacoral_craft('dye:lime 4', {'seacoral:corallime'})
|
||||
register_seacoral_craft('dye:aqua 4', {'seacoral:coralaqua'})
|
||||
register_seacoral_craft('dye:skyblue 4', {'seacoral:coralskyblue'})
|
||||
register_seacoral_craft('dye:redviolet 4', {'seacoral:coralredviolet'})
|
||||
register_seacoral_craft('dye:cyan 4', {'default:coral_cyan'})
|
||||
register_seacoral_craft('dye:magenta 4', {'seacoral:coral_magenta'})
|
||||
register_seacoral_craft('dye:lime 4', {'default:coral_green'})
|
||||
register_seacoral_craft('dye:spring 4', {'seacoral:coral_aqua'})
|
||||
register_seacoral_craft('dye:azure 4', {'seacoral:coral_skyblue'})
|
||||
register_seacoral_craft('dye:pink 4', {'default:coral_pink'})
|
||||
end
|
||||
|
||||
-- SEACORAL SAND AND DIRT GENERATION
|
||||
|
||||
-- Coral reef
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoralsandcyan",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoraldirtcyan",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoralsandmagenta",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoraldirtmagenta",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoralsandaqua",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoraldirtaqua",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoralsandlime",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoraldirtlime",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoralsandskyblue",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoraldirtskyblue",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoralsandredviolet",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seacoral:seacoraldirtredviolet",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -4,
|
||||
y_min = -8,
|
||||
})
|
||||
|
||||
local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, y_min, y_max)
|
||||
if maxp.y < y_min or minp.y > y_max then
|
||||
return
|
||||
end
|
||||
local y_min = math.max(minp.y, y_min)
|
||||
local y_max = math.min(maxp.y, y_max)
|
||||
if chunk_size >= y_max - y_min + 1 then
|
||||
return
|
||||
end
|
||||
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
|
||||
local pr = PseudoRandom(seed)
|
||||
local num_chunks = math.floor(chunks_per_volume * volume)
|
||||
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
|
||||
for i=1,num_chunks do
|
||||
local y0 = pr:next(y_min, y_max-chunk_size+1)
|
||||
if y0 >= y_min and y0 <= y_max then
|
||||
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
|
||||
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
|
||||
local p0 = {x=x0, y=y0, z=z0}
|
||||
for x1=0,chunk_size-1 do
|
||||
for y1=0,chunk_size-1 do
|
||||
for z1=0,chunk_size-1 do
|
||||
if pr:next(1,inverse_chance) == 1 then
|
||||
local x2 = x0+x1
|
||||
local y2 = y0+y1
|
||||
local z2 = z0+z1
|
||||
local p2 = {x=x2, y=y2, z=z2}
|
||||
if minetest.get_node(p2).name == wherein then
|
||||
minetest.set_node(p2, {name=name})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_decoration(
|
||||
{
|
||||
name = "seacoral:corals",
|
||||
deco_type = "simple",
|
||||
place_on = {"default:sand"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 4,
|
||||
noise_params = {
|
||||
offset = -4,
|
||||
scale = 4,
|
||||
spread = {x = 50, y = 50, z = 50},
|
||||
seed = 7014,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
biomes = {
|
||||
"desert_ocean",
|
||||
"savanna_ocean",
|
||||
"rainforest_ocean",
|
||||
},
|
||||
y_max = -2,
|
||||
y_min = -8,
|
||||
flags = "force_placement",
|
||||
decoration = {
|
||||
"seacoral:coral_magenta", "default:coral_orange",
|
||||
"seacoral:coral_aqua", "default:coral_brown",
|
||||
"seacoral:coral_skyblue", "default:coral_skeleton",
|
||||
"default:coral_green", "default:coral_pink",
|
||||
"default:coral_cyan"
|
||||
},
|
||||
})
|
||||
|
||||
-- ABM'S
|
||||
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoraldirtcyan"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralcyan"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoralsandcyan"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralcyan"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoraldirtmagenta"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralmagenta"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoralsandmagenta"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralmagenta"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoraldirtaqua"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralaqua"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoralsandaqua"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralaqua"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoraldirtlime"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:corallime"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoralsandlime"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:corallime"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoraldirtskyblue"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralskyblue"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoralsandskyblue"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralskyblue"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoraldirtredviolet"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralredviolet"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seacoral:seacoralsandredviolet"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seacoral:coralredviolet"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"group:seacoral"},
|
||||
interval = 3,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
local yyp = {x = pos.x, y = pos.y + 2, z = pos.z}
|
||||
if ((minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") and
|
||||
(minetest.get_node(yyp).name == "default:water_source" or
|
||||
minetest.get_node(yyp).name == "noairblocks:water_sourcex")) then
|
||||
local objs = minetest.get_objects_inside_radius(pos, 2)
|
||||
for k, obj in pairs(objs) do
|
||||
obj:set_hp(obj:get_hp()+ 1)
|
||||
minetest.register_abm(
|
||||
{
|
||||
nodenames = {"group:seacoral"},
|
||||
interval = 3,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
local yyp = {x = pos.x, y = pos.y + 2, z = pos.z}
|
||||
if ((minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") and
|
||||
(minetest.get_node(yyp).name == "default:water_source" or
|
||||
minetest.get_node(yyp).name == "noairblocks:water_sourcex")) then
|
||||
local objs = minetest.get_objects_inside_radius(pos, 2)
|
||||
for k, obj in pairs(objs) do
|
||||
obj:set_hp(obj:get_hp()+ 1)
|
||||
end
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
-- OPTIONAL DEPENDENCY
|
||||
|
||||
|
||||
if( minetest.get_modpath( "colormachine") ~= nil ) then
|
||||
colormachine.basic_dye_sources = { "flowers:rose", "flowers:tulip", "flowers:dandelion_yellow", "seacoral:corallime", "default:cactus", "seacoral:coralaqua", "seacoral:coralcyan", "seacoral:coralskyblue", "flowers:geranium", "flowers:viola", "seacoral:coralmagenta", "seacoral:coralredviolet", "default:stone", "", "", "", "default:coal_lump" };
|
||||
colormachine.basic_dye_sources = { "flowers:rose", "flowers:tulip", "flowers:dandelion_yellow", "default:coral_green", "default:cactus", "seacoral:coral_aqua", "default::coral_cyan", "seacoral:coral_skyblue", "flowers:geranium", "flowers:viola", "seacoral:coral_magenta", "default:coral_pink", "default:stone", "", "", "", "default:coal_lump" };
|
||||
else
|
||||
return
|
||||
end
|
||||
@ -645,6 +180,8 @@ end
|
||||
minetest.register_alias("seadye:cyan","dye:cyan")
|
||||
minetest.register_alias("seadye:magenta","dye:magenta")
|
||||
minetest.register_alias("seadye:lime","dye:lime")
|
||||
minetest.register_alias("seadye:aqua","dye:aqua")
|
||||
minetest.register_alias("seadye:skyblue","dye:skyblue")
|
||||
minetest.register_alias("seadye:redviolet","dye:redviolet")
|
||||
minetest.register_alias("seadye:aqua","dye:spring")
|
||||
minetest.register_alias("seadye:skyblue","dye:azure")
|
||||
minetest.register_alias("seadye:redviolet","dye:pink")
|
||||
|
||||
minetest.log("action", "[sea - seacoral] loaded.")
|
||||
|
@ -3,4 +3,5 @@ dye
|
||||
stairs
|
||||
clams
|
||||
stairsshine
|
||||
colormachine?
|
||||
colormachine?
|
||||
moreblocks?
|
||||
|
@ -1,249 +1,107 @@
|
||||
-- NODES
|
||||
|
||||
local repl = {
|
||||
["off"] = "",
|
||||
["on"] = "off",
|
||||
}
|
||||
|
||||
minetest.register_node("seaglass:seaglass", {
|
||||
description = "Standard seaglass on",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = 14,
|
||||
is_ground_content = true,
|
||||
drop = 'seaglass:seaglassoff',
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, nocolor=1, shine=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
local colors = {"yellow", "red", "blue", "white", "black"}
|
||||
|
||||
minetest.register_node("seaglass:seaglass_yellow", {
|
||||
description = "Seaglass yellow on",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_yellow.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_yellow.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = 14,
|
||||
is_ground_content = true,
|
||||
drop = 'seaglass:seaglassoff_yellow',
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_yellow=1, shine=1, yellowshine=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
local function register_glass(suffix, color, cgroups)
|
||||
-- suffix : bool (false:off | true:on)
|
||||
local desc = "Seaglass "
|
||||
|
||||
minetest.register_node("seaglass:seaglass_red", {
|
||||
description = "Seaglass red on",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_red.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_red.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = 14,
|
||||
is_ground_content = true,
|
||||
drop = 'seaglass:seaglassoff_red',
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_red=1, shine=1, redshine=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
local col, c = "", ""
|
||||
if color and color ~= "" then
|
||||
col,c = color, "_"..color
|
||||
desc = desc..color.." "
|
||||
end
|
||||
|
||||
minetest.register_node("seaglass:seaglass_blue", {
|
||||
description = "Seaglass blue on",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_blue.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_blue.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = 14,
|
||||
is_ground_content = true,
|
||||
drop = 'seaglass:seaglassoff_blue',
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_blue=1, shine=1, blueshine=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
local l, light, ls = "", "on", 7
|
||||
if not suffix then
|
||||
l,light = "off","off"
|
||||
ls = 0
|
||||
end
|
||||
|
||||
minetest.register_node("seaglass:seaglass_white", {
|
||||
description = "Seaglass white on",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_white.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_white.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = 14,
|
||||
is_ground_content = true,
|
||||
drop = 'seaglass:seaglassoff_white',
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_white=1, shine=1, whiteshine=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
desc = desc..light
|
||||
|
||||
minetest.register_node(
|
||||
"seaglass:seaglass"..l..c,
|
||||
{
|
||||
description = desc,
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass"..c..".png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass"..c..".png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = ls,
|
||||
is_ground_content = true,
|
||||
drop = "seaglass:seaglassoff"..c,
|
||||
groups = cgroups, -- {snappy=2,cracky=3,oddly_breakable_by_hand=3, nocolor=1, shine=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "seaglass:seaglass"..repl[light]..c
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("seaglass:seaglass_black", {
|
||||
description = "Seaglass black on",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_black.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_black.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = 14,
|
||||
is_ground_content = true,
|
||||
drop = 'seaglass:seaglassoff_black',
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_black=1, shine=1, blackshine=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
stairs.register_stair_and_slab("seaglass"..l..c, "seaglass:seaglass"..l..c,
|
||||
cgroups,
|
||||
{"seaglass_seaglass"..c..".png"},
|
||||
"Seaglass stair "..light.." "..col,
|
||||
"Seaglass slab "..light.." "..col,
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
for _,i in ipairs({"slab", "stair", "stair_outer", "stair_inner"}) do
|
||||
minetest.override_item(
|
||||
"stairs:"..i.."_seaglass"..l..c,
|
||||
{
|
||||
light_source = ls,
|
||||
drop = "stairs:"..i.."_seaglassoff"..c,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "stairs:"..i.."_seaglass"..repl[light]..c
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
})
|
||||
if suffix then
|
||||
minetest.register_alias("stairsshine:"..i.."_seaglass"..c, "stairs:"..i.."_seaglass"..c)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
minetest.register_node("seaglass:seaglassoff", {
|
||||
description = "Standard seaglass off",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, nocolor=1, noshine=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
for _,color in ipairs(colors) do
|
||||
local groups_off = {noshine=1, snappy=2, cracky=3, oddly_breakable_by_hand=3}
|
||||
local groups_on = {not_in_creative_inventory=1, shine=1, snappy=2, cracky=3, oddly_breakable_by_hand=3}
|
||||
|
||||
minetest.register_node("seaglass:seaglassoff_yellow", {
|
||||
description = "Seaglass yellow off",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_yellow.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_yellow.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_yellow=1, noshine=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
if color == "yellow" then
|
||||
groups_off.color_yellow = 1
|
||||
groups_on.color_yellow = 1
|
||||
groups_on.yellowshine = 1
|
||||
elseif color == "red" then
|
||||
groups_off.color_red = 1
|
||||
groups_on.color_red = 1
|
||||
groups_on.redshine = 1
|
||||
elseif color == "blue" then
|
||||
groups_off.color_blue = 1
|
||||
groups_on.color_blue = 1
|
||||
groups_on.blueshine = 1
|
||||
elseif color == "white" then
|
||||
groups_off.color_white = 1
|
||||
groups_on.color_white = 1
|
||||
groups_on.whiteshine = 1
|
||||
elseif color == "black" then
|
||||
groups_off.color_black = 1
|
||||
groups_on.color_black = 1
|
||||
groups_on.blackshine = 1
|
||||
end
|
||||
|
||||
minetest.register_node("seaglass:seaglassoff_red", {
|
||||
description = "Seaglass red off",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_red.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_red.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_red=1, noshine=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
register_glass(false, color, groups_off)
|
||||
register_glass(true, color, groups_on)
|
||||
end
|
||||
|
||||
minetest.register_node("seaglass:seaglassoff_blue", {
|
||||
description = "Seaglass blue off",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_blue.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_blue.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_blue=1, noshine=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seaglass:seaglassoff_white", {
|
||||
description = "Seaglass white off",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_white.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_white.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_white=1, noshine=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seaglass:seaglassoff_black", {
|
||||
description = "Seaglass black off",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"seaglass_seaglass_black.png"},
|
||||
inventory_image = minetest.inventorycube("seaglass_seaglass_black.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, color_black=1, noshine=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
|
||||
-- STAIRS
|
||||
|
||||
|
||||
stairsshine.register_stair_and_slab("seaglass", "seaglass:seaglass",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, nocolor=1, shine=1, not_in_creative_inventory=1},
|
||||
{"seaglass_seaglass.png"},
|
||||
"Seaglass stair on",
|
||||
"Seaglass slab on",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairsshine.register_stair_and_slab("seaglass_yellow", "seaglass:seaglass_yellow",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_yellow=1, shine=1, yellowshine=1, not_in_creative_inventory=1},
|
||||
{"seaglass_seaglass_yellow.png"},
|
||||
"seaglass stair on yellow",
|
||||
"seaglass slab on yellow",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairsshine.register_stair_and_slab("seaglass_red", "seaglass:seaglass_red",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_red=1, shine=1, redshine=1, not_in_creative_inventory=1},
|
||||
{"seaglass_seaglass_red.png"},
|
||||
"Seaglass stair on red",
|
||||
"Seaglass slab on red",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairsshine.register_stair_and_slab("seaglass_blue", "seaglass:seaglass_blue",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_blue=1, shine=1, blueshine=1, not_in_creative_inventory=1},
|
||||
{"seaglass_seaglass_blue.png"},
|
||||
"Seaglass stair on blue",
|
||||
"Seaglass slab on blue",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairsshine.register_stair_and_slab("seaglass_white", "seaglass:seaglass_white",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_white=1, shine=1, whiteshine=1, not_in_creative_inventory=1},
|
||||
{"seaglass_seaglass_white.png"},
|
||||
"Seaglass stair on white",
|
||||
"Seaglass slab on white",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairsshine.register_stair_and_slab("seaglass_black", "seaglass:seaglass_black",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_black=1, shine=1, blackshine=1, not_in_creative_inventory=1},
|
||||
{"seaglass_seaglass_black.png"},
|
||||
"Seaglass stair on black ",
|
||||
"Seaglass slab on black",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seaglassoff", "seaglass:seaglassoff",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, nocolor=1, noshine=1},
|
||||
{"seaglass_seaglass.png"},
|
||||
"Seaglass stair off",
|
||||
"Seaglass slab off",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seaglassoff_yellow", "seaglass:seaglassoff_yellow",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_yellow=1, noshine=1},
|
||||
{"seaglass_seaglass_yellow.png"},
|
||||
"seaglass stair off yellow",
|
||||
"seaglass slab off yellow",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seaglassoff_red", "seaglass:seaglassoff_red",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_red=1, noshine=1},
|
||||
{"seaglass_seaglass_red.png"},
|
||||
"Seaglass stair off red",
|
||||
"Seaglass slab off red",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seaglassoff_blue", "seaglass:seaglassoff_blue",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_blue=1, noshine=1},
|
||||
{"seaglass_seaglass_blue.png"},
|
||||
"Seaglass stair off blue",
|
||||
"Seaglass slab off blue",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seaglassoff_white", "seaglass:seaglassoff_white",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_white=1, noshine=1},
|
||||
{"seaglass_seaglass_white.png"},
|
||||
"Seaglass stair off white",
|
||||
"Seaglass slab off white",
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seaglassoff_black", "seaglass:seaglassoff_black",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3, color_black=1, noshine=1},
|
||||
{"seaglass_seaglass_black.png"},
|
||||
"Seaglass stair off black ",
|
||||
"Seaglass slab off black",
|
||||
default.node_sound_glass_defaults())
|
||||
register_glass(false, nil, {snappy=2,cracky=3,oddly_breakable_by_hand=3, nocolor=1, noshine=1})
|
||||
register_glass(true, nil, {snappy=2,cracky=3,oddly_breakable_by_hand=3, nocolor=1, shine=1, not_in_creative_inventory=1})
|
||||
|
||||
|
||||
-- CRAFTING
|
||||
@ -291,444 +149,61 @@ register_seaglass_craft("seaglass:seaglass_blue", {'seaglass:seaglassoff_blue'})
|
||||
register_seaglass_craft("seaglass:seaglass_white", {'seaglass:seaglassoff_white'})
|
||||
register_seaglass_craft("seaglass:seaglass_black", {'seaglass:seaglassoff_black'})
|
||||
|
||||
register_seaglass_craft("stairsshine:stair_seaglass", {'stairs:stair_seaglassoff'})
|
||||
register_seaglass_craft("stairsshine:stair_seaglass_yellow", {'stairs:stair_seaglassoff_yellow'})
|
||||
register_seaglass_craft("stairsshine:stair_seaglass_red", {'stairs:stair_seaglassoff_red'})
|
||||
register_seaglass_craft("stairsshine:stair_seaglass_blue", {'stairs:stair_seaglassoff_blue'})
|
||||
register_seaglass_craft("stairsshine:stair_seaglass_white", {'stairs:stair_seaglassoff_white'})
|
||||
register_seaglass_craft("stairsshine:stair_seaglass_black", {'stairs:stair_seaglassoff_black'})
|
||||
register_seaglass_craft("stairs:stair_seaglass", {'stairs:stair_seaglassoff'})
|
||||
register_seaglass_craft("stairs:stair_seaglass_yellow", {'stairs:stair_seaglassoff_yellow'})
|
||||
register_seaglass_craft("stairs:stair_seaglass_red", {'stairs:stair_seaglassoff_red'})
|
||||
register_seaglass_craft("stairs:stair_seaglass_blue", {'stairs:stair_seaglassoff_blue'})
|
||||
register_seaglass_craft("stairs:stair_seaglass_white", {'stairs:stair_seaglassoff_white'})
|
||||
register_seaglass_craft("stairs:stair_seaglass_black", {'stairs:stair_seaglassoff_black'})
|
||||
|
||||
register_seaglass_craft("stairs:stair_seaglassoff", {'stairsshine:stair_seaglass'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_yellow", {'stairsshine:stair_seaglass_yellow'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_red", {'stairsshine:stair_seaglass_red'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_blue", {'stairsshine:stair_seaglass_blue'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_white", {'stairsshine:stair_seaglass_white'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_black", {'stairsshine:stair_seaglass_black'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff", {'stairs:stair_seaglass'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_yellow", {'stairs:stair_seaglass_yellow'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_red", {'stairs:stair_seaglass_red'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_blue", {'stairs:stair_seaglass_blue'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_white", {'stairs:stair_seaglass_white'})
|
||||
register_seaglass_craft("stairs:stair_seaglassoff_black", {'stairs:stair_seaglass_black'})
|
||||
|
||||
register_seaglass_craft("stairsshine:slab_seaglass", {'stairs:slab_seaglassoff'})
|
||||
register_seaglass_craft("stairsshine:slab_seaglass_yellow", {'stairs:slab_seaglassoff_yellow'})
|
||||
register_seaglass_craft("stairsshine:slab_seaglass_red", {'stairs:slab_seaglassoff_red'})
|
||||
register_seaglass_craft("stairsshine:slab_seaglass_blue", {'stairs:slab_seaglassoff_blue'})
|
||||
register_seaglass_craft("stairsshine:slab_seaglass_white", {'stairs:slab_seaglassoff_white'})
|
||||
register_seaglass_craft("stairsshine:slab_seaglass_black", {'stairs:slab_seaglassoff_black'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglass", {'stairs:stair_outer_seaglassoff'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglass_yellow", {'stairs:stair_outer_seaglassoff_yellow'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglass_red", {'stairs:stair_outer_seaglassoff_red'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglass_blue", {'stairs:stair_outer_seaglassoff_blue'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglass_white", {'stairs:stair_outer_seaglassoff_white'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglass_black", {'stairs:stair_outer_seaglassoff_black'})
|
||||
|
||||
register_seaglass_craft("stairs:slab_seaglassoff", {'stairsshine:slab_seaglass'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_yellow", {'stairsshine:slab_seaglass_yellow'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_red", {'stairsshine:slab_seaglass_red'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_blue", {'stairsshine:slab_seaglass_blue'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_white", {'stairsshine:slab_seaglass_white'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_black", {'stairsshine:slab_seaglass_black'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglassoff", {'stairs:stair_outer_seaglass'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglassoff_yellow", {'stairs:stair_outer_seaglass_yellow'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglassoff_red", {'stairs:stair_outer_seaglass_red'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglassoff_blue", {'stairs:stair_outer_seaglass_blue'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglassoff_white", {'stairs:stair_outer_seaglass_white'})
|
||||
register_seaglass_craft("stairs:stair_outer_seaglassoff_black", {'stairs:stair_outer_seaglass_black'})
|
||||
|
||||
register_seaglass_craft("stairs:stair_inner_seaglass", {'stairs:stair_inner_seaglassoff'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglass_yellow", {'stairs:stair_inner_seaglassoff_yellow'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglass_red", {'stairs:stair_inner_seaglassoff_red'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglass_blue", {'stairs:stair_inner_seaglassoff_blue'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglass_white", {'stairs:stair_inner_seaglassoff_white'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglass_black", {'stairs:stair_inner_seaglassoff_black'})
|
||||
|
||||
-- FUNCTIONS
|
||||
register_seaglass_craft("stairs:stair_inner_seaglassoff", {'stairs:stair_inner_seaglass'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglassoff_yellow", {'stairs:stair_inner_seaglass_yellow'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglassoff_red", {'stairs:stair_inner_seaglass_red'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglassoff_blue", {'stairs:stair_inner_seaglass_blue'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglassoff_white", {'stairs:stair_inner_seaglass_white'})
|
||||
register_seaglass_craft("stairs:stair_inner_seaglassoff_black", {'stairs:stair_inner_seaglass_black'})
|
||||
|
||||
register_seaglass_craft("stairs:slab_seaglass", {'stairs:slab_seaglassoff'})
|
||||
register_seaglass_craft("stairs:slab_seaglass_yellow", {'stairs:slab_seaglassoff_yellow'})
|
||||
register_seaglass_craft("stairs:slab_seaglass_red", {'stairs:slab_seaglassoff_red'})
|
||||
register_seaglass_craft("stairs:slab_seaglass_blue", {'stairs:slab_seaglassoff_blue'})
|
||||
register_seaglass_craft("stairs:slab_seaglass_white", {'stairs:slab_seaglassoff_white'})
|
||||
register_seaglass_craft("stairs:slab_seaglass_black", {'stairs:slab_seaglassoff_black'})
|
||||
|
||||
local on_lamp_puncher = function (pos, node, puncher)
|
||||
if node.name == "seaglass:seaglass" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglassoff"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglassoff" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglass"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglass_yellow" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglassoff_yellow"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglassoff_yellow" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglass_yellow"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglass_red" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglassoff_red"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglassoff_red" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglass_red"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglass_blue" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglassoff_blue"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglassoff_blue" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglass_blue"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglass_white" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglassoff_white"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglassoff_white" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglass_white"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglass_black" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglassoff_black"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "seaglass:seaglassoff_black" then
|
||||
minetest.add_node(pos, {name="seaglass:seaglass_black"})
|
||||
nodeupdate(pos)
|
||||
|
||||
elseif node.name == "stairsshine:stair_seaglass" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_yellow" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_yellow", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_yellow" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_yellow", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_yellow" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_yellow", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_yellow" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_yellow", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_yellow" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_yellow", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_yellow" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_yellow", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_yellow" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_yellow", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_yellow" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_yellow", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_yellow" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_yellow", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_yellow" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_yellow", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_yellow" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_yellow", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_yellow" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_yellow", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_yellow" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_yellow", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_yellow" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_yellow", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_yellow" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_yellow", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_yellow" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_yellow", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_red" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_red", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_red" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_red", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_red" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_red", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_red" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_red", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_red" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_red", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_red" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_red", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_red" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_red", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_red" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_red", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_red" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_red", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_red" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_red", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_red" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_red", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_red" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_red", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_red" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_red", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_red" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_red", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_red" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_red", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_red" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_red", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_blue" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_blue", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_blue" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_blue", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_blue" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_blue", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_blue" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_blue", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_blue" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_blue", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_blue" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_blue", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_blue" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_blue", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_blue" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_blue", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_blue" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_blue", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_blue" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_blue", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_blue" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_blue", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_blue" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_blue", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_blue" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_blue", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_blue" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_blue", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_blue" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_blue", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_blue" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_blue", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
|
||||
elseif node.name == "stairsshine:stair_seaglass_white" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_white", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_white" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_white", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_white" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_white", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_white" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_white", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_white" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_white", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_white" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_white", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_white" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_white", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_white" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_white", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_white" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_white", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_white" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_white", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_white" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_white", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_white" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_white", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_white" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_white", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_white" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_white", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_white" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_white", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_white" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_white", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_black" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_black", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_black" and node.param2 == 0 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_black", param2 = 0})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_black" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_black", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_black" and node.param2 == 1 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_black", param2 = 1})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_black" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_black", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_black" and node.param2 == 2 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_black", param2 = 2})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_black" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_black", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_black" and node.param2 == 3 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_black", param2 = 3})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_black" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_black", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_black" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_black", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_black" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_black", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_black" and node.param2 == 21 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_black", param2 = 21})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_black" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_black", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_black" and node.param2 == 22 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_black", param2 = 22})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:stair_seaglass_black" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairs:stair_seaglassoff_black", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:stair_seaglassoff_black" and node.param2 == 23 then
|
||||
minetest.add_node(pos, {name="stairsshine:stair_seaglass_black", param2 = 23})
|
||||
nodeupdate(pos)
|
||||
|
||||
elseif node.name == "stairsshine:slab_seaglass" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass" then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff" then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_yellow" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_yellow", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_yellow" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_yellow", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_yellow" then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_yellow"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_yellow" then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_yellow"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_red" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_red", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_red" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_red", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_red" then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_red"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_red" then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_red"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_blue" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_blue", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_blue" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_blue", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_blue" then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_blue"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_blue" then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_blue"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_white" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_white", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_white" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_white", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_white" then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_white"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_white" then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_white"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_black" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_black", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_black" and node.param2 == 20 then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_black", param2 = 20})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairsshine:slab_seaglass_black" then
|
||||
minetest.add_node(pos, {name="stairs:slab_seaglassoff_black"})
|
||||
nodeupdate(pos)
|
||||
elseif node.name == "stairs:slab_seaglassoff_black" then
|
||||
minetest.add_node(pos, {name="stairsshine:slab_seaglass_black"})
|
||||
nodeupdate(pos) else
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_on_punchnode(on_lamp_puncher)
|
||||
|
||||
register_seaglass_craft("stairs:slab_seaglassoff", {'stairs:slab_seaglass'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_yellow", {'stairs:slab_seaglass_yellow'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_red", {'stairs:slab_seaglass_red'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_blue", {'stairs:slab_seaglass_blue'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_white", {'stairs:slab_seaglass_white'})
|
||||
register_seaglass_craft("stairs:slab_seaglassoff_black", {'stairs:slab_seaglass_black'})
|
||||
|
||||
|
||||
-- ALIASES
|
||||
@ -738,4 +213,6 @@ minetest.register_alias("clams:yellowlightglass","seaglass:seaglassoff_yellow")
|
||||
minetest.register_alias("clams:redlightglass","seaglass:seaglassoff_red")
|
||||
minetest.register_alias("clams:bluelightglass","seaglass:seaglassoff_blue")
|
||||
minetest.register_alias("clams:whitelightglass","seaglass:seaglassoff_white")
|
||||
minetest.register_alias("clams:blacklightglass","seaglass:seaglassoff_black")
|
||||
minetest.register_alias("clams:blacklightglass","seaglass:seaglassoff_black")
|
||||
|
||||
minetest.log("action", "[sea - seaglass] loaded.")
|
||||
|
@ -3,4 +3,5 @@ dye
|
||||
stairs
|
||||
clams
|
||||
whiteshell?
|
||||
colormachine?
|
||||
colormachine?
|
||||
moreblocks?
|
||||
|
@ -81,8 +81,26 @@ minetest.register_node("seagravel:seagravel_redviolet", {
|
||||
|
||||
-- STAIRS
|
||||
|
||||
local colors = {"", "cyan", "magenta", "lime", "aqua", "skyblue", "redviolet"}
|
||||
|
||||
stairs.register_stair_and_slab("seagravel", "seagravel:seagravel",
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
for i, color in ipairs(colors) do
|
||||
local c = "_"..color
|
||||
if i == 1 then c = "" end
|
||||
local nodename = "seagravel:seagravel"..c
|
||||
local ndef = table.copy(minetest.registered_nodes[nodename])
|
||||
ndef.sunlight_propagates = true
|
||||
ndef.place_param2 = nil
|
||||
|
||||
stairsplus:register_all(
|
||||
"seagravel",
|
||||
"seagravel"..c,
|
||||
nodename,
|
||||
ndef
|
||||
)
|
||||
end
|
||||
else
|
||||
stairs.register_stair_and_slab("seagravel", "seagravel:seagravel",
|
||||
{crumbly=2, falling_node=1},
|
||||
{"seagravel_seagravel.png"},
|
||||
"Seagravel stair",
|
||||
@ -92,7 +110,7 @@ stairs.register_stair_and_slab("seagravel", "seagravel:seagravel",
|
||||
dug = {name="default_gravel_footstep", gain=1.0},
|
||||
}))
|
||||
|
||||
stairs.register_stair_and_slab("seagravel_cyan", "seagravel:seagravel_cyan",
|
||||
stairs.register_stair_and_slab("seagravel_cyan", "seagravel:seagravel_cyan",
|
||||
{crumbly=2, falling_node=1},
|
||||
{"seagravel_seagravel_cyan.png"},
|
||||
"Seagravel stair cyan",
|
||||
@ -102,7 +120,7 @@ stairs.register_stair_and_slab("seagravel_cyan", "seagravel:seagravel_cyan",
|
||||
dug = {name="default_gravel_footstep", gain=1.0},
|
||||
}))
|
||||
|
||||
stairs.register_stair_and_slab("seagravel_magenta", "seagravel:seagravel_magenta",
|
||||
stairs.register_stair_and_slab("seagravel_magenta", "seagravel:seagravel_magenta",
|
||||
{crumbly=2, falling_node=1},
|
||||
{"seagravel_seagravel_magenta.png"},
|
||||
"Seagravel stair magenta",
|
||||
@ -112,7 +130,7 @@ stairs.register_stair_and_slab("seagravel_magenta", "seagravel:seagravel_magenta
|
||||
dug = {name="default_gravel_footstep", gain=1.0},
|
||||
}))
|
||||
|
||||
stairs.register_stair_and_slab("seagravel_lime", "seagravel:seagravel_lime",
|
||||
stairs.register_stair_and_slab("seagravel_lime", "seagravel:seagravel_lime",
|
||||
{cracky=3, stone=2},
|
||||
{"seagravel_seagravel_lime.png"},
|
||||
"Seagravel stair lime",
|
||||
@ -122,7 +140,7 @@ stairs.register_stair_and_slab("seagravel_lime", "seagravel:seagravel_lime",
|
||||
dug = {name="default_gravel_footstep", gain=1.0},
|
||||
}))
|
||||
|
||||
stairs.register_stair_and_slab("seagravel_aqua", "seagravel:seagravel_aqua",
|
||||
stairs.register_stair_and_slab("seagravel_aqua", "seagravel:seagravel_aqua",
|
||||
{crumbly=2, falling_node=1},
|
||||
{"seagravel_seagravel_aqua.png"},
|
||||
"Seagravel stair aqua",
|
||||
@ -132,7 +150,7 @@ stairs.register_stair_and_slab("seagravel_aqua", "seagravel:seagravel_aqua",
|
||||
dug = {name="default_gravel_footstep", gain=1.0},
|
||||
}))
|
||||
|
||||
stairs.register_stair_and_slab("seagravel_skyblue", "seagravel:seagravel_skyblue",
|
||||
stairs.register_stair_and_slab("seagravel_skyblue", "seagravel:seagravel_skyblue",
|
||||
{crumbly=2, falling_node=1},
|
||||
{"seagravel_seagravel_skyblue.png"},
|
||||
"Seagravel stair skyblue ",
|
||||
@ -142,7 +160,7 @@ stairs.register_stair_and_slab("seagravel_skyblue", "seagravel:seagravel_skyblue
|
||||
dug = {name="default_gravel_footstep", gain=1.0},
|
||||
}))
|
||||
|
||||
stairs.register_stair_and_slab("seagravel_redviolet", "seagravel:seagravel_redviolet",
|
||||
stairs.register_stair_and_slab("seagravel_redviolet", "seagravel:seagravel_redviolet",
|
||||
{crumbly=2, falling_node=1},
|
||||
{"seagravel_seagravel_redviolet.png"},
|
||||
"Seagravel stair redviolet",
|
||||
@ -151,7 +169,7 @@ stairs.register_stair_and_slab("seagravel_redviolet", "seagravel:seagravel_redvi
|
||||
footstep = {name="default_gravel_footstep", gain=0.5},
|
||||
dug = {name="default_gravel_footstep", gain=1.0},
|
||||
}))
|
||||
|
||||
end
|
||||
|
||||
-- CRAFTING
|
||||
|
||||
@ -178,4 +196,6 @@ register_seagravel_craft("seagravel:seagravel_magenta", {'clams:crushedwhite', '
|
||||
register_seagravel_craft("seagravel:seagravel_lime", {'clams:crushedwhite', 'default:gravel','dye:lime'})
|
||||
register_seagravel_craft("seagravel:seagravel_aqua", {'clams:crushedwhite', 'default:gravel','dye:aqua'})
|
||||
register_seagravel_craft("seagravel:seagravel_skyblue", {'clams:crushedwhite', 'default:gravel','dye:skyblue'})
|
||||
register_seagravel_craft("seagravel:seagravel_redviolet", {'clams:crushedwhite', 'default:gravel','dye:redviolet'})
|
||||
register_seagravel_craft("seagravel:seagravel_redviolet", {'clams:crushedwhite', 'default:gravel','dye:redviolet'})
|
||||
|
||||
minetest.log("action", "[sea - seagravel] loaded.")
|
||||
|
@ -71,4 +71,6 @@ minetest.register_craft({
|
||||
recipe = {
|
||||
{'default:steel_ingot', 'default:bronze_ingot', 'default:glass'},
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
minetest.log("action", "[sea - sealamps] loaded.")
|
||||
|
@ -1,2 +1 @@
|
||||
default
|
||||
noairblocks
|
@ -1,202 +1,155 @@
|
||||
-- NODES
|
||||
|
||||
minetest.register_node("seaplants:kelpgreen", {
|
||||
description = "Green Kelp",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seaplants_kelpgreen.png"},
|
||||
inventory_image = "seaplants_kelpgreen.png",
|
||||
wield_image = "seaplants_kelpgreen.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.3, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seaplants=1, sea=1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
for color, cname in pairs({green = "Green", brown = "Brown"}) do
|
||||
minetest.register_node(
|
||||
"seaplants:sand_with_kelp_"..color, {
|
||||
description = cname.." Kelp",
|
||||
drawtype = "plantlike_rooted",
|
||||
waving = 1,
|
||||
tiles = {"default_sand.png"},
|
||||
special_tiles = {{name = "seaplants_kelp"..color.."middle.png", tileable_vertical = true}},
|
||||
inventory_image = "seaplants_kelp"..color..".png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "leveled",
|
||||
groups = {snappy = 3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
{-2/16, 0.5, -2/16, 2/16, 3.5, 2/16},
|
||||
},
|
||||
},
|
||||
node_dig_prediction = "default:sand",
|
||||
node_placement_prediction = "",
|
||||
sounds = default.node_sound_sand_defaults(
|
||||
{
|
||||
dig = {name = "default_dig_snappy", gain = 0.2},
|
||||
dug = {name = "default_grass_footstep", gain = 0.25},
|
||||
}),
|
||||
|
||||
on_use = minetest.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
-- Call on_rightclick if the pointed node defines it
|
||||
if pointed_thing.type == "node" and placer and
|
||||
not placer:get_player_control().sneak then
|
||||
local node_ptu = minetest.get_node(pointed_thing.under)
|
||||
local def_ptu = minetest.registered_nodes[node_ptu.name]
|
||||
if def_ptu and def_ptu.on_rightclick then
|
||||
return def_ptu.on_rightclick(pointed_thing.under, node_ptu, placer,
|
||||
itemstack, pointed_thing)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_node("seaplants:kelpgreenmiddle", {
|
||||
description = "Green Kelp middle",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seaplants_kelpgreenmiddle.png"},
|
||||
inventory_image = "seaplants_kelpgreenmiddle.png",
|
||||
wield_image = "seaplants_kelpgreenmiddle.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seaplants=1, sea=1},
|
||||
drop = "seaplants:kelpgreen",
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
local pos = pointed_thing.under
|
||||
if minetest.get_node(pos).name ~= "default:sand" then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
minetest.register_node("seaplants:kelpbrown", {
|
||||
description = "Brown Kelp ",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seaplants_kelpbrown.png"},
|
||||
inventory_image = "seaplants_kelpbrown.png",
|
||||
wield_image = "seaplants_kelpbrown.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.3, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seaplants=1, sea=1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
local height = math.random(4, 6)
|
||||
local pos_top = {x = pos.x, y = pos.y + height, z = pos.z}
|
||||
local node_top = minetest.get_node(pos_top)
|
||||
local def_top = minetest.registered_nodes[node_top.name]
|
||||
local player_name = placer:get_player_name()
|
||||
|
||||
minetest.register_node("seaplants:kelpbrownmiddle", {
|
||||
description = "Brown Kelp middle",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seaplants_kelpbrownmiddle.png"},
|
||||
inventory_image = "seaplants_kelpbrownmiddle.png",
|
||||
wield_image = "seaplants_kelpbrownmiddle.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seaplants=1, sea=1},
|
||||
drop = "seaplants:kelpbrown",
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
if def_top and def_top.liquidtype == "source" and
|
||||
minetest.get_item_group(node_top.name, "water") > 0 then
|
||||
if not minetest.is_protected(pos, player_name) and
|
||||
not minetest.is_protected(pos_top, player_name) then
|
||||
minetest.set_node(pos, {name = "seaplants:sand_with_kelp_"..color,
|
||||
param2 = height * 16})
|
||||
if not (creative and creative.is_enabled_for
|
||||
and creative.is_enabled_for(player_name)) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
minetest.chat_send_player(player_name, "Node is protected")
|
||||
minetest.record_protection_violation(pos, player_name)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_node("seaplants:seagrassgreen", {
|
||||
description = "Green Seagrass",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seaplants_seagrassgreen.png"},
|
||||
inventory_image = "seaplants_seagrassgreen.png",
|
||||
wield_image = "seaplants_seagrassgreen.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.3, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seaplants=1, sea=1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
return itemstack
|
||||
end,
|
||||
|
||||
minetest.register_node("seaplants:seagrassred", {
|
||||
description = "Red Seagrass",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seaplants_seagrassred.png"},
|
||||
inventory_image = "seaplants_seagrassred.png",
|
||||
wield_image = "seaplants_seagrassred.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.3, 0.3}
|
||||
},
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
groups = {snappy=3, seaplants=1, sea=1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
after_destruct = function(pos, oldnode)
|
||||
minetest.set_node(pos, {name = "default:sand"})
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("seaplants:seaplantssandkelpgreen", {
|
||||
description = "Sea plants sand kelp green",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
-- Replace Old Kelps by new ones
|
||||
minetest.register_alias("seaplants:kelp"..color, "default:water_source")
|
||||
minetest.register_alias("seaplants:kelp"..color.."middle", "default:water_source")
|
||||
minetest.register_alias("seaplants:seaplantssandkelp"..color, "seaplants:sand_with_kelp_"..color)
|
||||
minetest.register_alias("seaplants:seaplantsdirtkelp"..color, "seaplants:sand_with_kelp_"..color)
|
||||
end
|
||||
|
||||
minetest.register_node("seaplants:seaplantsdirtkelpgreen", {
|
||||
description = "Sea plants dirt kelp green",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
for color, cname in pairs({green = "Green", red = "Red"}) do
|
||||
minetest.register_node(
|
||||
"seaplants:seagrass_"..color, {
|
||||
description = cname.." Seagrass",
|
||||
drawtype = "plantlike_rooted",
|
||||
waving = 1,
|
||||
paramtype = "light",
|
||||
tiles = {"default_sand.png"},
|
||||
special_tiles = {{name = "seaplants_seagrass"..color..".png", tileable_vertical = true}},
|
||||
inventory_image = "seaplants_seagrass"..color..".png",
|
||||
groups = {snappy = 3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
{-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},
|
||||
},
|
||||
},
|
||||
node_dig_prediction = "default:sand",
|
||||
node_placement_prediction = "",
|
||||
sounds = default.node_sound_sand_defaults(
|
||||
{
|
||||
dig = {name = "default_dig_snappy", gain = 0.2},
|
||||
dug = {name = "default_grass_footstep", gain = 0.25},
|
||||
}),
|
||||
|
||||
minetest.register_node("seaplants:seaplantssandkelpbrown", {
|
||||
description = "Sea plants sand kelp brown",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
on_use = minetest.item_eat(1),
|
||||
|
||||
minetest.register_node("seaplants:seaplantsdirtkelpbrown", {
|
||||
description = "Sea plants dirt kelp brown",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if pointed_thing.type ~= "node" or not placer then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
minetest.register_node("seaplants:seaplantssandseagrassgreen", {
|
||||
description = "Sea plants sand seagrass green",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
local player_name = placer:get_player_name()
|
||||
local pos_under = pointed_thing.under
|
||||
local pos_above = pointed_thing.above
|
||||
|
||||
minetest.register_node("seaplants:seaplantsdirtseagrassgreen", {
|
||||
description = "Sea plants dirt seagrass green",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
if minetest.get_node(pos_under).name ~= "default:sand" or
|
||||
minetest.get_node(pos_above).name ~= "default:water_source" then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
minetest.register_node("seaplants:seaplantssandseagrassred", {
|
||||
description = "Sea plants sand seagrass red",
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:sand',
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
if minetest.is_protected(pos_under, player_name) or
|
||||
minetest.is_protected(pos_above, player_name) then
|
||||
minetest.chat_send_player(player_name, "Node is protected")
|
||||
minetest.record_protection_violation(pos_under, player_name)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
minetest.register_node("seaplants:seaplantsdirtseagrassred", {
|
||||
description = "Sea plants dirt seagrass red",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
minetest.set_node(pos_under, {name = "seaplants:seagrass_"..color})
|
||||
if not (creative and creative.is_enabled_for(player_name)) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
minetest.set_node(pos, {name = "default:sand"})
|
||||
end,
|
||||
})
|
||||
|
||||
-- Replace Old seagrasses by new ones
|
||||
minetest.register_alias("seaplants:seagrass"..color, "default:water_source")
|
||||
minetest.register_alias("seaplants:seaplantssandseagrass"..color, "seaplants:seagrass_"..color)
|
||||
minetest.register_alias("seaplants:seaplantsdirtseagrass"..color, "seaplants:seagrass_"..color)
|
||||
end
|
||||
|
||||
|
||||
-- CRAFT ITEMS
|
||||
@ -214,326 +167,61 @@ minetest.register_craftitem("seaplants:seasaladmix", {
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "seaplants:seasaladmix",
|
||||
recipe = {"seaplants:kelpgreen", "seaplants:kelpbrown", "seaplants:seagrassgreen", "seaplants:seagrassred"}
|
||||
recipe = {"seaplants:sand_with_kelp_green", "seaplants:sand_with_kelp_brown", "seaplants:seagrass_green", "seaplants:seagrass_red"}
|
||||
})
|
||||
|
||||
|
||||
-- SEAPLANTS SAND AND DIRT GENERATION
|
||||
-- SEAPLANTS GENERATION
|
||||
|
||||
-- Kelp
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seaplants:seaplantssandkelpgreen",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -14,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seaplants:seaplantsdirtkelpgreen",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -14,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seaplants:seaplantssandkelpbrown",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -14,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seaplants:seaplantsdirtkelpbrown",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -14,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seaplants:seaplantssandseagrassgreen",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -14,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seaplants:seaplantsdirtseagrassgreen",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -14,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seaplants:seaplantssandseagrassred",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -14,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seaplants:seaplantsdirtseagrassred",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 24,
|
||||
clust_size = 4,
|
||||
y_max = -14,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, y_min, y_max)
|
||||
if maxp.y < y_min or minp.y > y_max then
|
||||
return
|
||||
end
|
||||
local y_min = math.max(minp.y, y_min)
|
||||
local y_max = math.min(maxp.y, y_max)
|
||||
if chunk_size >= y_max - y_min + 1 then
|
||||
return
|
||||
end
|
||||
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
|
||||
local pr = PseudoRandom(seed)
|
||||
local num_chunks = math.floor(chunks_per_volume * volume)
|
||||
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
|
||||
for i=1,num_chunks do
|
||||
local y0 = pr:next(y_min, y_max-chunk_size+1)
|
||||
if y0 >= y_min and y0 <= y_max then
|
||||
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
|
||||
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
|
||||
local p0 = {x=x0, y=y0, z=z0}
|
||||
for x1=0,chunk_size-1 do
|
||||
for y1=0,chunk_size-1 do
|
||||
for z1=0,chunk_size-1 do
|
||||
if pr:next(1,inverse_chance) == 1 then
|
||||
local x2 = x0+x1
|
||||
local y2 = y0+y1
|
||||
local z2 = z0+z1
|
||||
local p2 = {x=x2, y=y2, z=z2}
|
||||
if minetest.get_node(p2).name == wherein then
|
||||
minetest.set_node(p2, {name=name})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- ABM'S
|
||||
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:seaplantsdirtkelpgreen"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:kelpgreen"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:seaplantssandkelpgreen"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:kelpgreen"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:kelpgreen"},
|
||||
interval = 6,
|
||||
chance = 3,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
local yyp = {x = pos.x, y = pos.y + 2, z = pos.z}
|
||||
local yyyp = {x = pos.x, y = pos.y + 3, z = pos.z}
|
||||
if minetest.get_node(pos).name == "seaplants:kelpgreen" and
|
||||
(minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
if (minetest.get_node(yyp).name == "default:water_source" or
|
||||
minetest.get_node(yyp).name == "noairblocks:water_sourcex") then
|
||||
if (minetest.get_node(yyyp).name == "default:water_source" or
|
||||
minetest.get_node(yyyp).name == "noairblocks:water_sourcex") then
|
||||
minetest.add_node(pos, {name = "seaplants:kelpgreenmiddle"})
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:kelpgreen"})
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:seaplantsdirtkelpbrown"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:kelpbrown"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:seaplantssandkelpbrown"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:kelpbrown"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:kelpbrown"},
|
||||
interval = 6,
|
||||
chance = 3,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
local yyp = {x = pos.x, y = pos.y + 2, z = pos.z}
|
||||
local yyyp = {x = pos.x, y = pos.y + 3, z = pos.z}
|
||||
if minetest.get_node(pos).name == "seaplants:kelpbrown" and
|
||||
(minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
if (minetest.get_node(yyp).name == "default:water_source" or
|
||||
minetest.get_node(yyp).name == "noairblocks:water_sourcex") then
|
||||
if (minetest.get_node(yyyp).name == "default:water_source" or
|
||||
minetest.get_node(yyyp).name == "noairblocks:water_sourcex") then
|
||||
minetest.add_node(pos, {name = "seaplants:kelpbrownmiddle"})
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:kelpbrown"})
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:seaplantsdirtseagrassgreen"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:seagrassgreen"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:seaplantssandseagrassgreen"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:seagrassgreen"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:seaplantsdirtseagrassred"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:seagrassred"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"seaplants:seaplantssandseagrassred"},
|
||||
interval = 12,
|
||||
chance = 12,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local yp = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if (minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
pos.y = pos.y + 1
|
||||
minetest.add_node(pos, {name = "seaplants:seagrassred"}) else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
minetest.register_decoration(
|
||||
{
|
||||
name = "seaplants:seaplants",
|
||||
deco_type = "simple",
|
||||
place_on = {"default:sand"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.04,
|
||||
scale = 0.1,
|
||||
spread = {x = 200, y = 200, z = 200},
|
||||
seed = 87113,
|
||||
octaves = 3,
|
||||
persist = 0.7
|
||||
},
|
||||
biomes = {
|
||||
"taiga_ocean",
|
||||
"snowy_grassland_ocean",
|
||||
"grassland_ocean",
|
||||
"coniferous_forest_ocean",
|
||||
"deciduous_forest_ocean",
|
||||
"sandstone_desert_ocean",
|
||||
"cold_desert_ocean"},
|
||||
y_max = -5,
|
||||
y_min = -10,
|
||||
flags = "force_placement",
|
||||
decoration = {
|
||||
"default:sand_with_kelp", "seaplants:sand_with_kelp_green",
|
||||
"seaplants:sand_with_kelp_brown", "seaplants:seagrass_green",
|
||||
"seaplants:seagrass_red"
|
||||
},
|
||||
param2 = 48,
|
||||
param2_max = 96,
|
||||
})
|
||||
|
||||
|
||||
-- ALIASES
|
||||
|
||||
|
||||
minetest.register_alias("seaplants:stemsgreen","default:sand")
|
||||
minetest.register_alias("seaplants:stemsbrown","default:dirt")
|
||||
minetest.register_alias("seaplants:leafyblue","default:sand")
|
||||
minetest.register_alias("seaplants:leafygreen","default:dirt")
|
||||
|
||||
minetest.register_alias("seaplants:chewstickgreen","seaplants:kelpgreen")
|
||||
minetest.register_alias("seaplants:chewstickbrown","seaplants:kelpbrown")
|
||||
minetest.register_alias("seaplants:leavysnackgreen","seaplants:seagrassgreen")
|
||||
minetest.register_alias("seaplants:leavysnackblue","seaplants:seagrassred")
|
||||
minetest.register_alias("seaplants:seasalad","seaplants:seasaladmix")
|
||||
minetest.register_alias("seaplants:chewstickgreen","seaplants:sand_with_kelp_green")
|
||||
minetest.register_alias("seaplants:chewstickbrown","seaplants:sand_with_kelp_brown")
|
||||
minetest.register_alias("seaplants:leavysnackgreen","seaplants:seagrass_green")
|
||||
minetest.register_alias("seaplants:leavysnackblue","seaplants:seagrass_red")
|
||||
minetest.register_alias("seaplants:seasalad","seaplants:seasaladmix")
|
||||
|
||||
minetest.log("action", "[sea - seaplants] loaded.")
|
||||
|
@ -3,4 +3,5 @@ dye
|
||||
stairs
|
||||
clams
|
||||
whiteshell?
|
||||
colormachine?
|
||||
colormachine?
|
||||
moreblocks?
|
||||
|
@ -67,56 +67,74 @@ minetest.register_node("seastone:seastone_redviolet", {
|
||||
|
||||
-- STAIRS
|
||||
|
||||
local colors = {"", "cyan", "magenta", "lime", "aqua", "skyblue", "redviolet"}
|
||||
|
||||
stairs.register_stair_and_slab("seastone", "seastone:seastone",
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
for i, color in ipairs(colors) do
|
||||
local c = "_"..color
|
||||
if i == 1 then c = "" end
|
||||
local nodename = "seastone:seastone"..c
|
||||
local ndef = table.copy(minetest.registered_nodes[nodename])
|
||||
ndef.sunlight_propagates = true
|
||||
ndef.place_param2 = nil
|
||||
|
||||
stairsplus:register_all(
|
||||
"seastone",
|
||||
"seastone"..c,
|
||||
nodename,
|
||||
ndef
|
||||
)
|
||||
end
|
||||
else
|
||||
stairs.register_stair_and_slab("seastone", "seastone:seastone",
|
||||
{cracky=3, stone=1},
|
||||
{"seastone_seastone.png"},
|
||||
"Seastone stair",
|
||||
"Seastone slab",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastone_cyan", "seastone:seastone_cyan",
|
||||
stairs.register_stair_and_slab("seastone_cyan", "seastone:seastone_cyan",
|
||||
{cracky=3, stone=1},
|
||||
{"seastone_seastone_cyan.png"},
|
||||
"Seastone stair cyan",
|
||||
"Seastone slab cyan",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastone_magenta", "seastone:seastone_magenta",
|
||||
stairs.register_stair_and_slab("seastone_magenta", "seastone:seastone_magenta",
|
||||
{cracky=3, stone=1},
|
||||
{"seastone_seastone_magenta.png"},
|
||||
"Seastone stair magenta",
|
||||
"Seastone slab magenta",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastone_lime", "seastone:seastone_lime",
|
||||
stairs.register_stair_and_slab("seastone_lime", "seastone:seastone_lime",
|
||||
{cracky=3, stone=1},
|
||||
{"seastone_seastone_lime.png"},
|
||||
"Seastone stair lime",
|
||||
"Seastone slab lime",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastone_aqua", "seastone:seastone_aqua",
|
||||
stairs.register_stair_and_slab("seastone_aqua", "seastone:seastone_aqua",
|
||||
{cracky=3, stone=1},
|
||||
{"seastone_seastone_aqua.png"},
|
||||
"Seastone stair aqua",
|
||||
"Seastone slab aqua",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastone_skyblue", "seastone:seastone_skyblue",
|
||||
stairs.register_stair_and_slab("seastone_skyblue", "seastone:seastone_skyblue",
|
||||
{cracky=3, stone=1},
|
||||
{"seastone_seastone_skyblue.png"},
|
||||
"Seastone stair skyblue ",
|
||||
"Seastone slab skyblue",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastone_redviolet", "seastone:seastone_redviolet",
|
||||
stairs.register_stair_and_slab("seastone_redviolet", "seastone:seastone_redviolet",
|
||||
{cracky=3, stone=1},
|
||||
{"seastone_seastone_redviolet.png"},
|
||||
"Seastone stair redviolet",
|
||||
"Seastone slab redviolet",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
end
|
||||
|
||||
-- CRAFTING
|
||||
|
||||
@ -162,4 +180,6 @@ register_smoothblock_cooking("seastone:seastone_magenta", "seacobble:seacobble_m
|
||||
register_smoothblock_cooking("seastone:seastone_lime", "seacobble:seacobble_lime")
|
||||
register_smoothblock_cooking("seastone:seastone_aqua", "seacobble:seacobble_aqua")
|
||||
register_smoothblock_cooking("seastone:seastone_skyblue", "seacobble:seacobble_skyblue")
|
||||
register_smoothblock_cooking("seastone:seastone_redviolet", "seacobble:seacobble_redviolet")
|
||||
register_smoothblock_cooking("seastone:seastone_redviolet", "seacobble:seacobble_redviolet")
|
||||
|
||||
minetest.log("action", "[sea - seastone] loaded.")
|
||||
|
@ -1,4 +1,5 @@
|
||||
default
|
||||
stairs
|
||||
seastone
|
||||
colormachine?
|
||||
colormachine?
|
||||
moreblocks?
|
||||
|
@ -61,56 +61,74 @@ minetest.register_node("seastonebrick:seastonebrick_redviolet", {
|
||||
|
||||
-- STAIRS
|
||||
|
||||
local colors = {"", "cyan", "magenta", "lime", "aqua", "skyblue", "redviolet"}
|
||||
|
||||
stairs.register_stair_and_slab("seastonebrick", "seastonebrick:seastonebrick",
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
for i, color in ipairs(colors) do
|
||||
local c = "_"..color
|
||||
if i == 1 then c = "" end
|
||||
local nodename = "seastonebrick:seastonebrick"..c
|
||||
local ndef = table.copy(minetest.registered_nodes[nodename])
|
||||
ndef.sunlight_propagates = true
|
||||
ndef.place_param2 = nil
|
||||
|
||||
stairsplus:register_all(
|
||||
"seastonebrick",
|
||||
"seastonebrick"..c,
|
||||
nodename,
|
||||
ndef
|
||||
)
|
||||
end
|
||||
else
|
||||
stairs.register_stair_and_slab("seastonebrick", "seastonebrick:seastonebrick",
|
||||
{cracky=3, stone=1},
|
||||
{"seastonebrick_seastonebrick.png"},
|
||||
"Seastonebrick stair",
|
||||
"Seastonebrick slab",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastonebrick_cyan", "seastonebrick:seastonebrick_cyan",
|
||||
stairs.register_stair_and_slab("seastonebrick_cyan", "seastonebrick:seastonebrick_cyan",
|
||||
{cracky=3, stone=1},
|
||||
{"seastonebrick_seastonebrick_cyan.png"},
|
||||
"Seastonebrick stair cyan",
|
||||
"Seastonebrick slab cyan",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastonebrick_magenta", "seastonebrick:seastonebrick_magenta",
|
||||
stairs.register_stair_and_slab("seastonebrick_magenta", "seastonebrick:seastonebrick_magenta",
|
||||
{cracky=3, stone=1},
|
||||
{"seastonebrick_seastonebrick_magenta.png"},
|
||||
"Seastonebrick stair magenta",
|
||||
"Seastonebrick slab magenta",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastonebrick_lime", "seastonebrick:seastonebrick_lime",
|
||||
stairs.register_stair_and_slab("seastonebrick_lime", "seastonebrick:seastonebrick_lime",
|
||||
{cracky=3, stone=1},
|
||||
{"seastonebrick_seastonebrick_lime.png"},
|
||||
"Seastonebrick stair lime",
|
||||
"Seastonebrick slab lime",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastonebrick_aqua", "seastonebrick:seastonebrick_aqua",
|
||||
stairs.register_stair_and_slab("seastonebrick_aqua", "seastonebrick:seastonebrick_aqua",
|
||||
{cracky=3, stone=1},
|
||||
{"seastonebrick_seastonebrick_aqua.png"},
|
||||
"Seastonebrick stair aqua",
|
||||
"Seastonebrick slab aqua",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastonebrick_skyblue", "seastonebrick:seastonebrick_skyblue",
|
||||
stairs.register_stair_and_slab("seastonebrick_skyblue", "seastonebrick:seastonebrick_skyblue",
|
||||
{cracky=3, stone=1},
|
||||
{"seastonebrick_seastonebrick_skyblue.png"},
|
||||
"Seastonebrick stair skyblue ",
|
||||
"Seastonebrick slab skyblue",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("seastonebrick_redviolet", "seastonebrick:seastonebrick_redviolet",
|
||||
stairs.register_stair_and_slab("seastonebrick_redviolet", "seastonebrick:seastonebrick_redviolet",
|
||||
{cracky=3, stone=1},
|
||||
{"seastonebrick_seastonebrick_redviolet.png"},
|
||||
"Seastonebrick stair redviolet",
|
||||
"Seastonebrick slab redviolet",
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
end
|
||||
|
||||
-- CRAFTING
|
||||
|
||||
@ -128,4 +146,6 @@ register_blockbrick_craft("seastonebrick:seastonebrick_magenta", {{'seastone:sea
|
||||
register_blockbrick_craft("seastonebrick:seastonebrick_lime", {{'seastone:seastone_lime', 'seastone:seastone_lime'}, {'seastone:seastone_lime', 'seastone:seastone_lime'}})
|
||||
register_blockbrick_craft("seastonebrick:seastonebrick_aqua", {{'seastone:seastone_aqua', 'seastone:seastone_aqua'}, {'seastone:seastone_aqua', 'seastone:seastone_aqua'}})
|
||||
register_blockbrick_craft("seastonebrick:seastonebrick_skyblue", {{'seastone:seastone_skyblue', 'seastone:seastone_skyblue'}, {'seastone:seastone_skyblue', 'seastone:seastone_skyblue'}})
|
||||
register_blockbrick_craft("seastonebrick:seastonebrick_redviolet", {{'seastone:seastone_redviolet', 'seastone:seastone_redviolet'}, {'seastone:seastone_redviolet', 'seastone:seastone_redviolet'}})
|
||||
register_blockbrick_craft("seastonebrick:seastonebrick_redviolet", {{'seastone:seastone_redviolet', 'seastone:seastone_redviolet'}, {'seastone:seastone_redviolet', 'seastone:seastone_redviolet'}})
|
||||
|
||||
minetest.log("action", "[sea - seastonebrick] loaded.")
|
||||
|
@ -1 +1,2 @@
|
||||
default
|
||||
default
|
||||
treasurer?
|
||||
|
@ -1,5 +1,25 @@
|
||||
-- NODES
|
||||
-- Fill chests function
|
||||
local random = math.random
|
||||
|
||||
local function fill_chest(pos, min_pre, max_pre)
|
||||
local n = minetest.get_node(pos)
|
||||
if n and n.name and n.name == "default:chest" then
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 32)
|
||||
local stacks = {}
|
||||
if minetest.get_modpath("treasurer") ~= nil then
|
||||
stacks = treasurer.select_random_treasures(8, min_pre, max_pre, {"armes", "armures", "outils", "bonus", "carburant", "precieux"})
|
||||
end -- TODO else if no treasurer
|
||||
for s=1,#stacks do
|
||||
if not inv:contains_item("main", stacks[s]) then
|
||||
inv:set_stack("main", random(1,32), stacks[s])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- NODES
|
||||
|
||||
minetest.register_node("seawrecks:woodship", {
|
||||
description = "Sand for the wooden ship",
|
||||
@ -13,123 +33,17 @@ minetest.register_node("seawrecks:uboot", {
|
||||
description = "Dirt for the U-boot",
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
groups = {crumbly=3, falling_node=1, sand=1, soil=1, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("seawrecks:woodshipchest", {
|
||||
description = "Wooden ship chest",
|
||||
tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",
|
||||
"default_chest_side.png", "default_chest_side.png", "default_chest_front.png"},
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy=2,oddly_breakable_by_hand=2, not_in_creative_inventory=1},
|
||||
drop = 'default:chest',
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"size[8,9]"..
|
||||
"list[current_name;main;0,0;8,4;]"..
|
||||
"list[current_player;main;0,5;8,4;]" ..
|
||||
"listring[current_name;main]" ..
|
||||
"listring[current_player;main]")
|
||||
meta:set_string("infotext", "Woodship chest")
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8*4)
|
||||
meta:from_table({
|
||||
inventory = {
|
||||
main = {[1] = "default:tree 99", [2] = "default:jungletree 99", [3] = "default:wood 99", [4] = "default:junglewood 99", [5] = "default:sapling 99", [6] = "default:junglesapling 99", [7] = "default:grass_1 99", [8] = "default:junglegrass 99", [32] = ""}
|
||||
},
|
||||
fields = {
|
||||
formspec = "size[8,9;]list[context;main;0,0;8,4;]list[current_player;main;0,5;8,4;]" ..
|
||||
"listring[context;main]" ..
|
||||
"listring[current_player;main]",
|
||||
infotext = "Normal chest"
|
||||
}
|
||||
})
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff in chest at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff to chest at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" takes stuff from chest at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("seawrecks:ubootchest", {
|
||||
description = "U-boot chest",
|
||||
tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",
|
||||
"default_chest_side.png", "default_chest_side.png", "default_chest_front.png"},
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy=2,oddly_breakable_by_hand=2, not_in_creative_inventory=1},
|
||||
drop = 'default:chest',
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"size[8,9]"..
|
||||
"list[current_name;main;0,0;8,4;]"..
|
||||
"list[current_player;main;0,5;8,4;]" ..
|
||||
"listring[current_name;main]" ..
|
||||
"listring[current_player;main]")
|
||||
meta:set_string("infotext", "U-boot chest")
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8*4)
|
||||
meta:from_table({
|
||||
inventory = {
|
||||
main = {[1] = "default:gold_ingot 99", [2] = "default:mese_crystal 99", [3] = "default:diamond 99", [32] = ""}
|
||||
},
|
||||
fields = {
|
||||
formspec = "size[8,9;]list[context;main;0,0;8,4;]list[current_player;main;0,5;8,4;]" ..
|
||||
"listring[context;main]" ..
|
||||
"listring[current_player;main]",
|
||||
infotext = "Normal chest"
|
||||
}
|
||||
})
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff in chest at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff to chest at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" takes stuff from chest at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
-- WRECK GENERATION
|
||||
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seawrecks:woodship",
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 30*30*30,
|
||||
clust_scarcity = 40*40*40,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 12,
|
||||
y_max = -4,
|
||||
@ -139,11 +53,11 @@ minetest.register_ore({
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "seawrecks:uboot",
|
||||
wherein = "default:dirt",
|
||||
clust_scarcity = 30*30*30,
|
||||
wherein = "default:sand",
|
||||
clust_scarcity = 50*50*50,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 12,
|
||||
y_max = -8,
|
||||
y_max = -10,
|
||||
y_min = -31000,
|
||||
})
|
||||
|
||||
@ -358,7 +272,9 @@ local yp = {x = pos.x, y = pos.y + 3, z = pos.z}
|
||||
pos.y = pos.y - 7
|
||||
pos.z = pos.z + 1
|
||||
pos.x = pos.x - 2
|
||||
minetest.add_node(pos, {name = "seawrecks:woodshipchest"})
|
||||
|
||||
minetest.add_node(pos, {name = "default:chest"})
|
||||
fill_chest(pos, 1, 4)
|
||||
|
||||
else
|
||||
return
|
||||
@ -375,7 +291,7 @@ local yp = {x = pos.x, y = pos.y + 8, z = pos.z}
|
||||
if minetest.get_node(pos).name == "seawrecks:uboot" and
|
||||
(minetest.get_node(yp).name == "default:water_source" or
|
||||
minetest.get_node(yp).name == "noairblocks:water_sourcex") then
|
||||
minetest.add_node(pos, {name = "default:dirt"})
|
||||
minetest.add_node(pos, {name = "default:sand"})
|
||||
|
||||
pos.y = pos.y + 1
|
||||
pos.x = pos.x - 15
|
||||
@ -925,10 +841,16 @@ local yp = {x = pos.x, y = pos.y + 8, z = pos.z}
|
||||
pos.y = pos.y - 7
|
||||
pos.x = pos.x +16
|
||||
pos.z = pos.z +3
|
||||
minetest.add_node(pos, {name = "seawrecks:ubootchest"})
|
||||
|
||||
minetest.add_node(pos, {name = "default:chest"})
|
||||
fill_chest(pos, 1, 10)
|
||||
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
})
|
||||
})
|
||||
|
||||
minetest.register_alias("seawrecks:woodshipchest", "default:chest")
|
||||
|
||||
minetest.log("action", "[sea - seawrecks] loaded.")
|
||||
|
@ -216,4 +216,6 @@ minetest.register_abm({
|
||||
function stairsshine.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds)
|
||||
stairsshine.register_stair(subname, recipeitem, groups, images, desc_stair, sounds)
|
||||
stairsshine.register_slab(subname, recipeitem, groups, images, desc_slab, sounds)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.log("action", "[sea - stairsshine] loaded.")
|
||||
|
@ -81,4 +81,4 @@ end
|
||||
|
||||
minetest.register_alias("clams:whiteshell","whiteshell:whiteshell")
|
||||
|
||||
print("[Mod] Sea Loaded.")
|
||||
minetest.log("action", "[sea - whiteshell] loaded.")
|
||||
|
Reference in New Issue
Block a user