added support for MineClone2
parent
07a88d7bf6
commit
f4b80d11f1
|
@ -23,3 +23,10 @@ docfarming?
|
|||
mccompat?
|
||||
beds?
|
||||
unified_inventory?
|
||||
mcl_core?
|
||||
mcl_fences?
|
||||
mcl_doors?
|
||||
mcl_books?
|
||||
mcl_chests?
|
||||
mcl_torches?
|
||||
mcl_signs?
|
||||
|
|
7
init.lua
7
init.lua
|
@ -22,6 +22,12 @@ if( minetest.registered_nodes["oven:oven"]
|
|||
handle_schematics.is_realtest = true;
|
||||
end
|
||||
|
||||
-- MineClone2 renames all nodes
|
||||
handle_schematics.is_mineclone2 = nil;
|
||||
if( minetest.get_modpath("mcl_core")) then
|
||||
handle_schematics.is_mineclone2 = true;
|
||||
end
|
||||
|
||||
-- globally change nodes from the schematics into others; useful if you
|
||||
-- i.e. do not have default installed
|
||||
dofile(handle_schematics.modpath.."/replacements_global.lua")
|
||||
|
@ -59,6 +65,7 @@ replacements_group.node_is_ground = {}
|
|||
dofile(handle_schematics.modpath.."/replacements_discontinued_nodes.lua")
|
||||
dofile(handle_schematics.modpath.."/replacements_wood.lua")
|
||||
dofile(handle_schematics.modpath.."/replacements_realtest.lua")
|
||||
dofile(handle_schematics.modpath.."/replacements_mineclone2.lua")
|
||||
dofile(handle_schematics.modpath.."/replacements_farming.lua")
|
||||
dofile(handle_schematics.modpath.."/replacements_roof.lua")
|
||||
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
replacements_group['mineclone2'] = {}
|
||||
|
||||
-- parameter: replacements, name_in_default, name_in_mineclone2, to_mineclone2=true/false
|
||||
replacements_group['mineclone2'].replace_one = function( def, mcl2)
|
||||
if( handle_schematics.is_mineclone2 ) then
|
||||
handle_schematics.global_replacement_table[ def ] = mcl2;
|
||||
else
|
||||
handle_schematics.global_replacement_table[ mcl2 ] = def;
|
||||
end
|
||||
end
|
||||
|
||||
replacements_group['mineclone2'].setup_global_replacements = function()
|
||||
local simple_translation = {"stone","stone_with_coal","stone_with_iron","stone_with_gold",
|
||||
"stone_with_diamond", "stonebrick",
|
||||
"dirt_with_grass","dirt_with_dry_grass","dirt","gravel","sand","sandstone",
|
||||
"clay","cobble","mossycobble","coalblock","ironblock","goldblock","diamondblock",
|
||||
"obsidian","ice","cactus","ladder","glass",
|
||||
"water_flowing","water_source","lava_flowing","lava_source",
|
||||
|
||||
};
|
||||
for i,k in ipairs( simple_translation ) do
|
||||
replacements_group['mineclone2'].replace_one( 'default:'..k, 'mcl_core:'..k);
|
||||
end
|
||||
replacements_group['mineclone2'].replace_one( 'default:torch', 'mcl_torches:torch');
|
||||
replacements_group['mineclone2'].replace_one( 'default:torch_wall', 'mcl_torches:torch_wall');
|
||||
replacements_group['mineclone2'].replace_one( 'default:furnace', 'mcl_furnaces:furnace');
|
||||
replacements_group['mineclone2'].replace_one( 'default:ladder_wood', 'mcl_core:ladder');
|
||||
replacements_group['mineclone2'].replace_one( 'default:sign_wall_wood', 'mcl_signs:wall_sign');
|
||||
replacements_group['mineclone2'].replace_one( 'default:bookshelf', 'mcl_books:bookshelf');
|
||||
replacements_group['mineclone2'].replace_one( 'default:chest', 'mcl_chests:chest');
|
||||
-- MineClone2 has no locked chests
|
||||
replacements_group['mineclone2'].replace_one( 'default:chest_locked', 'mcl_chests:chest');
|
||||
end
|
||||
|
||||
-- needs to be called once after handle_schematics.is_mineclone2 is set
|
||||
replacements_group['mineclone2'].setup_global_replacements();
|
|
@ -105,6 +105,10 @@ replacements_group['wood'].add_material = function( candidate_list, mod_prefix,
|
|||
data[23] = 'doors:trapdoor';
|
||||
data[24] = 'stairs:stair_inner_'..w;
|
||||
data[25] = 'stairs:stair_outer_'..w;
|
||||
data[26] = 'doors:door_wood_a';
|
||||
data[27] = 'doors:door_wood_b';
|
||||
data[28] = 'doors:hidden';
|
||||
|
||||
-- realtest has some further replacements
|
||||
elseif( mod_prefix=='trees:' and w_post=='_planks' and t_post=='_log' ) then
|
||||
data[12] = 'trees:'..v..'_ladder';
|
||||
|
@ -121,6 +125,27 @@ replacements_group['wood'].add_material = function( candidate_list, mod_prefix,
|
|||
data[23] = 'hatches:'..v..'_hatch_opened_bottom';
|
||||
data[24] = 'stairs:stair_inner_'..v..'_wood';
|
||||
data[25] = 'stairs:stair_outer_'..v..'_wood';
|
||||
data[26] = data[15];
|
||||
data[27] = data[16];
|
||||
data[28] = 'doors:hidden';
|
||||
elseif( mod_prefix=='mcl_core:') then
|
||||
data[11] = 'mcl_fences:fence_gate_'..v;
|
||||
data[12] = 'mcl_core:ladder';
|
||||
data[13] = 'mcl_doors:'..v..'_door_t_1'; -- TODO: wooden_door
|
||||
data[14] = 'mcl_doors:'..v..'_door_t_2';
|
||||
data[15] = 'mcl_doors:'..v..'_door_b_1';
|
||||
data[16] = 'mcl_doors:'..v..'_door_b_2';
|
||||
data[17] = 'mcl_books:bookshelf';
|
||||
data[18] = 'mcl_chests:chest';
|
||||
data[19] = 'mcl_chests:chest';
|
||||
data[20] = 'stairs:stair_'..v..'upside_down';
|
||||
data[21] = 'stairs:slab_'..v..'upside_down';
|
||||
data[22] = 'doors:'..v..'_trapdoor_open';
|
||||
data[23] = 'doors:'..v..'_trapdoor';
|
||||
data[24] = 'stairs:stair_inner_'..v;
|
||||
data[26] = data[15];
|
||||
data[27] = data[16];
|
||||
data[28] = data[13]; -- no way to decide automaticly which door top fits
|
||||
end
|
||||
replacements_group['wood'].data[ wood_name ] = data;
|
||||
|
||||
|
@ -233,6 +258,31 @@ replacements_group['wood'].construct_wood_type_list = function()
|
|||
'stairs:stair_','_wood', 'stairs:slab_','_wood', 'NONE','', 'NONE','' );
|
||||
|
||||
|
||||
-- MineClone2
|
||||
local mineclone2_treelist = {"jungle","spruce","acacia","birch" };
|
||||
replacements_group['wood'].add_material( mineclone2_treelist,
|
||||
'mcl_core:', '', 'wood', '','tree', '','leaves','','sapling',
|
||||
'mcl_stairs:stair_','wood', 'mcl_stairs:slab_','wood',
|
||||
'mcl_fences:','_fence', 'mcl_fences:','_fence_gate' );
|
||||
-- normal wood needs special treatment
|
||||
replacements_group['wood'].add_material( {""},
|
||||
'mcl_core:', '', 'wood', '','tree', '','leaves','','sapling',
|
||||
'mcl_stairs:stair_','wood', 'mcl_stairs:slab_','wood',
|
||||
'mcl_fences:','fence', 'mcl_fences:','fence_gate' );
|
||||
-- the doors made out of wood do not follow the internal naming convention of MineClone2
|
||||
replacements_group['wood'].data[ 'mcl_core:wood' ][13] = 'mcl_doors:wooden_door_t_1';
|
||||
replacements_group['wood'].data[ 'mcl_core:wood' ][14] = 'mcl_doors:wooden_door_t_2';
|
||||
replacements_group['wood'].data[ 'mcl_core:wood' ][15] = 'mcl_doors:wooden_door_b_1';
|
||||
replacements_group['wood'].data[ 'mcl_core:wood' ][16] = 'mcl_doors:wooden_door_b_2';
|
||||
replacements_group['wood'].data[ 'mcl_core:wood' ][26] = 'mcl_doors:wooden_door_b_1';
|
||||
replacements_group['wood'].data[ 'mcl_core:wood' ][27] = 'mcl_doors:wooden_door_b_2';
|
||||
replacements_group['wood'].data[ 'mcl_core:wood' ][28] = 'mcl_doors:wooden_door_t_1';
|
||||
-- dark oak needs special treatment
|
||||
replacements_group['wood'].add_material( {"dark"},
|
||||
'mcl_core:', '', 'wood', '','tree', '','leaves','','sapling',
|
||||
'mcl_stairs:stair_','wood', 'mcl_stairs:slab_','wood',
|
||||
'mcl_fences:','_oak_fence', 'mcl_fences:','_oak_fence_gate' );
|
||||
|
||||
-- https://github.com/PilzAdam/farming_plus
|
||||
-- TODO: this does not come with its own wood... banana and cocoa trees (only leaves, sapling and fruit)
|
||||
-- TODO: farming_plus:TREETYP_sapling farming_plus:TREETYP_leaves farming_plus:TREETYP
|
||||
|
|
Loading…
Reference in New Issue