444 lines
14 KiB
Lua
444 lines
14 KiB
Lua
minetest.register_node('epic:stone', {
|
|
description = 'Stone',
|
|
tiles = {'default_stone.png'},
|
|
groups = {cracky = 2, stone = 1},
|
|
drop = {
|
|
max_items = 2,
|
|
items = {
|
|
{items = {'epic:float_crystal_shard'}, rarity = 50,},
|
|
{items = {'default:cobble'}},
|
|
}
|
|
},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:border', {
|
|
description = 'Invisible Border',
|
|
drawtype = 'airlike',
|
|
paramtype = 'light',
|
|
pointable = false,
|
|
groups = {not_in_creative_inventory=1},
|
|
})
|
|
|
|
minetest.register_node('epic:float_stone', {
|
|
description = 'Actinolite',
|
|
light_source = 3,
|
|
tiles = {'epic_actinolite_top.png', 'default_stone.png', 'epic_actinolite_side.png'},
|
|
groups = {cracky = 2, stone = 1, level = 4},
|
|
drop = 'epic:float_crystal 4',
|
|
sounds = default.node_sound_stone_defaults(),
|
|
on_timer = function(pos)
|
|
local new_pos = ({x=pos.x, y=pos.y+1, z=pos.z})
|
|
local abovenode = minetest.get_node(new_pos).name
|
|
if abovenode == 'air' then
|
|
minetest.set_node(new_pos, {name='epic:float_stone'})
|
|
minetest.set_node(pos, {name='air'})
|
|
local timer = minetest.get_node_timer(new_pos)
|
|
timer:start(1)
|
|
end
|
|
end,
|
|
})
|
|
|
|
minetest.register_node('epic:floating_base', {
|
|
description = 'Laputa',
|
|
light_source = 1,
|
|
tiles = {'epic_laputa.png'},
|
|
groups = {cracky = 2, stone = 1, level = 3, not_in_creative_inventory=1},
|
|
drop = {
|
|
max_items = 3,
|
|
items = {
|
|
{items = {'epic:float_crystal 2'}, rarity = 1},
|
|
{items = {'epic:float_crystal 3'}, rarity = 3},
|
|
{items = {'default:diamond 4'}, rarity = 1},
|
|
{items = {'default:diamond 5'}, rarity = 3},
|
|
{items = {'default:mese_crystal 4'}, rarity = 1},
|
|
{items = {'default:mese_crystal 5'}, rarity = 3},
|
|
},
|
|
},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
on_timer = function(pos)
|
|
local new_pos = ({x=pos.x, y=pos.y+1, z=pos.z})
|
|
local abovenode = minetest.get_node(new_pos).name
|
|
if abovenode == 'air' then
|
|
minetest.set_node(new_pos, {name='epic:floating_base'})
|
|
minetest.set_node(pos, {name='air'})
|
|
local timer = minetest.get_node_timer(new_pos)
|
|
timer:start(10)
|
|
end
|
|
end,
|
|
on_construct = function(pos)
|
|
local timer = minetest.get_node_timer(pos)
|
|
timer:start(30)
|
|
end,
|
|
})
|
|
|
|
minetest.register_node('epic:stone_with_titanium', {
|
|
description = 'Nether rack with titanium',
|
|
tiles = {'nether_rack.png^epic_titanium_ore.png'},
|
|
groups = {cracky = 1, stone = 1},
|
|
drop = 'epic:titanium_lump',
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:nether_with_gold', {
|
|
description = 'Nether rack with gold',
|
|
tiles = {'nether_rack.png^default_mineral_gold.png'},
|
|
groups = {cracky = 1, stone = 1},
|
|
drop = 'default:gold_lump 2',
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:nether_with_diamond', {
|
|
description = 'Nether rack with gold',
|
|
tiles = {'nether_rack.png^default_mineral_diamond.png'},
|
|
groups = {cracky = 1, stone = 1},
|
|
drop = 'default:diamond 2',
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:tree_ash', {
|
|
description = 'Burnt tree',
|
|
paramtype2 = 'facedir',
|
|
tiles = {'epic_tree_ash_top.png', 'epic_tree_ash_top.png', 'epic_tree_ash_side.png'},
|
|
groups = {choppy = 3, oddly_breakable_by_hand = 3},
|
|
on_place = minetest.rotate_node
|
|
})
|
|
|
|
minetest.register_node('epic:wood_ash', {
|
|
description = 'Burnt wood',
|
|
tiles = {'epic_wood_ash.png'},
|
|
groups = {choppy = 3, oddly_breakable_by_hand = 3},
|
|
})
|
|
|
|
minetest.register_node('epic:scorched_dirt', {
|
|
description = 'Scorched dirt',
|
|
tiles = {{name='epic_scorched_dirt.png', align_style='world', scale=4}},
|
|
inventory_image = '[inventorycube{epic_scorched_dirt.png&[sheet:4x4:1,1{epic_scorched_dirt.png&[sheet:4x4:1,1{epic_scorched_dirt.png&[sheet:4x4:1,1',
|
|
groups = {crumbly = 3},
|
|
})
|
|
|
|
minetest.register_node('epic:stone_with_salt', {
|
|
description = 'Salt crystals',
|
|
tiles = {'default_stone.png^epic_salt_ore.png'},
|
|
is_ground_content = true,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'epic:salt_lump',
|
|
groups = {cracky = 3},
|
|
})
|
|
|
|
minetest.register_node('epic:desert_stone_with_nitre', {
|
|
description = 'Nitre ore',
|
|
tiles = {'default_desert_stone.png^epic_nitre_ore.png'},
|
|
is_ground_content = true,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'epic:potassium_nitrate',
|
|
groups = {cracky = 2},
|
|
})
|
|
|
|
minetest.register_node('epic:mineral_sulfur', {
|
|
description = 'Sulfur Ore',
|
|
tiles = {'default_stone.png^epic_mineral_sulfur.png'},
|
|
is_ground_content = true,
|
|
groups = {cracky=2},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'epic:sulfur_lump',
|
|
})
|
|
|
|
minetest.register_node('epic:metal_lead', {
|
|
description = 'Lead Ore',
|
|
tiles = {'default_stone.png^epic_metal_lead.png'},
|
|
is_ground_content = true,
|
|
groups = {cracky=2},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'epic:lead_lump',
|
|
})
|
|
|
|
minetest.register_node('epic:desert_garnet', {
|
|
description = 'Garnet crystal',
|
|
tiles = {'default_desert_stone.png^epic_garnet_ore.png'},
|
|
is_ground_content = true,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'epic:garnet',
|
|
groups = {cracky = 1, level = 2},
|
|
})
|
|
|
|
minetest.register_node('epic:stone_garnet', {
|
|
description = 'Garnet crystal',
|
|
tiles = {'default_stone.png^epic_garnet_ore.png'},
|
|
is_ground_content = true,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'epic:garnet',
|
|
groups = {cracky = 1, level = 2},
|
|
})
|
|
|
|
minetest.register_node('epic:desert_stone_with_coal', {
|
|
description = 'Coal Ore',
|
|
tiles = {'default_desert_stone.png^default_mineral_coal.png'},
|
|
groups = {cracky = 3},
|
|
drop = 'default:coal_lump',
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:desert_stone_with_iron', {
|
|
description = 'Iron Ore',
|
|
tiles = {'default_desert_stone.png^default_mineral_iron.png'},
|
|
groups = {cracky = 2},
|
|
drop = 'default:iron_lump',
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:bloodstone_ore', {
|
|
description = 'Bloodstone Ore',
|
|
tiles = {'default_stone.png^epic_bloodstone_ore.png'},
|
|
is_ground_content = true,
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'epic:bloodstone',
|
|
groups = {cracky = 2, level = 2},
|
|
})
|
|
|
|
minetest.register_node('epic:3grass_brick', {
|
|
description = 'Grass with Stone Brick',
|
|
drawtype = 'mesh',
|
|
mesh = 'epic_triangle.obj',
|
|
tiles = {'default_stone_brick.png', 'default_grass.png', 'default_dirt.png^default_grass_side.png'},
|
|
paramtype = 'light',
|
|
paramtype2 = 'facedir',
|
|
groups = {cracky = 2, crumbly = 2},
|
|
})
|
|
|
|
minetest.register_node('epic:3brick_grass', {
|
|
description = 'Stone Brick with Grass',
|
|
drawtype = 'mesh',
|
|
mesh = 'epic_triangle.obj',
|
|
tiles = {'default_grass.png', 'default_stone_brick.png', 'default_dirt.png^default_grass_side.png'},
|
|
paramtype = 'light',
|
|
paramtype2 = 'facedir',
|
|
groups = {cracky = 2, crumbly = 2},
|
|
})
|
|
|
|
minetest.register_node('epic:3dirt_cobble', {
|
|
description = 'Dirt with Cobble',
|
|
drawtype = 'mesh',
|
|
mesh = 'epic_triangle.obj',
|
|
tiles = {'default_dirt.png', 'default_cobble.png', 'default_dirt.png'},
|
|
paramtype = 'light',
|
|
paramtype2 = 'facedir',
|
|
groups = {cracky = 2, crumbly = 2},
|
|
})
|
|
|
|
minetest.register_node('epic:3cobble_dirt', {
|
|
description = 'Cobble with Dirt',
|
|
drawtype = 'mesh',
|
|
mesh = 'epic_triangle.obj',
|
|
tiles = {'default_cobble.png', 'default_dirt.png', 'default_dirt.png'},
|
|
paramtype = 'light',
|
|
paramtype2 = 'facedir',
|
|
groups = {cracky = 2, crumbly = 2},
|
|
})
|
|
|
|
minetest.register_node('epic:poison', {
|
|
description = 'Animal poison',
|
|
drawtype = 'signlike',
|
|
tiles = {'epic_animal_poison.png'},
|
|
inventory_image = 'epic_animal_poison.png',
|
|
wield_image = 'epic_animal_poison.png',
|
|
paramtype = 'light',
|
|
paramtype2 = 'wallmounted',
|
|
sunlight_propagates = true,
|
|
selection_box = {
|
|
type = 'fixed',
|
|
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
|
},
|
|
collision_box = {
|
|
type = 'fixed',
|
|
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
|
},
|
|
groups = {dig_immediate = 3, attached_node = 1},
|
|
})
|
|
|
|
local function flood_flame(pos, oldnode, newnode)
|
|
-- Play flame extinguish sound if liquid is not an 'igniter'
|
|
local nodedef = minetest.registered_items[newnode.name]
|
|
if not (nodedef and nodedef.groups and
|
|
nodedef.groups.igniter and nodedef.groups.igniter > 0) then
|
|
minetest.sound_play('fire_extinguish_flame',
|
|
{pos = pos, max_hear_distance = 16, gain = 0.15})
|
|
end
|
|
-- Remove the flame
|
|
return false
|
|
end
|
|
|
|
minetest.register_node('epic:permanent_flame', {
|
|
description = 'Permanent Flame',
|
|
drawtype = 'firelike',
|
|
tiles = {
|
|
{
|
|
name = 'fire_basic_flame_animated.png',
|
|
animation = {
|
|
type = 'vertical_frames',
|
|
aspect_w = 16,
|
|
aspect_h = 16,
|
|
length = 1
|
|
},
|
|
},
|
|
},
|
|
inventory_image = 'fire_basic_flame.png',
|
|
paramtype = 'light',
|
|
light_source = 13,
|
|
walkable = false,
|
|
buildable_to = true,
|
|
sunlight_propagates = true,
|
|
floodable = true,
|
|
damage_per_second = 4,
|
|
groups = {dig_immediate = 3},
|
|
drop = '',
|
|
|
|
on_flood = flood_flame,
|
|
})
|
|
|
|
minetest.register_node('epic:empty', {
|
|
description = 'empty node :P',
|
|
drawtype = 'airlike',
|
|
paramtype = 'light',
|
|
walkable = true,
|
|
pointable = false,
|
|
diggable = false,
|
|
drop = '',
|
|
groups = {not_in_creative_inventory = 1, empty_node=1},
|
|
on_blast = function() end,
|
|
tiles = {'epic_blank.png'},
|
|
node_box = {
|
|
type = 'fixed',
|
|
fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}
|
|
},
|
|
})
|
|
|
|
minetest.register_node('epic:acacia_bark', {
|
|
description = 'Acacia bark',
|
|
tiles = {'default_acacia_tree.png'},
|
|
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:aspen_bark', {
|
|
description = 'Aspen bark',
|
|
tiles = {'default_aspen_tree.png'},
|
|
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:jungle_bark', {
|
|
description = 'Jungle bark',
|
|
tiles = {'default_jungletree.png'},
|
|
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:pine_bark', {
|
|
description = 'Pine bark',
|
|
tiles = {'default_pine_tree.png'},
|
|
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
})
|
|
|
|
minetest.register_node('epic:tree_bark', {
|
|
description = 'Tree bark',
|
|
tiles = {'default_tree.png'},
|
|
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
})
|
|
|
|
stairsplus:register_all('epic', 'burnt_wood', 'epic:wood_ash', {
|
|
description='Burnt Wood',
|
|
groups = {choppy = 3, oddly_breakable_by_hand = 3, not_in_creative_inventory=1},
|
|
tiles={'epic_wood_ash.png'},
|
|
})
|
|
|
|
stairsplus:register_all('ocean', 'prismarine', 'ocean:prismarine', {
|
|
description='Prismarine',
|
|
groups={cracky=1, not_in_creative_inventory=1},
|
|
tiles={'prismarine.png'},
|
|
})
|
|
|
|
stairsplus:register_all('epic', 'acacia_bark', 'epic:acacia_bark', {
|
|
description='Acacia',
|
|
groups={choppy = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory=1},
|
|
tiles={'default_acacia_tree.png'},
|
|
})
|
|
|
|
stairsplus:register_all('epic', 'aspen_bark', 'epic:aspen_bark', {
|
|
description='Aspen',
|
|
groups={choppy = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory=1},
|
|
tiles={'default_aspen_tree.png'},
|
|
})
|
|
|
|
stairsplus:register_all('epic', 'jungle_bark', 'epic:jungle_bark', {
|
|
description='Jungle',
|
|
groups={choppy = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory=1},
|
|
tiles={'default_jungletree.png'},
|
|
})
|
|
|
|
stairsplus:register_all('epic', 'pine_bark', 'epic:pine_bark', {
|
|
description='Pine',
|
|
groups={choppy = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory=1},
|
|
tiles={'default_pine_tree.png'},
|
|
})
|
|
|
|
stairsplus:register_all('epic', 'tree_bark', 'epic:tree_bark', {
|
|
description='Tree',
|
|
groups={choppy = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory=1},
|
|
tiles={'default_tree.png'},
|
|
})
|
|
|
|
stairsplus:register_all('epic', 'wood_ash', 'epic:wood_ash', {
|
|
description='Burnt wood',
|
|
groups={choppy = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory=1},
|
|
tiles={'epic_wood_ash.png'},
|
|
})
|
|
|
|
stairsplus:register_all('epic', 'tree_ash', 'epic:tree_ash', {
|
|
description='Burnt tree',
|
|
groups={choppy = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory=1},
|
|
tiles={'epic_tree_ash_top.png', 'epic_tree_ash_side.png'},
|
|
})
|
|
|
|
stairsplus:register_all('asteroid', 'stone', 'asteroid:stone', {
|
|
description='Asteroid Stone',
|
|
groups={cracky = 2, not_in_creative_inventory=1},
|
|
tiles={'asteroid_stone.png'},
|
|
})
|
|
|
|
stairsplus:register_all('asteroid', 'stone_brick', 'asteroid:stone_brick', {
|
|
description='Asteroid Stone Brick',
|
|
groups={cracky = 2, not_in_creative_inventory=1},
|
|
tiles={'asteroid_stone_brick.png'},
|
|
})
|
|
|
|
stairsplus:register_all('caverealms', 'glow_amethyst', 'caverealms:glow_amethyst', {
|
|
description='Glow Amethyst',
|
|
groups={cracky = 2, not_in_creative_inventory=1},
|
|
tiles={'caverealms_glow_amethyst.png'},
|
|
light_source = 10
|
|
})
|
|
|
|
stairsplus:register_all('caverealms', 'glow_crystal', 'caverealms:glow_crystal', {
|
|
description='Glow Crystal',
|
|
groups={cracky = 2, not_in_creative_inventory=1},
|
|
tiles={'caverealms_glow_crystal.png'},
|
|
light_source = 10
|
|
})
|
|
|
|
stairsplus:register_all('caverealms', 'glow_emerald', 'caverealms:glow_emerald', {
|
|
description='Glow Emerald',
|
|
groups={cracky = 2, not_in_creative_inventory=1},
|
|
tiles={'caverealms_glow_emerald.png'},
|
|
light_source = 10
|
|
})
|
|
|
|
stairsplus:register_all('caverealms', 'glow_ruby', 'caverealms:glow_ruby', {
|
|
description='Glow Ruby',
|
|
groups={cracky = 2, not_in_creative_inventory=1},
|
|
tiles={'caverealms_glow_ruby.png'},
|
|
light_source = 10
|
|
})
|