From bd2438540aa4e678aa18d785c695dfc9bb60a682 Mon Sep 17 00:00:00 2001 From: Juraj Vajda Date: Wed, 29 Mar 2023 15:35:48 -0400 Subject: [PATCH] Add MCL support - initial commit --- .luacheckrc | 5 + .luarc.json | 7 +- api.lua | 171 ++++---- init.lua | 10 + mapgen_after.lua | 2 +- mapgen_bamboo_forest.lua | 16 + mapgen_baobab_savanna.lua | 15 + mod.conf | 2 +- mod_support_mcl.lua | 841 ++++++++++++++++++++++++++++++++++++ mod_support_mcl_aliases.lua | 184 ++++++++ nodes.lua | 18 +- tools.lua | 19 + 12 files changed, 1211 insertions(+), 79 deletions(-) create mode 100644 mod_support_mcl.lua create mode 100644 mod_support_mcl_aliases.lua diff --git a/.luacheckrc b/.luacheckrc index 5593a70..422c687 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -82,4 +82,9 @@ read_globals = { "x_obsidianmese", "x_farming", "x_clay", + "mcl_fences", + "mcl_walls", + "mcl_stairs", + "mcl_core", + "mcl_util", } diff --git a/.luarc.json b/.luarc.json index ec52474..c92ebbb 100644 --- a/.luarc.json +++ b/.luarc.json @@ -111,7 +111,12 @@ "XTumbleweed", "x_obsidianmese", "x_farming", - "x_clay" + "x_clay", + "mcl_fences", + "mcl_walls", + "mcl_stairs", + "mcl_core", + "mcl_util" ] } } diff --git a/api.lua b/api.lua index acce734..a8bd5cd 100644 --- a/api.lua +++ b/api.lua @@ -636,94 +636,115 @@ end -- copy from MTG -- function Everness.sapling_on_place(self, itemstack, placer, pointed_thing, props) - local _props = props or {} - local sapling_name = _props.sapling_name - -- minp, maxp to be checked, relative to sapling pos - -- minp_relative.y = 1 because sapling pos has been checked - local minp_relative = _props.minp_relative - local maxp_relative = _props.maxp_relative - -- maximum interval of interior volume check - local interval = _props.interval + if minetest.get_modpath('mcl_util') and minetest.global_exists('mcl_util') then + local on_place_func = mcl_util.generate_on_place_plant_function(function(pos, node) + local node_below = minetest.get_node_or_nil({ x = pos.x, y = pos.y - 1, z = pos.z }) - -- Position of sapling - local pos = pointed_thing.under - local node = minetest.get_node_or_nil(pos) - local pdef = node and minetest.registered_nodes[node.name] + if not node_below then + return false + end - if pdef and node and pdef.on_rightclick - and not (placer and placer:is_player() - and placer:get_player_control().sneak) - then - return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing) - end + local nn = node_below.name - if not pdef or not pdef.buildable_to then - pos = pointed_thing.above - node = minetest.get_node_or_nil(pos) - pdef = node and minetest.registered_nodes[node.name] + return minetest.get_item_group(nn, 'grass_block') == 1 + or nn == 'mcl_core:podzol' + or nn == 'mcl_core:podzol_snow' + or nn == 'mcl_core:dirt' + or nn == 'mcl_core:mycelium' + or nn == 'mcl_core:coarse_dirt' + end) + + return on_place_func(itemstack, placer, pointed_thing) + else + local _props = props or {} + local sapling_name = _props.sapling_name + -- minp, maxp to be checked, relative to sapling pos + -- minp_relative.y = 1 because sapling pos has been checked + local minp_relative = _props.minp_relative + local maxp_relative = _props.maxp_relative + -- maximum interval of interior volume check + local interval = _props.interval + + -- Position of sapling + local pos = pointed_thing.under + local node = minetest.get_node_or_nil(pos) + local pdef = node and minetest.registered_nodes[node.name] + + if pdef and node and pdef.on_rightclick + and not (placer and placer:is_player() + and placer:get_player_control().sneak) + then + return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing) + end if not pdef or not pdef.buildable_to then + pos = pointed_thing.above + node = minetest.get_node_or_nil(pos) + pdef = node and minetest.registered_nodes[node.name] + + if not pdef or not pdef.buildable_to then + return itemstack + end + end + + local player_name = placer and placer:get_player_name() or '' + + -- Check sapling position for protection + if minetest.is_protected(pos, player_name) then + minetest.record_protection_violation(pos, player_name) return itemstack end - end - local player_name = placer and placer:get_player_name() or '' + -- Check tree volume for protection + if minetest.is_area_protected( + vector.add(pos, minp_relative), + vector.add(pos, maxp_relative), + player_name, + interval + ) + then + minetest.record_protection_violation(pos, player_name) + minetest.chat_send_player( + player_name, + S('@1 will intersect protection on growth.', itemstack:get_definition().description) + ) - -- Check sapling position for protection - if minetest.is_protected(pos, player_name) then - minetest.record_protection_violation(pos, player_name) - return itemstack - end + return itemstack + end - -- Check tree volume for protection - if minetest.is_area_protected( - vector.add(pos, minp_relative), - vector.add(pos, maxp_relative), - player_name, - interval - ) - then - minetest.record_protection_violation(pos, player_name) - minetest.chat_send_player( - player_name, - S('@1 will intersect protection on growth.', itemstack:get_definition().description) - ) + Everness.log_player_action(placer, 'places node', sapling_name, 'at', pos) + + local take_item = not minetest.is_creative_enabled(player_name) + local newnode = { name = sapling_name } + local ndef = minetest.registered_nodes[sapling_name] + + minetest.set_node(pos, newnode) + + -- Run callback + if ndef and ndef.after_place_node then + -- Deepcopy place_to and pointed_thing because callback can modify it + if ndef.after_place_node(table.copy(pos), placer, + itemstack, table.copy(pointed_thing)) then + take_item = false + end + end + + -- Run script hook + for _, callback in ipairs(minetest.registered_on_placenodes or {}) do + -- Deepcopy pos, node and pointed_thing because callback can modify them + if callback(table.copy(pos), table.copy(newnode), + placer, table.copy(node or {}), + itemstack, table.copy(pointed_thing)) then + take_item = false + end + end + + if take_item then + itemstack:take_item() + end return itemstack end - - Everness.log_player_action(placer, 'places node', sapling_name, 'at', pos) - - local take_item = not minetest.is_creative_enabled(player_name) - local newnode = { name = sapling_name } - local ndef = minetest.registered_nodes[sapling_name] - - minetest.set_node(pos, newnode) - - -- Run callback - if ndef and ndef.after_place_node then - -- Deepcopy place_to and pointed_thing because callback can modify it - if ndef.after_place_node(table.copy(pos), placer, - itemstack, table.copy(pointed_thing)) then - take_item = false - end - end - - -- Run script hook - for _, callback in ipairs(minetest.registered_on_placenodes or {}) do - -- Deepcopy pos, node and pointed_thing because callback can modify them - if callback(table.copy(pos), table.copy(newnode), - placer, table.copy(node or {}), - itemstack, table.copy(pointed_thing)) then - take_item = false - end - end - - if take_item then - itemstack:take_item() - end - - return itemstack end -- diff --git a/init.lua b/init.lua index 2d50e9f..388c960 100644 --- a/init.lua +++ b/init.lua @@ -21,6 +21,11 @@ minetest = minetest.global_exists('minetest') and minetest --[[@as Minetest]] local path = minetest.get_modpath('everness') local mod_start_time = minetest.get_us_time() +-- MineClone2 support +if minetest.get_modpath('mcl_core') and minetest.global_exists('mcl_core') then + dofile(path .. '/mod_support_mcl_aliases.lua') +end + dofile(path .. '/api.lua') dofile(path .. '/nodes.lua') dofile(path .. '/nodes_farming.lua') @@ -218,6 +223,11 @@ then dofile(path .. '/mod_support_x_obsidianmese.lua') end +-- MineClone2 +if minetest.get_modpath('mcl_core') and minetest.global_exists('mcl_core') then + dofile(path .. '/mod_support_mcl.lua') +end + Everness.set_loot_chest_items() local mod_end_time = (minetest.get_us_time() - mod_start_time) / 1000000 diff --git a/mapgen_after.lua b/mapgen_after.lua index 6ef02cb..fb73267 100644 --- a/mapgen_after.lua +++ b/mapgen_after.lua @@ -190,7 +190,7 @@ minetest.register_on_generated(function(minp, maxp, blockseed) ) minetest.log('action', '[Everness] Forsaken Desert Temple was placed at ' .. schem_pos:to_string()) - elseif (biome_name == 'coniferous_forest' or biome_name == 'taiga') + elseif (biome_name == 'coniferous_forest' or biome_name == 'taiga' or biome_name == 'MegaSpruceTaiga') and rand:next(0, 100) < 100 then local schem = minetest.get_modpath('everness') .. '/schematics/everness_giant_sequoia_tree.mts' diff --git a/mapgen_bamboo_forest.lua b/mapgen_bamboo_forest.lua index 0c216dc..34b94bb 100644 --- a/mapgen_bamboo_forest.lua +++ b/mapgen_bamboo_forest.lua @@ -82,6 +82,22 @@ local jungle_log_schem if minetest.get_modpath('default') then jungle_tree_schem = minetest.get_modpath('default') .. '/schematics/jungle_tree.mts' jungle_log_schem = minetest.get_modpath('default') .. '/schematics/jungle_log.mts' +elseif minetest.get_modpath('mcl_core') then + jungle_tree_schem = minetest.get_modpath('mcl_core') .. '/schematics/mcl_core_jungle_tree.mts' + jungle_log_schem = { + size = { x = 3, y = 3, z = 1 }, + data = { + { name = 'air', prob = 0 }, + { name = 'air', prob = 0 }, + { name = 'air', prob = 0 }, + { name = 'mcl_core:jungletree', param2 = 12 }, + { name = 'mcl_core:jungletree', param2 = 12 }, + { name = 'mcl_core:jungletree', param2 = 12, prob = 127 }, + { name = 'air', prob = 0 }, + { name = 'mcl_mushrooms:mushroom_brown', prob = 50 }, + { name = 'air', prob = 0 }, + }, + } end if jungle_tree_schem then diff --git a/mapgen_baobab_savanna.lua b/mapgen_baobab_savanna.lua index dfe17ae..922d181 100644 --- a/mapgen_baobab_savanna.lua +++ b/mapgen_baobab_savanna.lua @@ -122,6 +122,21 @@ local acacia_log_schem if minetest.get_modpath('default') then acacia_log_schem = minetest.get_modpath('default') .. '/schematics/acacia_log.mts' +elseif minetest.get_modpath('mcl_core') then + acacia_log_schem = { + size = { x = 3, y = 3, z = 1 }, + data = { + { name = 'air', prob = 0 }, + { name = 'air', prob = 0 }, + { name = 'air', prob = 0 }, + { name = 'mcl_core:acaciatree', param2 = 12 }, + { name = 'mcl_core:acaciatree', param2 = 12 }, + { name = 'mcl_core:acaciatree', param2 = 12, prob = 127 }, + { name = 'air', prob = 0 }, + { name = 'mcl_mushrooms:mushroom_brown', prob = 50 }, + { name = 'air', prob = 0 }, + }, + } end if acacia_log_schem then diff --git a/mod.conf b/mod.conf index 40b0d1d..608e65b 100644 --- a/mod.conf +++ b/mod.conf @@ -1,6 +1,6 @@ name = everness description = Never ending discovery in Everness mapgen. depends = -optional_depends = default, xpanes, doors, stairs, walls, x_obsidianmese, x_tumbleweed, x_farming, x_clay +optional_depends = default, xpanes, doors, stairs, walls, x_obsidianmese, x_tumbleweed, x_farming, x_clay, mcl_core, mcl_fences, mcl_walls, mcl_stairs, mcl_util, mcl_autogroup supported_games = minetest_game min_minetest_version = 5.4 diff --git a/mod_support_mcl.lua b/mod_support_mcl.lua new file mode 100644 index 0000000..4babaa1 --- /dev/null +++ b/mod_support_mcl.lua @@ -0,0 +1,841 @@ +--[[ + Everness. Never ending discovery in Everness mapgen. + Copyright (C) 2023 SaKeL + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to juraj.vajda@gmail.com +--]] + +local S = minetest.get_translator(minetest.get_current_modname()) +--[[]] +minetest.register_on_mods_loaded(function() + local everness_registered_nodes = {} + local everness_registered_nodes_length = 0 + local everness_registered_nodes_sand_length = 0 + + -- minetest.registered_items + -- registered_nodes + -- registered_tools + -- registered_craftitems + + for name, def in pairs(minetest.registered_nodes) do + local name_split = name:split(':') + + if name_split[1] == 'everness' then + everness_registered_nodes[name] = def + + if minetest.get_item_group(name, 'sand') ~= 0 then + local new_groups = table.copy(def.groups) + + everness_registered_nodes_sand_length = everness_registered_nodes_sand_length + 1 + + new_groups.handy = 1 + new_groups.shovely = 1 + new_groups.soil_sugarcane = 1 + new_groups.enderman_takable = 1 + new_groups.building_block = 1 + new_groups.material_sand = 1 + + new_groups.creative_breakable = 1 + new_groups.solid = 1 + new_groups.opaque = 1 + + new_groups.handy_dig = 7 + new_groups.shovely_dig = 2 + + -- minetest.override_item(name, { + -- groups = new_groups, + -- _mcl_blast_resistance = 0.5, + -- _mcl_hardness = 0.5 + -- }) + + if name == 'everness:coral_sand' then + print(dump(minetest.registered_nodes[name])) + end + end + + + everness_registered_nodes_length = everness_registered_nodes_length + 1 + end + end + + -- for name, def in pairs(minetest.registered_tools) do + -- local name_split = name:split(':') + + -- if name_split[1] == 'everness' then + -- if name == 'everness:pick_illuminating' then + -- print(dump(minetest.registered_tools[name])) + -- end + -- end + -- end + + print('sand', everness_registered_nodes_sand_length) + print('total', everness_registered_nodes_length) +end) + +--- +-- Fence / Gates +--- + +-- Dry Wood + +mcl_fences.register_fence_and_fence_gate( + 'fence_dry_wood', + S('Dry Wood Fence'), + S('Dry Wood Fence Gate'), + 'everness_fence_dry_wood.png', + { handy = 1, axey = 1, flammable = 2, fence_wood = 1, fire_encouragement = 5, fire_flammability = 20 }, + 2, + 15, + { 'group:fence_wood' }, + Everness.node_sound_wood_defaults() +) + +-- Bamboo Wood + +mcl_fences.register_fence_and_fence_gate( + 'fence_bamboo_wood', + S('Bamboo Wood Fence'), + S('Bamboo Wood Fence Gate'), + 'everness_fence_bamboo_wood.png', + { handy = 1, axey = 1, flammable = 2, fence_wood = 1, fire_encouragement = 5, fire_flammability = 20 }, + 2, + 15, + { 'group:fence_wood' }, + Everness.node_sound_wood_defaults() +) + +--- +-- Walls +--- + +mcl_walls.register_wall( + 'everness:coraldesertcobblewall', + S('Coral Cobblestone Wall'), + 'everness:coral_desert_cobble', + { 'everness_coral_desert_cobble.png' }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:coraldesertmossycobblewall', + S('Coral Mossy Cobblestone Wall'), + 'everness:coral_desert_mossy_cobble', + { 'everness_coral_desert_mossy_cobble.png' }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:cursedbrickwall', + S('Cursed Brick Wall'), + 'everness:cursed_brick', + { 'everness_cursed_brick.png' }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:cursedbrickwithgrowthwall', + S('Cursed Brick with Growth Wall'), + 'everness:cursed_brick_with_growth', + { 'everness_cursed_brick_with_growth.png' }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:forsakentundracobblewall', + S('Forsaken Tundra Cobblestone Wall'), + 'everness:forsaken_tundra_cobble', + { 'everness_forsaken_tundra_cobblestone.png' }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:forsakentundrastonewall', + S('Forsaken Tundra Stone Wall'), + 'everness:forsaken_tundra_stone', + { 'everness_forsaken_tundra_stone.png' }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:forsakentundrabrickwall', + S('Forsaken Tundra Brick Wall'), + 'everness:forsaken_tundra_brick', + { 'everness_forsaken_tundra_brick.png' }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:magmacobblewall', + S('Magma Cobblestone Wall'), + 'everness:magmacobble', + { + { + name = 'everness_magmacobble_animated.png', + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:volcanicrockwall', + S('Volcanic Rock Wall'), + 'everness:volcanic_rock', + { 'everness_volcanic_rock.png' }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +mcl_walls.register_wall( + 'everness:volcanicrockwithmagmawall', + S('Volcanic Rock with Magma Wall'), + 'everness:volcanic_rock_with_magma', + { + { + name = 'everness_volcanic_rock_with_magma_animated.png', + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + nil, + nil, + Everness.node_sound_stone_defaults() +) + +--- +-- Stairs and Slabs +--- + +mcl_stairs.register_stair_and_slab( + 'coral_desert_stone', + 'everness:coral_desert_stone', + { pickaxey = 3 }, + { 'everness_coral_desert_stone.png' }, + S('Coral Desert Stone Stair'), + S('Coral Desert Stone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Desert Stone Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_desert_cobble', + 'everness:coral_desert_cobble', + { pickaxey = 3 }, + { 'everness_coral_desert_cobble.png' }, + S('Coral Desert Cobblestone Stair'), + S('Coral Desert Cobblestone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Desert Cobblestone Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_desert_mossy_cobble', + 'everness:coral_desert_mossy_cobble', + { pickaxey = 3 }, + { 'everness_coral_desert_mossy_cobble.png' }, + S('Coral Mossy Cobblestone Stair'), + S('Coral Mossy Cobblestone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Mossy Cobblestone Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'cursed_brick', + 'everness:cursed_brick', + { pickaxey = 2 }, + { 'everness_cursed_brick.png' }, + S('Cursed Brick Stair'), + S('Cursed Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Cursed Brick Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'cursed_brick_with_growth', + 'everness:cursed_brick_with_growth', + { pickaxey = 2 }, + { 'everness_cursed_brick_with_growth.png' }, + S('Cursed Brick with Growth Stair'), + S('Cursed Brick with Growth Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Cursed Brick with Growth Slab'), + nil +) + +-- Quartz + +mcl_stairs.register_stair_and_slab( + 'quartz_block', + 'everness:quartz_block', + { pickaxey = 2 }, + { + 'everness_quartz_block_top.png', + 'everness_quartz_block_bottom.png', + 'everness_quartz_block_side.png', + }, + S('Quartz Block Stair'), + S('Quartz Block Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Quartz Block Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'quartz_chiseled', + 'everness:quartz_chiseled', + { pickaxey = 2 }, + { + 'everness_quartz_block_chiseled_top.png', + 'everness_quartz_block_chiseled_top.png', + 'everness_quartz_block_chiseled.png', + }, + S('Quartz Chiseled Stair'), + S('Quartz Chiseled Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Quartz Chiseled Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'quartz_pillar', + 'everness:quartz_pillar', + { pickaxey = 2 }, + { + 'everness_quartz_block_lines_top.png', + 'everness_quartz_block_lines_top.png', + 'everness_quartz_block_lines.png', + }, + S('Quartz Pillar Stair'), + S('Quartz Pillar Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Quartz Pillar Slab'), + nil +) + +-- Dry Wood + +mcl_stairs.register_stair_and_slab( + 'dry_wood', + 'everness:dry_wood', + { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, + { 'everness_dry_wood.png' }, + S('Dry Wood Stair'), + S('Dry Wood Slab'), + Everness.node_sound_wood_defaults(), + 6, + 2, + S('Double Dry Wood Slab'), + nil +) + +-- Bamboo Wood + +mcl_stairs.register_stair_and_slab( + 'bamboo_wood', + 'everness:bamboo_wood', + { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, + { 'everness_dry_bamboo_block_side.png' }, + S('Bamboo Wood Stair'), + S('Bamboo Wood Slab'), + Everness.node_sound_wood_defaults(), + 6, + 2, + S('Double Bamboo Wood Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'bamboo_mosaic_wood', + 'everness:bamboo_mosaic_wood', + { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, + { 'everness_bamboo_mosaic.png' }, + S('Bamboo Mosaic Wood Stair'), + S('Bamboo Mosaic Wood Slab'), + Everness.node_sound_wood_defaults(), + 6, + 2, + S('Double Bamboo Mosaic Wood Slab'), + nil +) + +-- Forsaken stone + +mcl_stairs.register_stair_and_slab( + 'forsaken_desert_brick', + 'everness:forsaken_desert_brick', + { pickaxey = 2, stone = 1 }, + { 'everness_forsaken_desert_brick.png' }, + S('Forsaken Desert Brick Stair'), + S('Forsaken Desert Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Forsaken Desert Brick Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'forsaken_desert_brick_red', + 'everness:forsaken_desert_brick_red', + { pickaxey = 2, stone = 1 }, + { 'everness_forsaken_desert_brick_red.png' }, + S('Forsaken Desert Brick Red Stair'), + S('Forsaken Desert Brick Red Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Forsaken Desert Brick Red Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'forsaken_desert_chiseled_stone', + 'everness:forsaken_desert_chiseled_stone', + { pickaxey = 2, stone = 1 }, + { 'everness_forsaken_desert_chiseled_stone_side.png' }, + S('Forsaken Desert Chiseled Stone Stair'), + S('Forsaken Desert Chiseled Stone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Forsaken Desert Chiseled Stone Slab'), + nil +) + +-- Baobab Wood + +mcl_stairs.register_stair_and_slab( + 'baobab_wood', + 'everness:baobab_wood', + { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, + { 'everness_baobab_wood.png' }, + S('Baobab Wood Stair'), + S('Baobab Wood Slab'), + Everness.node_sound_wood_defaults(), + 6, + 2, + S('Double Baobab Wood Slab'), + nil +) + +-- Sequoia Wood + +mcl_stairs.register_stair_and_slab( + 'sequoia_wood', + 'everness:sequoia_wood', + { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, + { 'everness_sequoia_wood.png' }, + S('Sequoia Wood Stair'), + S('Sequoia Wood Slab'), + Everness.node_sound_wood_defaults(), + 6, + 2, + S('Double Sequoia Wood Slab'), + nil +) + +-- Forsaken Tundra + +mcl_stairs.register_stair_and_slab( + 'forsaken_tundra_cobble', + 'everness:forsaken_tundra_cobble', + { pickaxey = 3, stone = 2 }, + { 'everness_forsaken_tundra_cobblestone.png' }, + S('Forsaken Tundra Cobblestone Stair'), + S('Forsaken Tundra Cobblestone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Forsaken Tundra Cobblestone Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'forsaken_tundra_stone', + 'everness:forsaken_tundra_stone', + { pickaxey = 3, stone = 1 }, + { 'everness_forsaken_tundra_stone.png' }, + S('Forsaken Tundra Stone Stair'), + S('Forsaken Tundra Stone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Forsaken Tundra Stone Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'forsaken_tundra_brick', + 'everness:forsaken_tundra_brick', + { pickaxey = 2, stone = 1 }, + { 'everness_forsaken_tundra_brick.png' }, + S('Forsaken Tundra Brick Stair'), + S('Forsaken Tundra Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Forsaken Tundra Brick Slab'), + nil +) + +-- Willow Wood + +mcl_stairs.register_stair_and_slab( + 'willow_wood', + 'everness:willow_wood', + { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, + { 'everness_willow_wood.png' }, + S('Willow Wood Stair'), + S('Willow Wood Slab'), + Everness.node_sound_wood_defaults(), + 6, + 2, + S('Double Willow Wood Slab'), + nil +) + + +-- Magma Cobble + +mcl_stairs.register_stair_and_slab( + 'magmacobble', + 'everness:magmacobble', + { pickaxey = 3, stone = 1 }, + { + { + name = 'everness_magmacobble_animated.png', + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + } + }, + S('Magma Cobblestone Stair'), + S('Magma Cobblestone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Magma Cobblestone Slab'), + nil +) + +-- Volcanic rock + +mcl_stairs.register_stair_and_slab( + 'volcanic_rock', + 'everness:volcanic_rock', + { pickaxey = 1, stone = 2 }, + { 'everness_volcanic_rock.png' }, + S('Volcanic Rock Stair'), + S('Volcanic Rock Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Volcanic Rock Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'volcanic_rock_with_magma', + 'everness:volcanic_rock_with_magma', + { pickaxey = 1, stone = 2 }, + { + { + name = 'everness_volcanic_rock_with_magma_animated.png', + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + S('Volcanic Rock with Magma Stair'), + S('Volcanic Rock with Magma Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Volcanic Rock with Magma Slab'), + nil +) + +-- Coral Forest Deep Ocean + +mcl_stairs.register_stair_and_slab( + 'coral_deep_ocean_sandstone_block', + 'everness:coral_deep_ocean_sandstone_block', + { pickaxey = 2 }, + { 'everness_deep_ocean_sandstone_block.png' }, + S('Coral Depp Ocean Sandstone Block Stair'), + S('Coral Depp Ocean Sandstone Block Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Depp Ocean Sandstone Block Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_deep_ocean_sandstone_brick', + 'everness:coral_deep_ocean_sandstone_brick', + { pickaxey = 2 }, + { 'everness_deep_ocean_sandstone_brick.png' }, + S('Coral Depp Ocean Sandstone Brick Stair'), + S('Coral Depp Ocean Sandstone Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Depp Ocean Sandstone Brick Slab'), + nil +) + +-- Coral White Sandstone + +mcl_stairs.register_stair_and_slab( + 'coral_white_sandstone', + 'everness:coral_white_sandstone', + { pickaxey = 2 }, + { 'everness_coral_white_sandstone.png' }, + S('Coral White Sandstone Stair'), + S('Coral White Sandstone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral White Sandstone Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_white_sandstone_pillar', + 'everness:coral_white_sandstone_pillar', + { pickaxey = 2 }, + { + 'everness_coral_white_sandstone.png', + 'everness_coral_white_sandstone.png', + 'everness_coral_white_sandstone_pillar.png', + }, + S('Coral White Sandstone Pillar Stair'), + S('Coral White Sandstone Pillar Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral White Sandstone Pillar Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_white_sandstone_brick', + 'everness:coral_white_sandstone_brick', + { pickaxey = 2 }, + { 'everness_coral_white_sandstone_brick.png' }, + S('Coral White Sandstone Brick Stair'), + S('Coral White Sandstone Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral White Sandstone Brick Slab'), + nil +) + +-- Coral Desert Stone + +mcl_stairs.register_stair_and_slab( + 'coral_desert_stone_block', + 'everness:coral_desert_stone_block', + { pickaxey = 2 }, + { 'everness_coral_desert_stone_block.png' }, + S('Coral Desert Stone Block Stair'), + S('Coral Desert Stone Block Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Desert Stone Block Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_desert_stone_brick', + 'everness:coral_desert_stone_brick', + { pickaxey = 2 }, + { 'everness_coral_desert_stone_brick.png' }, + S('Coral Desert Stone Brick Stair'), + S('Coral Desert Stone Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Desert Stone Brick Slab'), + nil +) + +-- Coral Sandstone + +mcl_stairs.register_stair_and_slab( + 'coral_sandstone', + 'everness:coral_sandstone', + { pickaxey = 2 }, + { 'everness_coral_sandstone.png' }, + S('Coral Sandstone Stair'), + S('Coral Sandstone Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Sandstone Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_sandstone_brick', + 'everness:coral_sandstone_brick', + { pickaxey = 2 }, + { 'everness_coral_sandstone_brick.png' }, + S('Coral Sandstone Brick Stair'), + S('Coral Sandstone Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Sandstone Brick Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_sandstone_chiseled', + 'everness:coral_sandstone_chiseled', + { pickaxey = 2 }, + { 'everness_coral_sandstone_chiseled.png' }, + S('Coral Sandstone Chiseled Stair'), + S('Coral Sandstone Chiseled Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Sandstone Chiseled Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'coral_sandstone_carved_1', + 'everness:coral_sandstone_carved_1', + { pickaxey = 2 }, + { 'everness_coral_sandstone_carved_1.png' }, + S('Coral Sandstone Carved Stair'), + S('Coral Sandstone Carved Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Coral Sandstone Carved Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'cursed_lands_deep_ocean_sandstone_block', + 'everness:cursed_lands_deep_ocean_sandstone_block', + { pickaxey = 2 }, + { 'everness_cursed_lands_deep_ocean_sandblock.png' }, + S('Cursed Lands Deep Ocean Sandstone Block Stair'), + S('Cursed Lands Deep Ocean Sandstone Block Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Cursed Lands Deep Ocean Sandstone Block Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'cursed_lands_deep_ocean_sandstone_brick', + 'everness:cursed_lands_deep_ocean_sandstone_brick', + { pickaxey = 2 }, + { 'everness_cursed_lands_deep_ocean_sand_brick.png' }, + S('Cursed Lands Deep Ocean Sandstone Brick Stair'), + S('Cursed Lands Deep Ocean Sandstone Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Cursed Lands Deep Ocean Sandstone Brick Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'crystal_forest_deep_ocean_sandstone_block', + 'everness:crystal_forest_deep_ocean_sandstone_block', + { pickaxey = 2 }, + { 'everness_crystal_forest_deep_ocean_sandstone_block.png' }, + S('Crystal Forest Deep Ocean Sandstone Block Stair'), + S('Crystal Forest Deep Ocean Sandstone Block Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Crystal Forest Deep Ocean Sandstone Block Slab'), + nil +) + +mcl_stairs.register_stair_and_slab( + 'crystal_forest_deep_ocean_sandstone_brick', + 'everness:crystal_forest_deep_ocean_sandstone_brick', + { pickaxey = 2 }, + { 'everness_crystal_forest_deep_ocean_sandstone_brick.png' }, + S('Crystal Forest Deep Ocean Sandstone Brick Stair'), + S('Crystal Forest Deep Ocean Sandstone Brick Slab'), + Everness.node_sound_stone_defaults(), + 6, + 2, + S('Double Crystal Forest Deep Ocean Sandstone Brick Slab'), + nil +) diff --git a/mod_support_mcl_aliases.lua b/mod_support_mcl_aliases.lua new file mode 100644 index 0000000..88ff617 --- /dev/null +++ b/mod_support_mcl_aliases.lua @@ -0,0 +1,184 @@ +--[[ + Everness. Never ending discovery in Everness mapgen. + Copyright (C) 2023 SaKeL + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to juraj.vajda@gmail.com +--]] + +minetest.register_alias('default:water_source', 'mcl_core:water_source') +minetest.register_alias('default:dirt_with_rainforest_litter', 'mcl_core:dirt_with_grass') +minetest.register_alias('default:dirt_with_snow', 'mcl_core:dirt_with_grass_snow') +minetest.register_alias('default:dirt_with_coniferous_litter', 'mcl_core:podzol') +minetest.register_alias('default:dirt_with_grass', 'mcl_core:dirt_with_grass') +minetest.register_alias('default:stick', 'mcl_core:stick') +minetest.register_alias('default:paper', 'mcl_core:paper') +minetest.register_alias('default:book', 'mcl_books:book') +minetest.register_alias('default:skeleton_key', 'mcl_core:gold_nugget') +minetest.register_alias('default:flint', 'mcl_core:flint') +minetest.register_alias('default:obsidian_shard', 'mcl_core:prismarine_shard') +minetest.register_alias('default:clay_brick', 'mcl_core:brick') +minetest.register_alias('default:mese_crystal_fragment', 'mcl_amethyst:amethyst_shard') +-- Ingots +minetest.register_alias('default:gold_ingot', 'mcl_core:gold_ingot') +minetest.register_alias('default:bronze_ingot', 'mcl_copper:copper_ingot') +minetest.register_alias('default:tin_ingot', 'mcl_core:iron_ingot') +minetest.register_alias('default:copper_ingot', 'mcl_copper:copper_ingot') +minetest.register_alias('default:steel_ingot', 'mcl_core:iron_ingot') +minetest.register_alias('default:coal_lump', 'mcl_core:coal_lump') +-- Tools +minetest.register_alias('default:pick_stone', 'mcl_tools:pick_stone') +minetest.register_alias('default:pick_bronze', 'mcl_tools:pick_gold') +minetest.register_alias('default:pick_steel', 'mcl_tools:pick_iron') +minetest.register_alias('default:shovel_stone', 'mcl_tools:shovel_stone') +minetest.register_alias('default:shovel_bronze', 'mcl_tools:shovel_gold') +minetest.register_alias('default:shovel_steel', 'mcl_tools:shovel_iron') +minetest.register_alias('default:axe_stone', 'mcl_tools:axe_stone') +minetest.register_alias('default:axe_bronze', 'mcl_tools:axe_gold') +minetest.register_alias('default:axe_steel', 'mcl_tools:axe_iron') +minetest.register_alias('default:sword_stone', 'mcl_tools:sword_stone') +minetest.register_alias('default:sword_bronze', 'mcl_tools:sword_gold') +minetest.register_alias('default:sword_steel', 'mcl_tools:sword_iron') +-- Items / Nodes +minetest.register_alias('default:bookshelf', 'mcl_books:bookshelf') +minetest.register_alias('default:sign_wall_wood', 'mcl_signs:wall_sign') +minetest.register_alias('default:ladder_wood', 'mcl_core:ladder') +minetest.register_alias('default:ladder_steel', 'mcl_core:ladder') +minetest.register_alias('default:glass', 'mcl_core:glass') +minetest.register_alias('default:obsidian_glass', 'mcl_core:glass') +-- Trees +minetest.register_alias('default:tree', 'mcl_core:tree') +minetest.register_alias('default:jungletree', 'mcl_core:jungletree') +minetest.register_alias('default:pine_tree', 'mcl_core:sprucetree') +minetest.register_alias('default:cactus', 'mcl_core:cactus') +minetest.register_alias('default:large_cactus_seedling', 'mcl_core:cactus') +minetest.register_alias('default:papyrus', 'mcl_core:reeds') +minetest.register_alias('default:junglegrass', 'mcl_flowers:double_grass') +minetest.register_alias('default:blueberry_bush_sapling', 'mcl_flowers:rose_bush') +minetest.register_alias('default:sapling', 'mcl_core:sapling') +minetest.register_alias('default:junglesapling', 'mcl_core:junglesapling') +minetest.register_alias('default:pine_sapling', 'mcl_core:sprucesapling') +minetest.register_alias('default:acacia_sapling', 'mcl_core:acaciasapling') +minetest.register_alias('default:aspen_sapling', 'mcl_core:birchsapling') + +minetest.register_alias('default:clay_lump', 'mcl_core:clay_lump') +minetest.register_alias('default:tin_lump', 'mcl_raw_ores:raw_gold') +minetest.register_alias('default:copper_lump', 'mcl_copper:raw_copper') +minetest.register_alias('default:iron_lump', 'mcl_raw_ores:raw_iron') +minetest.register_alias('default:coalblock', 'mcl_core:coalblock') +minetest.register_alias('default:steelblock', 'mcl_core:ironblock') +minetest.register_alias('default:copperblock', 'mcl_copper:block') +minetest.register_alias('default:tinblock', 'mcl_core:goldblock') +minetest.register_alias('default:bronzeblock', 'mcl_copper:block') +minetest.register_alias('default:mese', 'mesecons_torch:redstoneblock') +minetest.register_alias('default:meselamp', 'mesecons_lightstone:lightstone_off') +minetest.register_alias('default:obsidian', 'mcl_core:obsidian') +minetest.register_alias('default:mese_crystal', 'mcl_ocean:prismarine_crystals') +minetest.register_alias('default:diamond', 'mcl_core:diamond') +minetest.register_alias('default:pick_mese', 'mcl_tools:pick_diamond') +minetest.register_alias('default:shovel_mese', 'mcl_tools:shovel_diamond') +minetest.register_alias('default:axe_mese', 'mcl_tools:axe_diamond') +minetest.register_alias('default:sword_mese', 'mcl_tools:sword_diamond') + +minetest.register_alias('default:snowblock', 'mcl_core:snowblock') +minetest.register_alias('default:ice', 'mcl_core:ice') +minetest.register_alias('default:torch', 'mcl_torches:torch') +minetest.register_alias('default:cobble', 'mcl_core:cobble') +minetest.register_alias('default:chest', 'mcl_chests:chest') +minetest.register_alias('default:snow', 'mcl_core:snow') +minetest.register_alias('default:stone', 'mcl_core:stone') +minetest.register_alias('default:sand', 'mcl_core:sand') +minetest.register_alias('default:gravel', 'mcl_core:gravel') +minetest.register_alias('default:stone_with_coal', 'mcl_core:stone_with_coal') +minetest.register_alias('default:stone_with_iron', 'mcl_core:stone_with_iron') +minetest.register_alias('default:stone_with_tin', 'mcl_core:stone_with_copper') +minetest.register_alias('default:stone_with_gold', 'mcl_core:stone_with_gold') +minetest.register_alias('default:stone_with_mese', 'mcl_core:stone_with_redstone') +minetest.register_alias('default:stone_with_diamond', 'mcl_core:stone_with_diamond') +minetest.register_alias('default:lava_source', 'mcl_core:lava_source') +minetest.register_alias('default:mossycobble', 'mcl_core:mossycobble') +minetest.register_alias('default:clay', 'mcl_colorblocks:hardened_clay') +minetest.register_alias('default:grass_1', 'mcl_flowers:tallgrass') +minetest.register_alias('default:grass_2', 'mcl_flowers:tallgrass') +minetest.register_alias('default:grass_3', 'mcl_flowers:tallgrass') +minetest.register_alias('default:grass_4', 'mcl_flowers:tallgrass') +minetest.register_alias('default:grass_5', 'mcl_flowers:tallgrass') +minetest.register_alias('default:dry_dirt_with_dry_grass', 'mcl_core:dirt_with_grass') +minetest.register_alias('default:dry_dirt', 'mcl_core:coarse_dirt') +minetest.register_alias('default:coral_skeleton', 'mcl_core:bone_block') +minetest.register_alias('default:lava_flowing', 'mcl_core:lava_flowing') +minetest.register_alias('everness:cursed_brick_with_growth_wall', 'everness:cursedbrickwithgrowthwall') +minetest.register_alias('stairs:slab_cursed_brick_with_growth', 'mcl_stairs:slab_cursed_brick_with_growth') +minetest.register_alias('default:fence_wood', 'mcl_fences:fence') +minetest.register_alias('default:torch_wall', 'mcl_torches:torch_wall') +minetest.register_alias('default:wood', 'mcl_core:wood') +minetest.register_alias('default:junglewood', 'mcl_core:junglewood') +minetest.register_alias('default:pine_wood', 'mcl_core:sprucewood') +minetest.register_alias('default:mese_post_light_pine_wood', 'mcl_torches:torch') +minetest.register_alias_force('default:acacia_tree', 'mcl_core:acaciatree') +minetest.register_alias('default:dry_grass_4', 'mcl_core:deadbush') +minetest.register_alias('default:dry_grass_2', 'mcl_core:deadbush') +minetest.register_alias('default:dry_shrub', 'mcl_core:deadbush') +minetest.register_alias('default:stonebrick', 'mcl_core:stonebrick') +minetest.register_alias('default:jungleleaves', 'mcl_core:jungleleaves') +minetest.register_alias('default:torch_ceiling', 'mcl_torches:torch_wall') +minetest.register_alias('default:goldblock', 'mcl_core:goldblock') +minetest.register_alias('stairs:stair_coral_white_sandstone', 'mcl_stairs:stair_coral_white_sandstone') +minetest.register_alias('stairs:slab_coral_white_sandstone', 'mcl_stairs:slab_coral_white_sandstone') +minetest.register_alias('stairs:stair_coral_deep_ocean_sandstone_block', 'mcl_stairs:stair_coral_deep_ocean_sandstone_block') +minetest.register_alias('stairs:slab_coral_deep_ocean_sandstone_block', 'mcl_stairs:slab_coral_deep_ocean_sandstone_block') +minetest.register_alias('stairs:slab_coral_deep_ocean_sandstone_brick', 'mcl_stairs:slab_coral_deep_ocean_sandstone_brick') +minetest.register_alias('stairs:slab_coral_sandstone_brick', 'mcl_stairs:slab_coral_sandstone_brick') +minetest.register_alias('stairs:stair_coral_deep_ocean_sandstone_brick', 'mcl_stairs:stair_coral_deep_ocean_sandstone_brick') +minetest.register_alias('stairs:stair_crystal_forest_deep_ocean_sandstone_block', 'mcl_stairs:stair_crystal_forest_deep_ocean_sandstone_block') +minetest.register_alias('stairs:stair_crystal_forest_deep_ocean_sandstone_brick', 'mcl_stairs:stair_crystal_forest_deep_ocean_sandstone_brick') +minetest.register_alias('stairs:slab_crystal_forest_deep_ocean_sandstone_block', 'mcl_stairs:slab_crystal_forest_deep_ocean_sandstone_block') +minetest.register_alias('stairs:slab_crystal_forest_deep_ocean_sandstone_brick', 'mcl_stairs:slab_crystal_forest_deep_ocean_sandstone_brick') +minetest.register_alias('stairs:stair_forsaken_desert_brick_red', 'mcl_stairs:stair_forsaken_desert_brick_red') +minetest.register_alias('stairs:stair_forsaken_desert_chiseled_stone', 'mcl_stairs:stair_forsaken_desert_chiseled_stone') +minetest.register_alias('stairs:slab_forsaken_desert_chiseled_stone', 'mcl_stairs:slab_forsaken_desert_chiseled_stone') +minetest.register_alias('stairs:stair_junglewood', 'mcl_stairs:stair_junglewood') +minetest.register_alias('stairs:slab_junglewood', 'mcl_stairs:slab_junglewood') +minetest.register_alias('stairs:slab_dry_wood', 'mcl_stairs:slab_dry_wood') +minetest.register_alias('stairs:stair_dry_wood', 'mcl_stairs:stair_dry_wood') +minetest.register_alias('stairs:stair_wood', 'mcl_stairs:stair_wood') +minetest.register_alias('stairs:slab_stonebrick', 'mcl_stairs:slab_stonebrick') +minetest.register_alias('stairs:stair_inner_wood', 'mcl_stairs:stair_wood_inner') +minetest.register_alias('stairs:stair_outer_stonebrick', 'mcl_stairs:stair_stonebrick_outer') +minetest.register_alias('stairs:stair_stonebrick', 'mcl_stairs:stair_stonebrick') +minetest.register_alias('stairs:stair_cobble', 'mcl_stairs:stair_cobble') +minetest.register_alias('stairs:stair_mossycobble', 'mcl_stairs:stair_mossycobble') +minetest.register_alias('stairs:stair_outer_quartz_chiseled', 'mcl_stairs:stair_quartz_chiseled_outer') +minetest.register_alias('stairs:stair_quartz_chiseled', 'mcl_stairs:stair_quartz_chiseled') +minetest.register_alias('stairs:stair_inner_quartz_chiseled', 'mcl_stairs:stair_quartz_chiseled_inner') +minetest.register_alias('stairs:slab_quartz_chiseled', 'mcl_stairs:slab_quartz_chiseled') + +minetest.register_alias('everness:cursed_brick_wall', 'everness:cursedbrickwall') +minetest.register_alias('walls:cobble', 'mcl_walls:cobble') +minetest.register_alias('xpanes:trapdoor_steel_bar', 'mcl_doors:iron_trapdoor') +minetest.register_alias('doors:trapdoor_open', 'mcl_doors:trapdoor_open') +minetest.register_alias('doors:trapdoor', 'mcl_doors:trapdoor') +minetest.register_alias('doors:door_wood_a', 'mcl_doors:wooden_door') +minetest.register_alias('doors:hidden', 'air') +minetest.register_alias('everness:cobweb', 'mcl_core:cobweb') + + +minetest.register_alias('flowers:rose', 'mcl_flowers:wither_rose') +minetest.register_alias('flowers:tulip', 'mcl_flowers:tulip_orange') +minetest.register_alias('flowers:dandelion_yellow', 'mcl_flowers:dandelion') +minetest.register_alias('flowers:geranium', 'mcl_flowers:allium') +minetest.register_alias('flowers:viola', 'mcl_flowers:azure_bluet') +minetest.register_alias('flowers:tulip_black', 'mcl_flowers:tulip_white') + +minetest.register_alias('flowers:dandelion_white', 'mcl_flowers:tulip_pink') +minetest.register_alias('flowers:chrysanthemum_green', 'mcl_flowers:tulip_white') diff --git a/nodes.lua b/nodes.lua index 72ee6e6..8a25923 100644 --- a/nodes.lua +++ b/nodes.lua @@ -1101,9 +1101,25 @@ Everness:register_node('everness:coral_sand', { -- MTG crumbly = 3, everness_sand = 1, + -- MCL + handy = 1, + shovely = 1, + soil_sugarcane = 1, + enderman_takable = 1, + building_block = 1, + material_sand = 1, + -- ALL falling_node = 1, + -- Generated + -- handy_dig = 7, + -- shovely_dig = 2, + -- opaque = 1, + -- solid = 1, }, - sounds = Everness.node_sound_sand_defaults() + sounds = Everness.node_sound_sand_defaults(), + -- MCL + _mcl_blast_resistance = 0.5, + _mcl_hardness = 0.5, }) Everness:register_node('everness:coral_white_sand', { diff --git a/tools.lua b/tools.lua index 43ff133..148a8ec 100644 --- a/tools.lua +++ b/tools.lua @@ -32,6 +32,13 @@ minetest.register_tool('everness:vine_shears', { wool = { times = { [3] = 0.2 }, uses = 30, maxlevel = 3 } } }, + -- MCL + _mcl_toollike_wield = true, + _mcl_diggroups = { + shearsy = { speed = 1.5, level = 1, uses = 238 }, + shearsy_wool = { speed = 5, level = 1, uses = 238 }, + shearsy_cobweb = { speed = 15, level = 1, uses = 238 } + }, }) minetest.register_tool('everness:pick_illuminating', { @@ -124,6 +131,11 @@ minetest.register_tool('everness:pick_illuminating', { return itemstack end, + -- MCL + _mcl_toollike_wield = true, + _mcl_diggroups = { + pickaxey = { speed = 8, level = 5, uses = 1562 } + }, }) minetest.register_tool('everness:shovel_silk', { @@ -144,6 +156,11 @@ minetest.register_tool('everness:shovel_silk', { }, -- no `shovel` group so it cannot be enchanted -- groups = { shovel = 1 } + -- MCL + _mcl_toollike_wield = true, + _mcl_diggroups = { + shovely = { speed = 8, level = 5, uses = 1562 } + }, }) local old_handle_node_drops = minetest.handle_node_drops @@ -192,4 +209,6 @@ minetest.register_tool('everness:shell_of_underwater_breathing', { on_secondary_use = function(itemstack, user, pointed_thing) return Everness:use_shell_of_underwater_breathing(itemstack, user, pointed_thing) end, + -- MCL + _mcl_toollike_wield = true, })