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: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}, 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 })