Add MCL support - initial commit

This commit is contained in:
Juraj Vajda 2023-03-29 15:35:48 -04:00
parent 33d8ffdef9
commit bd2438540a
12 changed files with 1211 additions and 79 deletions

View File

@ -82,4 +82,9 @@ read_globals = {
"x_obsidianmese",
"x_farming",
"x_clay",
"mcl_fences",
"mcl_walls",
"mcl_stairs",
"mcl_core",
"mcl_util",
}

View File

@ -111,7 +111,12 @@
"XTumbleweed",
"x_obsidianmese",
"x_farming",
"x_clay"
"x_clay",
"mcl_fences",
"mcl_walls",
"mcl_stairs",
"mcl_core",
"mcl_util"
]
}
}

171
api.lua
View File

@ -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
--

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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

841
mod_support_mcl.lua Normal file
View File

@ -0,0 +1,841 @@
--[[
Everness. Never ending discovery in Everness mapgen.
Copyright (C) 2023 SaKeL <juraj.vajda@gmail.com>
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
)

184
mod_support_mcl_aliases.lua Normal file
View File

@ -0,0 +1,184 @@
--[[
Everness. Never ending discovery in Everness mapgen.
Copyright (C) 2023 SaKeL <juraj.vajda@gmail.com>
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')

View File

@ -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', {

View File

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