Organize mods into modpacks for better overview
67
mods/CORE/mcl_core/README.txt
Normal file
|
@ -0,0 +1,67 @@
|
|||
Minetest 0.4 mod: default (with lot's of custom ...)
|
||||
==========================
|
||||
|
||||
License of source code:
|
||||
-----------------------
|
||||
Copyright (C) 2011-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
|
||||
This program 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.
|
||||
|
||||
http://www.gnu.org/licenses/lgpl-2.1.html
|
||||
|
||||
License of media (sounds)
|
||||
--------------------------------------
|
||||
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
||||
|
||||
default_tool_break.ogg by EdgardEdition (CC BY 3.0), http://www.freesound.org/people/EdgardEdition
|
||||
|
||||
Authors of media files
|
||||
-----------------------
|
||||
MirceaKitsune (WTFPL):
|
||||
character.x
|
||||
|
||||
Glass breaking sounds (CC BY 3.0):
|
||||
1: http://www.freesound.org/people/cmusounddesign/sounds/71947/
|
||||
2: http://www.freesound.org/people/Tomlija/sounds/97669/
|
||||
3: http://www.freesound.org/people/lsprice/sounds/88808/
|
||||
|
||||
Mito551 (sounds) (CC BY-SA):
|
||||
default_dig_choppy.ogg
|
||||
default_dig_cracky.ogg
|
||||
default_dig_crumbly.1.ogg
|
||||
default_dig_crumbly.2.ogg
|
||||
default_dig_dig_immediate.ogg
|
||||
default_dig_oddly_breakable_by_hand.ogg
|
||||
default_dug_node.1.ogg
|
||||
default_dug_node.2.ogg
|
||||
default_grass_footstep.1.ogg
|
||||
default_grass_footstep.2.ogg
|
||||
default_grass_footstep.3.ogg
|
||||
default_gravel_footstep.1.ogg
|
||||
default_gravel_footstep.2.ogg
|
||||
default_gravel_footstep.3.ogg
|
||||
default_gravel_footstep.4.ogg
|
||||
default_grass_footstep.1.ogg
|
||||
default_place_node.1.ogg
|
||||
default_place_node.2.ogg
|
||||
default_place_node.3.ogg
|
||||
default_place_node_hard.1.ogg
|
||||
default_place_node_hard.2.ogg
|
||||
default_snow_footstep.1.ogg
|
||||
default_snow_footstep.2.ogg
|
||||
default_hard_footstep.1.ogg
|
||||
default_hard_footstep.2.ogg
|
||||
default_hard_footstep.3.ogg
|
||||
default_sand_footstep.1.ogg
|
||||
default_sand_footstep.2.ogg
|
||||
default_wood_footstep.1.ogg
|
||||
default_wood_footstep.2.ogg
|
||||
default_dirt_footstep.1.ogg
|
||||
default_dirt_footstep.2.ogg
|
||||
default_glass_footstep.ogg
|
||||
|
||||
|
931
mods/CORE/mcl_core/crafting.lua
Normal file
|
@ -0,0 +1,931 @@
|
|||
-- mods/default/crafting.lua
|
||||
|
||||
--
|
||||
-- Crafting definition
|
||||
--
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:wood 4',
|
||||
recipe = {
|
||||
{'mcl_core:tree'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:darkwood 4',
|
||||
recipe = {
|
||||
{'mcl_core:darktree'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:junglewood 4',
|
||||
recipe = {
|
||||
{'mcl_core:jungletree'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:acaciawood 4',
|
||||
recipe = {
|
||||
{'mcl_core:acaciatree'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sprucewood 4',
|
||||
recipe = {
|
||||
{'mcl_core:sprucetree'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:birchwood 4',
|
||||
recipe = {
|
||||
{'mcl_core:birchtree'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'shapeless',
|
||||
output = 'mcl_core:mossycobble',
|
||||
recipe = { 'mcl_core:cobble', 'mcl_core:vine' },
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'shapeless',
|
||||
output = 'mcl_core:stonebrickmossy',
|
||||
recipe = { 'mcl_core:stonebrick', 'mcl_core:vine' },
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:coarse_dirt 4',
|
||||
recipe = {
|
||||
{'mcl_core:dirt', 'mcl_core:gravel'},
|
||||
{'mcl_core:gravel', 'mcl_core:dirt'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:coarse_dirt 4',
|
||||
recipe = {
|
||||
{'mcl_core:gravel', 'mcl_core:dirt'},
|
||||
{'mcl_core:dirt', 'mcl_core:gravel'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sandstonesmooth 4',
|
||||
recipe = {
|
||||
{'mcl_core:sandstone','mcl_core:sandstone'},
|
||||
{'mcl_core:sandstone','mcl_core:sandstone'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:redsandstonesmooth 4',
|
||||
recipe = {
|
||||
{'mcl_core:redsandstone','mcl_core:redsandstone'},
|
||||
{'mcl_core:redsandstone','mcl_core:redsandstone'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:granite_smooth 4',
|
||||
recipe = {
|
||||
{'mcl_core:granite', 'mcl_core:granite'},
|
||||
{'mcl_core:granite', 'mcl_core:granite'}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:andesite_smooth 4',
|
||||
recipe = {
|
||||
{'mcl_core:andesite', 'mcl_core:andesite'},
|
||||
{'mcl_core:andesite', 'mcl_core:andesite'}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:diorite_smooth 4',
|
||||
recipe = {
|
||||
{'mcl_core:diorite', 'mcl_core:diorite'},
|
||||
{'mcl_core:diorite', 'mcl_core:diorite'}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'mcl_core:granite',
|
||||
recipe = {'mcl_core:diorite', 'mcl_nether:quartz'},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'mcl_core:andesite 2',
|
||||
recipe = {'mcl_core:diorite', 'mcl_core:cobble'},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:diorite 2',
|
||||
recipe = {
|
||||
{'mcl_core:cobble', 'mcl_nether:quartz'},
|
||||
{'mcl_nether:quartz', 'mcl_core:cobble'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:diorite 2',
|
||||
recipe = {
|
||||
{'mcl_nether:quartz', 'mcl_core:cobble'},
|
||||
{'mcl_core:cobble', 'mcl_nether:quartz'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:bone_block",
|
||||
recipe = {
|
||||
{ "mcl_dye:white", "mcl_dye:white", "mcl_dye:white" },
|
||||
{ "mcl_dye:white", "mcl_dye:white", "mcl_dye:white" },
|
||||
{ "mcl_dye:white", "mcl_dye:white", "mcl_dye:white" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_dye:white 9",
|
||||
recipe = {
|
||||
{ "mcl_core:bone_block" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:stick 4',
|
||||
recipe = {
|
||||
{'group:wood'},
|
||||
{'group:wood'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'signs:sign_wall 3',
|
||||
recipe = {
|
||||
{'group:wood', 'group:wood', 'group:wood'},
|
||||
{'group:wood', 'group:wood', 'group:wood'},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:pick_wood',
|
||||
recipe = {
|
||||
{'group:wood', 'group:wood', 'group:wood'},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:pick_stone',
|
||||
recipe = {
|
||||
{'mcl_core:cobble', 'mcl_core:cobble', 'mcl_core:cobble'},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:pick_iron',
|
||||
recipe = {
|
||||
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:pick_gold',
|
||||
recipe = {
|
||||
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:pick_diamond',
|
||||
recipe = {
|
||||
{'mcl_core:diamond', 'mcl_core:diamond', 'mcl_core:diamond'},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
{'', 'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:shovel_wood',
|
||||
recipe = {
|
||||
{'group:wood'},
|
||||
{'mcl_core:stick'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:shovel_stone',
|
||||
recipe = {
|
||||
{'mcl_core:cobble'},
|
||||
{'mcl_core:stick'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:shovel_iron',
|
||||
recipe = {
|
||||
{'mcl_core:iron_ingot'},
|
||||
{'mcl_core:stick'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:shovel_gold',
|
||||
recipe = {
|
||||
{'mcl_core:gold_ingot'},
|
||||
{'mcl_core:stick'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:shovel_diamond',
|
||||
recipe = {
|
||||
{'mcl_core:diamond'},
|
||||
{'mcl_core:stick'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_wood',
|
||||
recipe = {
|
||||
{'group:wood', 'group:wood'},
|
||||
{'group:wood', 'mcl_core:stick'},
|
||||
{'', 'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_wood',
|
||||
recipe = {
|
||||
{'group:wood', 'group:wood'},
|
||||
{'mcl_core:stick', 'group:wood'},
|
||||
{'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_stone',
|
||||
recipe = {
|
||||
{'mcl_core:cobble', 'mcl_core:cobble'},
|
||||
{'mcl_core:cobble', 'mcl_core:stick'},
|
||||
{'', 'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_stone',
|
||||
recipe = {
|
||||
{'mcl_core:cobble', 'mcl_core:cobble'},
|
||||
{'mcl_core:stick', 'mcl_core:cobble'},
|
||||
{'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_iron',
|
||||
recipe = {
|
||||
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
||||
{'mcl_core:iron_ingot', 'mcl_core:stick'},
|
||||
{'', 'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_iron',
|
||||
recipe = {
|
||||
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
||||
{'mcl_core:stick', 'mcl_core:iron_ingot'},
|
||||
{'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_gold',
|
||||
recipe = {
|
||||
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
||||
{'mcl_core:gold_ingot', 'mcl_core:stick'},
|
||||
{'', 'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_gold',
|
||||
recipe = {
|
||||
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
||||
{'mcl_core:stick', 'mcl_core:gold_ingot'},
|
||||
{'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_diamond',
|
||||
recipe = {
|
||||
{'mcl_core:diamond', 'mcl_core:diamond'},
|
||||
{'mcl_core:diamond', 'mcl_core:stick'},
|
||||
{'', 'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:axe_diamond',
|
||||
recipe = {
|
||||
{'mcl_core:diamond', 'mcl_core:diamond'},
|
||||
{'mcl_core:stick', 'mcl_core:diamond'},
|
||||
{'mcl_core:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sword_wood',
|
||||
recipe = {
|
||||
{'group:wood'},
|
||||
{'group:wood'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sword_stone',
|
||||
recipe = {
|
||||
{'mcl_core:cobble'},
|
||||
{'mcl_core:cobble'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sword_iron',
|
||||
recipe = {
|
||||
{'mcl_core:iron_ingot'},
|
||||
{'mcl_core:iron_ingot'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sword_gold',
|
||||
recipe = {
|
||||
{'mcl_core:gold_ingot'},
|
||||
{'mcl_core:gold_ingot'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sword_diamond',
|
||||
recipe = {
|
||||
{'mcl_core:diamond'},
|
||||
{'mcl_core:diamond'},
|
||||
{'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:shears',
|
||||
recipe = {
|
||||
{ 'mcl_core:iron_ingot', '' },
|
||||
{ '', 'mcl_core:iron_ingot', },
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:shears',
|
||||
recipe = {
|
||||
{ '', 'mcl_core:iron_ingot', },
|
||||
{ 'mcl_core:iron_ingot', '' },
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:rail 16',
|
||||
recipe = {
|
||||
{'mcl_core:iron_ingot', '', 'mcl_core:iron_ingot'},
|
||||
{'mcl_core:iron_ingot', 'mcl_core:stick', 'mcl_core:iron_ingot'},
|
||||
{'mcl_core:iron_ingot', '', 'mcl_core:iron_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:haybale',
|
||||
recipe = {
|
||||
{'mcl_farming:wheat_item', 'mcl_farming:wheat_item', 'mcl_farming:wheat_item'},
|
||||
{'mcl_farming:wheat_item', 'mcl_farming:wheat_item', 'mcl_farming:wheat_item'},
|
||||
{'mcl_farming:wheat_item', 'mcl_farming:wheat_item', 'mcl_farming:wheat_item'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_farming:wheat_item 9',
|
||||
recipe = {
|
||||
{'mcl_core:haybale'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sea_lantern',
|
||||
recipe = {
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_crystals', 'mcl_core:prismarine_shard'},
|
||||
{'mcl_core:prismarine_crystals', 'mcl_core:prismarine_crystals', 'mcl_core:prismarine_crystals'},
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_crystals', 'mcl_core:prismarine_shard'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:prismarine',
|
||||
recipe = {
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard'},
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:prismarine_brick',
|
||||
recipe = {
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard'},
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard'},
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:prismarine_dark',
|
||||
recipe = {
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard'},
|
||||
{'mcl_core:prismarine_shard', 'mcl_dye:black', 'mcl_core:prismarine_shard'},
|
||||
{'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard', 'mcl_core:prismarine_shard'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:coalblock',
|
||||
recipe = {
|
||||
{'mcl_core:coal_lump', 'mcl_core:coal_lump', 'mcl_core:coal_lump'},
|
||||
{'mcl_core:coal_lump', 'mcl_core:coal_lump', 'mcl_core:coal_lump'},
|
||||
{'mcl_core:coal_lump', 'mcl_core:coal_lump', 'mcl_core:coal_lump'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:coal_lump 9',
|
||||
recipe = {
|
||||
{'mcl_core:coalblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:ironblock',
|
||||
recipe = {
|
||||
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
||||
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
||||
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:iron_ingot 9',
|
||||
recipe = {
|
||||
{'mcl_core:ironblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:goldblock',
|
||||
recipe = {
|
||||
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
||||
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
||||
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:gold_ingot 9',
|
||||
recipe = {
|
||||
{'mcl_core:goldblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:gold_nugget 9",
|
||||
recipe = {{"mcl_core:gold_ingot"}},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:iron_nugget 9",
|
||||
recipe = {{"mcl_core:iron_ingot"}},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:gold_ingot",
|
||||
recipe = {
|
||||
{"mcl_core:gold_nugget", "mcl_core:gold_nugget", "mcl_core:gold_nugget"},
|
||||
{"mcl_core:gold_nugget", "mcl_core:gold_nugget", "mcl_core:gold_nugget"},
|
||||
{"mcl_core:gold_nugget", "mcl_core:gold_nugget", "mcl_core:gold_nugget"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:iron_ingot",
|
||||
recipe = {
|
||||
{"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"},
|
||||
{"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"},
|
||||
{"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:sandstone',
|
||||
recipe = {
|
||||
{'mcl_core:sand', 'mcl_core:sand'},
|
||||
{'mcl_core:sand', 'mcl_core:sand'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:redsandstone',
|
||||
recipe = {
|
||||
{'mcl_core:redsand', 'mcl_core:redsand'},
|
||||
{'mcl_core:redsand', 'mcl_core:redsand'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:clay',
|
||||
recipe = {
|
||||
{'mcl_core:clay_lump', 'mcl_core:clay_lump'},
|
||||
{'mcl_core:clay_lump', 'mcl_core:clay_lump'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:brick_block',
|
||||
recipe = {
|
||||
{'mcl_core:brick', 'mcl_core:brick'},
|
||||
{'mcl_core:brick', 'mcl_core:brick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:paper 3',
|
||||
recipe = {
|
||||
{'mcl_core:reeds', 'mcl_core:reeds', 'mcl_core:reeds'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:ladder 3',
|
||||
recipe = {
|
||||
{'mcl_core:stick', '', 'mcl_core:stick'},
|
||||
{'mcl_core:stick', 'mcl_core:stick', 'mcl_core:stick'},
|
||||
{'mcl_core:stick', '', 'mcl_core:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:stonebrick 4',
|
||||
recipe = {
|
||||
{'mcl_core:stone', 'mcl_core:stone'},
|
||||
{'mcl_core:stone', 'mcl_core:stone'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:lapisblock',
|
||||
recipe = {
|
||||
{'mcl_dye:blue', 'mcl_dye:blue', 'mcl_dye:blue'},
|
||||
{'mcl_dye:blue', 'mcl_dye:blue', 'mcl_dye:blue'},
|
||||
{'mcl_dye:blue', 'mcl_dye:blue', 'mcl_dye:blue'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_dye:blue 9',
|
||||
recipe = {
|
||||
{'mcl_core:lapisblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:emeraldblock",
|
||||
recipe = {
|
||||
{'mcl_core:emerald', 'mcl_core:emerald', 'mcl_core:emerald'},
|
||||
{'mcl_core:emerald', 'mcl_core:emerald', 'mcl_core:emerald'},
|
||||
{'mcl_core:emerald', 'mcl_core:emerald', 'mcl_core:emerald'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:emerald 9',
|
||||
recipe = {
|
||||
{'mcl_core:emeraldblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:diamondblock",
|
||||
recipe = {
|
||||
{'mcl_core:diamond', 'mcl_core:diamond', 'mcl_core:diamond'},
|
||||
{'mcl_core:diamond', 'mcl_core:diamond', 'mcl_core:diamond'},
|
||||
{'mcl_core:diamond', 'mcl_core:diamond', 'mcl_core:diamond'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:diamond 9',
|
||||
recipe = {
|
||||
{'mcl_core:diamondblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:apple_gold",
|
||||
recipe = {
|
||||
{"mcl_core:gold_ingot", "mcl_core:gold_ingot", "mcl_core:gold_ingot"},
|
||||
{"mcl_core:gold_ingot", 'mcl_core:apple', "mcl_core:gold_ingot"},
|
||||
{"mcl_core:gold_ingot", "mcl_core:gold_ingot", "mcl_core:gold_ingot"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:sugar",
|
||||
recipe = {
|
||||
{"mcl_core:reeds"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_core:bowl 4",
|
||||
recipe = {
|
||||
{"group:wood", "", "group:wood"},
|
||||
{"", "group:wood", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:snowblock',
|
||||
recipe = {
|
||||
{'mcl_throwing:snowball', 'mcl_throwing:snowball'},
|
||||
{'mcl_throwing:snowball', 'mcl_throwing:snowball'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:snow 6',
|
||||
recipe = {
|
||||
{'mcl_core:snowblock', 'mcl_core:snowblock', 'mcl_core:snowblock'},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
--
|
||||
-- Crafting (tool repair)
|
||||
--
|
||||
minetest.register_craft({
|
||||
type = "toolrepair",
|
||||
additional_wear = -mcl_core.repair,
|
||||
})
|
||||
|
||||
--
|
||||
-- Cooking recipes
|
||||
--
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:glass",
|
||||
recipe = "group:sand",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:stone",
|
||||
recipe = "mcl_core:cobble",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:stonebrickcracked",
|
||||
recipe = "mcl_core:stonebrick",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:iron_ingot",
|
||||
recipe = "mcl_core:stone_with_iron",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:gold_ingot",
|
||||
recipe = "mcl_core:stone_with_gold",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:brick",
|
||||
recipe = "mcl_core:clay_lump",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:charcoal_lump",
|
||||
recipe = "group:tree",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:sponge",
|
||||
recipe = "mcl_core:sponge_wet",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:coal_lump",
|
||||
recipe = "mcl_core:stone_with_coal",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:diamond",
|
||||
recipe = "mcl_core:stone_with_diamond",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:emerald",
|
||||
recipe = "mcl_core:stone_with_emerald",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_dye:blue",
|
||||
recipe = "mcl_core:stone_with_lapis",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:gold_nugget",
|
||||
recipe = "mcl_core:sword_gold",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:gold_nugget",
|
||||
recipe = "mcl_core:axe_gold",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:gold_nugget",
|
||||
recipe = "mcl_core:shovel_gold",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:gold_nugget",
|
||||
recipe = "mcl_core:pick_gold",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:iron_nugget",
|
||||
recipe = "mcl_core:sword_iron",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:iron_nugget",
|
||||
recipe = "mcl_core:axe_iron",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:iron_nugget",
|
||||
recipe = "mcl_core:shovel_iron",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:iron_nugget",
|
||||
recipe = "mcl_core:pick_iron",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Fuels
|
||||
--
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:coalblock",
|
||||
burntime = 800,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:coal_lump",
|
||||
burntime = 80,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:charcoal_lump",
|
||||
burntime = 80,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "group:tree",
|
||||
burntime = 15,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:ladder",
|
||||
burntime = 15,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "group:wood",
|
||||
burntime = 15,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "group:sapling",
|
||||
burntime = 5,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:pick_wood",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:shovel_wood",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:sword_wood",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:axe_wood",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "group:sapling",
|
||||
burntime = 5,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:bowl",
|
||||
burntime = 5,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mcl_core:stick",
|
||||
burntime = 5,
|
||||
})
|
152
mods/CORE/mcl_core/craftitems.lua
Normal file
|
@ -0,0 +1,152 @@
|
|||
-- mods/default/craftitems.lua
|
||||
|
||||
--
|
||||
-- Crafting items
|
||||
--
|
||||
|
||||
minetest.register_craftitem("mcl_core:stick", {
|
||||
description = "Stick",
|
||||
inventory_image = "default_stick.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1, stick=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:paper", {
|
||||
description = "Paper",
|
||||
inventory_image = "default_paper.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:coal_lump", {
|
||||
description = "Coal",
|
||||
groups = { coal=1 },
|
||||
inventory_image = "default_coal_lump.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1, coal=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:charcoal_lump", {
|
||||
description = "Charcoal",
|
||||
groups = { coal=1 },
|
||||
inventory_image = "default_charcoal_lump.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1, coal=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:iron_nugget", {
|
||||
description = "Iron Nugget",
|
||||
inventory_image = "default_iron_nugget.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:gold_nugget", {
|
||||
description = "Gold Nugget",
|
||||
inventory_image = "default_gold_nugget.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:diamond", {
|
||||
description = "Diamond",
|
||||
inventory_image = "default_diamond.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:clay_lump", {
|
||||
description = "Clay",
|
||||
inventory_image = "default_clay_lump.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:iron_ingot", {
|
||||
description = "Iron Ingot",
|
||||
inventory_image = "default_steel_ingot.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:gold_ingot", {
|
||||
description = "Gold Ingot",
|
||||
inventory_image = "default_gold_ingot.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:emerald", {
|
||||
description = "Emerald",
|
||||
inventory_image = "default_emerald.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:brick", {
|
||||
description = "Brick",
|
||||
inventory_image = "default_clay_brick.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:flint", {
|
||||
description = "Flint",
|
||||
inventory_image = "default_flint.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:gunpowder", {
|
||||
description = "Gunpowder",
|
||||
inventory_image = "default_gunpowder.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem=1 },
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craftitem("mcl_core:sugar", {
|
||||
description = "Sugar",
|
||||
inventory_image = "default_sugar.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem = 1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:bowl",{
|
||||
description = "Bowl",
|
||||
inventory_image = "default_bowl.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem = 1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:prismarine_crystals", {
|
||||
description = "Prismarine Crystals",
|
||||
inventory_image = "default_prismarine_crystals.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem = 1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:prismarine_shard", {
|
||||
description = "Prismarine Shard",
|
||||
inventory_image = "default_prismarine_shard.png",
|
||||
stack_max = 64,
|
||||
groups = { craftitem = 1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:apple", {
|
||||
description = "Apple",
|
||||
wield_image = "default_apple.png",
|
||||
inventory_image = "default_apple.png",
|
||||
stack_max = 64,
|
||||
on_use = minetest.item_eat(4),
|
||||
groups = { food = 2 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_core:apple_gold", {
|
||||
description = core.colorize("#55FFFF", "Golden Apple"),
|
||||
wield_image = "default_apple_gold.png",
|
||||
inventory_image = "default_apple_gold.png",
|
||||
stack_max = 64,
|
||||
on_use = minetest.item_eat(8),
|
||||
groups = { food = 2 },
|
||||
})
|
2
mods/CORE/mcl_core/depends.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
mcl_sounds
|
||||
mcl_util
|
623
mods/CORE/mcl_core/functions.lua
Normal file
|
@ -0,0 +1,623 @@
|
|||
--
|
||||
-- Lavacooling
|
||||
--
|
||||
|
||||
mcl_core.cool_lava_source = function(pos)
|
||||
minetest.set_node(pos, {name="mcl_core:obsidian"})
|
||||
end
|
||||
|
||||
mcl_core.cool_lava_flowing = function(pos)
|
||||
minetest.set_node(pos, {name="mcl_core:stone"})
|
||||
end
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"mcl_core:lava_flowing"},
|
||||
neighbors = {"group:water"},
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
mcl_core.cool_lava_flowing(pos, node, active_object_count, active_object_count_wider)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"mcl_core:lava_source"},
|
||||
neighbors = {"group:water"},
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
mcl_core.cool_lava_source(pos, node, active_object_count, active_object_count_wider)
|
||||
end,
|
||||
})
|
||||
|
||||
--
|
||||
-- Papyrus and cactus growing
|
||||
--
|
||||
|
||||
-- Functions
|
||||
mcl_core.grow_cactus = function(pos, node)
|
||||
pos.y = pos.y-1
|
||||
local name = minetest.get_node(pos).name
|
||||
if minetest.get_item_group(name, "sand") ~= 0 then
|
||||
pos.y = pos.y+1
|
||||
local height = 0
|
||||
while minetest.get_node(pos).name == "mcl_core:cactus" and height < 4 do
|
||||
height = height+1
|
||||
pos.y = pos.y+1
|
||||
end
|
||||
if height < 3 then
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name="mcl_core:cactus"})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
mcl_core.grow_reeds = function(pos, node)
|
||||
pos.y = pos.y-1
|
||||
local name = minetest.get_node(pos).name
|
||||
if minetest.get_node_group(name, "soil_sugarcane") ~= 0 then
|
||||
if minetest.find_node_near(pos, 3, {"group:water"}) == nil then
|
||||
return
|
||||
end
|
||||
pos.y = pos.y+1
|
||||
local height = 0
|
||||
while minetest.get_node(pos).name == "mcl_core:reeds" and height < 3 do
|
||||
height = height+1
|
||||
pos.y = pos.y+1
|
||||
end
|
||||
if height < 3 then
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name="mcl_core:reeds"})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- ABMs
|
||||
|
||||
|
||||
local function drop_attached_node(p)
|
||||
local nn = minetest.get_node(p).name
|
||||
minetest.remove_node(p)
|
||||
for _, item in pairs(minetest.get_node_drops(nn, "")) do
|
||||
local pos = {
|
||||
x = p.x + math.random()/2 - 0.25,
|
||||
y = p.y + math.random()/2 - 0.25,
|
||||
z = p.z + math.random()/2 - 0.25,
|
||||
}
|
||||
minetest.add_item(pos, item)
|
||||
end
|
||||
end
|
||||
|
||||
-- Remove attached nodes next to flowing water
|
||||
minetest.register_abm({
|
||||
nodenames = {"group:dig_by_water"},
|
||||
neighbors = {"group:water"},
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
for xp=-1,1 do
|
||||
for zp=-1,1 do
|
||||
local p = {x=pos.x+xp, y=pos.y, z=pos.z+zp}
|
||||
local n = minetest.get_node(p)
|
||||
if (n.name=="mcl_core:water_flowing") then
|
||||
drop_attached_node(pos)
|
||||
minetest.dig_node(pos)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
for yp=-1,1 do
|
||||
local p = {x=pos.x, y=pos.y+yp, z=pos.z}
|
||||
local n = minetest.get_node(p)
|
||||
if (n.name=="mcl_core:water_flowing") then
|
||||
drop_attached_node(pos)
|
||||
minetest.dig_node(pos)
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"mcl_core:cactus"},
|
||||
neighbors = {"group:sand"},
|
||||
interval = 25,
|
||||
chance = 10,
|
||||
action = function(pos)
|
||||
mcl_core.grow_cactus(pos)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"mcl_core:reeds"},
|
||||
neighbors = {"mcl_core:dirt", "mcl_core:dirt_with_grass"},
|
||||
interval = 25,
|
||||
chance = 10,
|
||||
action = function(pos)
|
||||
mcl_core.grow_reeds(pos)
|
||||
end,
|
||||
})
|
||||
|
||||
--
|
||||
-- Papyrus and cactus drop
|
||||
--
|
||||
|
||||
local timber_nodenames={"mcl_core:reeds", "mcl_core:cactus"}
|
||||
|
||||
minetest.register_on_dignode(function(pos, node)
|
||||
local i=1
|
||||
while timber_nodenames[i]~=nil do
|
||||
if node.name==timber_nodenames[i] then
|
||||
local np={x=pos.x, y=pos.y+1, z=pos.z}
|
||||
while minetest.get_node(np).name==timber_nodenames[i] do
|
||||
minetest.remove_node(np)
|
||||
minetest.add_item(np, timber_nodenames[i])
|
||||
np={x=np.x, y=np.y+1, z=np.z}
|
||||
end
|
||||
end
|
||||
i=i+1
|
||||
end
|
||||
end)
|
||||
|
||||
--
|
||||
-- Bone Meal
|
||||
--
|
||||
|
||||
local n
|
||||
local n2
|
||||
local pos
|
||||
|
||||
local function apple_leave()
|
||||
if math.random(0, 10) == 3 then
|
||||
return {name = "mcl_core:apple"}
|
||||
else
|
||||
return {name = "mcl_core:leaves"}
|
||||
end
|
||||
end
|
||||
|
||||
local function air_leave()
|
||||
if math.random(0, 50) == 3 then
|
||||
return {name = "air"}
|
||||
else
|
||||
return {name = "mcl_core:leaves"}
|
||||
end
|
||||
end
|
||||
|
||||
function mcl_core.generate_tree(pos, trunk, leaves, typearbre)
|
||||
pos.y = pos.y-1
|
||||
local nodename = minetest.get_node(pos).name
|
||||
|
||||
pos.y = pos.y+1
|
||||
if not minetest.get_node_light(pos) then
|
||||
return
|
||||
end
|
||||
local node
|
||||
if typearbre == nil or typearbre == 1 then
|
||||
node = {name = ""}
|
||||
for dy=1,4 do
|
||||
pos.y = pos.y+dy
|
||||
if minetest.get_node(pos).name ~= "air" then
|
||||
return
|
||||
end
|
||||
pos.y = pos.y-dy
|
||||
end
|
||||
node = {name = trunk}
|
||||
for dy=0,4 do
|
||||
pos.y = pos.y+dy
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, node)
|
||||
end
|
||||
pos.y = pos.y-dy
|
||||
end
|
||||
|
||||
node = {name = leaves}
|
||||
pos.y = pos.y+3
|
||||
local rarity = 0
|
||||
if math.random(0, 10) == 3 then
|
||||
rarity = 1
|
||||
end
|
||||
for dx=-2,2 do
|
||||
for dz=-2,2 do
|
||||
for dy=0,3 do
|
||||
pos.x = pos.x+dx
|
||||
pos.y = pos.y+dy
|
||||
pos.z = pos.z+dz
|
||||
|
||||
if dx == 0 and dz == 0 and dy==3 then
|
||||
if minetest.get_node(pos).name == "air" and math.random(1, 5) <= 4 then
|
||||
minetest.add_node(pos, node)
|
||||
if rarity == 1 then
|
||||
minetest.add_node(pos, apple_leave())
|
||||
else
|
||||
minetest.add_node(pos, air_leave())
|
||||
end
|
||||
end
|
||||
elseif dx == 0 and dz == 0 and dy==4 then
|
||||
if minetest.get_node(pos).name == "air" and math.random(1, 5) <= 4 then
|
||||
minetest.add_node(pos, node)
|
||||
if rarity == 1 then
|
||||
minetest.add_node(pos, apple_leave())
|
||||
else
|
||||
minetest.add_node(pos, air_leave())
|
||||
end
|
||||
end
|
||||
elseif math.abs(dx) ~= 2 and math.abs(dz) ~= 2 then
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, node)
|
||||
if rarity == 1 then
|
||||
minetest.add_node(pos, apple_leave())
|
||||
else
|
||||
minetest.add_node(pos, air_leave())
|
||||
end
|
||||
end
|
||||
else
|
||||
if math.abs(dx) ~= 2 or math.abs(dz) ~= 2 then
|
||||
if minetest.get_node(pos).name == "air" and math.random(1, 5) <= 4 then
|
||||
minetest.add_node(pos, node)
|
||||
if rarity == 1 then
|
||||
minetest.add_node(pos, apple_leave())
|
||||
else
|
||||
minetest.add_node(pos, air_leave())
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
pos.x = pos.x-dx
|
||||
pos.y = pos.y-dy
|
||||
pos.z = pos.z-dz
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif typearbre == 2 then
|
||||
node = {name = ""}
|
||||
|
||||
-- can place big tree ?
|
||||
local tree_size = math.random(15, 25)
|
||||
for dy=1,4 do
|
||||
pos.y = pos.y+dy
|
||||
if minetest.get_node(pos).name ~= "air" then
|
||||
return
|
||||
end
|
||||
pos.y = pos.y-dy
|
||||
end
|
||||
|
||||
--Cheak for placing big tree
|
||||
pos.y = pos.y-1
|
||||
for dz=0,1 do
|
||||
pos.z = pos.z + dz
|
||||
--> 0
|
||||
if minetest.get_node(pos).name == "mcl_core:dirt_with_grass"
|
||||
or minetest.get_node(pos).name == "mcl_core:dirt" then else
|
||||
return
|
||||
end
|
||||
pos.x = pos.x+1
|
||||
--> 1
|
||||
if minetest.get_node(pos).name == "mcl_core:dirt_with_grass"
|
||||
or minetest.get_node(pos).name == "mcl_core:dirt" then else
|
||||
return
|
||||
end
|
||||
pos.x = pos.x-1
|
||||
pos.z = pos.z - dz
|
||||
end
|
||||
pos.y = pos.y+1
|
||||
|
||||
|
||||
-- Make tree with vine
|
||||
node = {name = trunk}
|
||||
for dy=0,tree_size do
|
||||
pos.y = pos.y+dy
|
||||
|
||||
for dz=-1,2 do
|
||||
if dz == -1 then
|
||||
pos.z = pos.z + dz
|
||||
if math.random(1, 3) == 1 and minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, {name = "mcl_core:vine", param2 = 4})
|
||||
end
|
||||
pos.x = pos.x+1
|
||||
if math.random(1, 3) == 1 and minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, {name = "mcl_core:vine", param2 = 4})
|
||||
end
|
||||
pos.x = pos.x-1
|
||||
pos.z = pos.z - dz
|
||||
elseif dz == 2 then
|
||||
pos.z = pos.z + dz
|
||||
if math.random(1, 3) == 1 and minetest.get_node(pos).name == "air"then
|
||||
minetest.add_node(pos, {name = "mcl_core:vine", param2 = 5})
|
||||
end
|
||||
pos.x = pos.x+1
|
||||
if math.random(1, 3) == 1 and minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, {name = "mcl_core:vine", param2 = 5})
|
||||
end
|
||||
pos.x = pos.x-1
|
||||
pos.z = pos.z - dz
|
||||
else
|
||||
pos.z = pos.z + dz
|
||||
pos.x = pos.x-1
|
||||
if math.random(1, 3) == 1 and minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, {name = "mcl_core:vine", param2 = 2})
|
||||
end
|
||||
pos.x = pos.x+1
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, {name = trunk, param2=2})
|
||||
end
|
||||
pos.x = pos.x+1
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, {name = trunk, param2=2})
|
||||
end
|
||||
pos.x = pos.x+1
|
||||
if math.random(1, 3) == 1 and minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, {name = "mcl_core:vine", param2 = 3})
|
||||
end
|
||||
pos.x = pos.x-2
|
||||
pos.z = pos.z - dz
|
||||
end
|
||||
end
|
||||
|
||||
pos.y = pos.y-dy
|
||||
end
|
||||
|
||||
-- make leaves
|
||||
node = {name = leaves}
|
||||
pos.y = pos.y+tree_size-4
|
||||
for dx=-5,5 do
|
||||
for dz=-5,5 do
|
||||
for dy=0,3 do
|
||||
pos.x = pos.x+dx
|
||||
pos.y = pos.y+dy
|
||||
pos.z = pos.z+dz
|
||||
|
||||
if dx == 0 and dz == 0 and dy==3 then
|
||||
if minetest.get_node(pos).name == "air" or minetest.get_node(pos).name == "mcl_core:vine" and math.random(1, 2) == 1 then
|
||||
minetest.add_node(pos, node)
|
||||
end
|
||||
elseif dx == 0 and dz == 0 and dy==4 then
|
||||
if minetest.get_node(pos).name == "air" or minetest.get_node(pos).name == "mcl_core:vine" and math.random(1, 5) == 1 then
|
||||
minetest.add_node(pos, node)
|
||||
minetest.add_node(pos, air_leave())
|
||||
end
|
||||
elseif math.abs(dx) ~= 2 and math.abs(dz) ~= 2 then
|
||||
if minetest.get_node(pos).name == "air" or minetest.get_node(pos).name == "mcl_core:vine" then
|
||||
minetest.add_node(pos, node)
|
||||
end
|
||||
else
|
||||
if math.abs(dx) ~= 2 or math.abs(dz) ~= 2 then
|
||||
if minetest.get_node(pos).name == "air" or minetest.get_node(pos).name == "mcl_core:vine" and math.random(1, 3) == 1 then
|
||||
minetest.add_node(pos, node)
|
||||
end
|
||||
else
|
||||
if math.random(1, 5) == 1 and minetest.get_node(pos).name == "air" then
|
||||
minetest.add_node(pos, node)
|
||||
end
|
||||
end
|
||||
end
|
||||
pos.x = pos.x-dx
|
||||
pos.y = pos.y-dy
|
||||
pos.z = pos.z-dz
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
------------------------------
|
||||
-- Try generate grass dirt ---
|
||||
------------------------------
|
||||
-- turn dirt to dirt with grass
|
||||
minetest.register_abm({
|
||||
nodenames = {"mcl_core:dirt"},
|
||||
neighbors = {"air"},
|
||||
interval = 30,
|
||||
chance = 20,
|
||||
action = function(pos)
|
||||
if pos == nil then
|
||||
return
|
||||
end
|
||||
local can_change = 0
|
||||
for i=1,4 do
|
||||
local p = {x=pos.x, y=pos.y+i, z=pos.z}
|
||||
local n = minetest.get_node(p)
|
||||
-- On verifie si il y a de l'air
|
||||
if (n.name=="air") then
|
||||
can_change = can_change + 1
|
||||
end
|
||||
end
|
||||
if can_change > 3 then
|
||||
local light = minetest.get_node_light(pos)
|
||||
if light or light > 10 then
|
||||
minetest.add_node(pos, {name="mcl_core:dirt_with_grass"})
|
||||
end
|
||||
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
|
||||
--------------------------
|
||||
-- Try generate tree ---
|
||||
--------------------------
|
||||
-- TODO: Acacia, dark oak, spruce, birch
|
||||
|
||||
-- Normal tree
|
||||
minetest.register_abm({
|
||||
nodenames = {"mcl_core:sapling"},
|
||||
neighbors = {"group:soil_sapling"},
|
||||
interval = 30,
|
||||
chance = 15,
|
||||
action = function(pos)
|
||||
local light = minetest.get_node_light(pos)
|
||||
local soilnode = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
local soiltype = minetest.get_item_group(soilnode.name, "soil_sapling")
|
||||
if soiltype >= 1 and light and light >= 9 then
|
||||
minetest.add_node(pos, {name="air"})
|
||||
mcl_core.generate_tree(pos, "mcl_core:tree", "mcl_core:leaves", 1)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Jungle Tree
|
||||
minetest.register_abm({
|
||||
nodenames = {"mcl_core:junglesapling"},
|
||||
neighbors = {"group:soil_sapling"},
|
||||
interval = 30,
|
||||
chance = 15,
|
||||
action = function(pos)
|
||||
local light = minetest.get_node_light(pos)
|
||||
local soilnode = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
local soiltype = minetest.get_item_group(soilnode.name, "soil_sapling")
|
||||
if soiltype == 2 and light and light >= 9 then
|
||||
minetest.add_node(pos, {name="air"})
|
||||
mcl_core.generate_tree(pos, "mcl_core:jungletree", "mcl_core:jungleleaves", 2)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
---------------------
|
||||
-- Vine generating --
|
||||
---------------------
|
||||
minetest.register_abm({
|
||||
nodenames = {"mcl_core:vine"},
|
||||
interval = 80,
|
||||
chance = 5,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local newpos = {x=pos.x, y=pos.y-1, z=pos.z}
|
||||
local n = minetest.get_node(newpos)
|
||||
if n.name == "air" then
|
||||
local walldir = node.param2
|
||||
minetest.add_node(newpos, {name = "mcl_core:vine", param2 = walldir})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
|
||||
-- Leaf Decay
|
||||
|
||||
-- To enable leaf decay for a node, add it to the "leafdecay" group.
|
||||
--
|
||||
-- The rating of the group determines how far from a node in the group "tree"
|
||||
-- the node can be without decaying.
|
||||
--
|
||||
-- If param2 of the node is ~= 0, the node will always be preserved. Thus, if
|
||||
-- the player places a node of that kind, you will want to set param2=1 or so.
|
||||
--
|
||||
-- If the node is in the leafdecay_drop group then the it will always be dropped
|
||||
-- as an item
|
||||
|
||||
mcl_core.leafdecay_trunk_cache = {}
|
||||
mcl_core.leafdecay_enable_cache = true
|
||||
-- Spread the load of finding trunks
|
||||
mcl_core.leafdecay_trunk_find_allow_accumulator = 0
|
||||
|
||||
minetest.register_globalstep(function(dtime)
|
||||
local finds_per_second = 5000
|
||||
mcl_core.leafdecay_trunk_find_allow_accumulator =
|
||||
math.floor(dtime * finds_per_second)
|
||||
end)
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"group:leafdecay"},
|
||||
neighbors = {"air", "group:liquid"},
|
||||
-- A low interval and a high inverse chance spreads the load
|
||||
interval = 2,
|
||||
chance = 5,
|
||||
|
||||
action = function(p0, node, _, _)
|
||||
--print("leafdecay ABM at "..p0.x..", "..p0.y..", "..p0.z..")")
|
||||
local do_preserve = false
|
||||
local d = minetest.registered_nodes[node.name].groups.leafdecay
|
||||
if not d or d == 0 then
|
||||
--print("not groups.leafdecay")
|
||||
return
|
||||
end
|
||||
local n0 = minetest.get_node(p0)
|
||||
if n0.param2 ~= 0 then
|
||||
--print("param2 ~= 0")
|
||||
return
|
||||
end
|
||||
local p0_hash = nil
|
||||
if mcl_core.leafdecay_enable_cache then
|
||||
p0_hash = minetest.hash_node_position(p0)
|
||||
local trunkp = mcl_core.leafdecay_trunk_cache[p0_hash]
|
||||
if trunkp then
|
||||
local n = minetest.get_node(trunkp)
|
||||
local reg = minetest.registered_nodes[n.name]
|
||||
-- Assume ignore is a trunk, to make the thing work at the border of the active area
|
||||
if n.name == "ignore" or (reg and reg.groups.tree and reg.groups.tree ~= 0) then
|
||||
--print("cached trunk still exists")
|
||||
return
|
||||
end
|
||||
--print("cached trunk is invalid")
|
||||
-- Cache is invalid
|
||||
table.remove(mcl_core.leafdecay_trunk_cache, p0_hash)
|
||||
end
|
||||
end
|
||||
if mcl_core.leafdecay_trunk_find_allow_accumulator <= 0 then
|
||||
return
|
||||
end
|
||||
mcl_core.leafdecay_trunk_find_allow_accumulator =
|
||||
mcl_core.leafdecay_trunk_find_allow_accumulator - 1
|
||||
-- Assume ignore is a trunk, to make the thing work at the border of the active area
|
||||
local p1 = minetest.find_node_near(p0, d, {"ignore", "group:tree"})
|
||||
if p1 then
|
||||
do_preserve = true
|
||||
if mcl_core.leafdecay_enable_cache then
|
||||
--print("caching trunk")
|
||||
-- Cache the trunk
|
||||
mcl_core.leafdecay_trunk_cache[p0_hash] = p1
|
||||
end
|
||||
end
|
||||
if not do_preserve then
|
||||
-- Drop stuff other than the node itself
|
||||
local itemstacks = minetest.get_node_drops(n0.name)
|
||||
for _, itemname in ipairs(itemstacks) do
|
||||
if minetest.get_item_group(n0.name, "leafdecay_drop") ~= 0 or
|
||||
itemname ~= n0.name then
|
||||
local p_drop = {
|
||||
x = p0.x - 0.5 + math.random(),
|
||||
y = p0.y - 0.5 + math.random(),
|
||||
z = p0.z - 0.5 + math.random(),
|
||||
}
|
||||
minetest.add_item(p_drop, itemname)
|
||||
end
|
||||
end
|
||||
-- Remove node
|
||||
minetest.remove_node(p0)
|
||||
core.check_for_falling(p0)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
------------------------
|
||||
-- Create Color Glass --
|
||||
------------------------
|
||||
function mcl_core.add_glass(desc, recipeitem, color)
|
||||
|
||||
minetest.register_node("mcl_core:glass_"..color, {
|
||||
description = desc,
|
||||
drawtype = "glasslike",
|
||||
is_ground_content = false,
|
||||
tiles = {"xpanes_pane_glass_"..color..".png"},
|
||||
inventory_image = minetest.inventorycube("xpanes_pane_glass_"..color..".png"),
|
||||
paramtype = "light",
|
||||
use_texture_alpha = true,
|
||||
stack_max = 64,
|
||||
groups = {cracky=3,oddly_breakable_by_hand=3, building_block=1},
|
||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||
drop = "",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'mcl_core:glass_'..color..' 8',
|
||||
recipe = {
|
||||
{'mcl_core:glass','mcl_core:glass','mcl_core:glass'},
|
||||
{'mcl_core:glass','group:dye,'..recipeitem,'mcl_core:glass'},
|
||||
{'mcl_core:glass','mcl_core:glass','mcl_core:glass'},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
|
25
mods/CORE/mcl_core/init.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
-- Minetest 0.4 mod: default
|
||||
-- See README.txt for licensing and other information.
|
||||
-- The API documentation in here was moved into doc/lua_api.txt
|
||||
|
||||
-- Definitions made by this mod that other mods can use too
|
||||
mcl_core = {}
|
||||
mcl_core.gui_slots = "listcolors[#9990;#FFF7;#FFF0;#000;#FFF]"
|
||||
mcl_core.gui_bg = "bgcolor[#080808BB;true]"
|
||||
mcl_core.gui_bg_img = ""
|
||||
|
||||
mcl_core.inventory_header = mcl_core.gui_slots .. mcl_core.gui_bg
|
||||
|
||||
-- Repair percentage for toolrepair
|
||||
mcl_core.repair = 0.05
|
||||
|
||||
minetest.nodedef_default.stack_max = 64
|
||||
minetest.craftitemdef_default.stack_max = 64
|
||||
|
||||
-- Load files
|
||||
dofile(minetest.get_modpath("mcl_core").."/functions.lua")
|
||||
dofile(minetest.get_modpath("mcl_core").."/nodes.lua")
|
||||
dofile(minetest.get_modpath("mcl_core").."/tools.lua")
|
||||
dofile(minetest.get_modpath("mcl_core").."/craftitems.lua")
|
||||
dofile(minetest.get_modpath("mcl_core").."/crafting.lua")
|
||||
dofile(minetest.get_modpath("mcl_core").."/mapgen.lua")
|
542
mods/CORE/mcl_core/mapgen.lua
Normal file
|
@ -0,0 +1,542 @@
|
|||
-- mods/default/mapgen.lua
|
||||
|
||||
--
|
||||
-- Aliases for map generator outputs
|
||||
--
|
||||
|
||||
minetest.register_alias("mapgen_air", "air")
|
||||
minetest.register_alias("mapgen_stone", "mcl_core:stone")
|
||||
minetest.register_alias("mapgen_tree", "mcl_core:tree")
|
||||
minetest.register_alias("mapgen_leaves", "mcl_core:leaves")
|
||||
minetest.register_alias("mapgen_jungletree", "mcl_core:jungletree")
|
||||
minetest.register_alias("mapgen_jungleleaves", "mcl_core:jungleleaves")
|
||||
minetest.register_alias("mapgen_pine_tree", "mcl_core:darktree")
|
||||
minetest.register_alias("mapgen_pine_needles", "mcl_core:darkleaves")
|
||||
|
||||
minetest.register_alias("mapgen_apple", "mcl_core:leaves")
|
||||
minetest.register_alias("mapgen_water_source", "mcl_core:water_source")
|
||||
minetest.register_alias("mapgen_dirt", "mcl_core:dirt")
|
||||
minetest.register_alias("mapgen_dirt_with_grass", "mcl_core:dirt_with_grass")
|
||||
minetest.register_alias("mapgen_dirt_with_snow", "mcl_core:dirt_with_snow")
|
||||
minetest.register_alias("mapgen_sand", "mcl_core:sand")
|
||||
minetest.register_alias("mapgen_gravel", "mcl_core:gravel")
|
||||
minetest.register_alias("mapgen_clay", "mcl_core:clay")
|
||||
minetest.register_alias("mapgen_lava_source", "mcl_core:lava_source")
|
||||
minetest.register_alias("mapgen_cobble", "mcl_core:cobble")
|
||||
minetest.register_alias("mapgen_mossycobble", "mcl_core:mossycobble")
|
||||
minetest.register_alias("mapgen_junglegrass", "mcl_core:tallgrass")
|
||||
minetest.register_alias("mapgen_stone_with_coal", "mcl_core:stone_with_coal")
|
||||
minetest.register_alias("mapgen_stone_with_iron", "mcl_core:stone_with_iron")
|
||||
minetest.register_alias("mapgen_desert_sand", "mcl_core:sand")
|
||||
minetest.register_alias("mapgen_desert_stone", "mcl_core:sandstone")
|
||||
minetest.register_alias("mapgen_sandstone", "mcl_core:sandstone")
|
||||
minetest.register_alias("mapgen_river_water_source", "mcl_core:water_source")
|
||||
minetest.register_alias("mapgen_snow", "mcl_core:snow")
|
||||
minetest.register_alias("mapgen_snowblock", "mcl_core:snowblock")
|
||||
minetest.register_alias("mapgen_ice", "mcl_core:ice")
|
||||
|
||||
minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble")
|
||||
minetest.register_alias("mapgen_sandstonebrick", "mcl_core:sandstonesmooth")
|
||||
minetest.register_alias("mapgen_stair_sandstonebrick", "stairs:stair_sandstone")
|
||||
|
||||
--
|
||||
-- Ore generation
|
||||
--
|
||||
|
||||
-- Gravel
|
||||
minetest.register_ore({
|
||||
ore_type = "blob",
|
||||
ore = "mcl_core:gravel",
|
||||
wherein = {"mcl_core:stone"},
|
||||
clust_scarcity = 14*14*14,
|
||||
clust_num_ores = 33,
|
||||
clust_size = 5,
|
||||
y_min = -90,
|
||||
y_max = 90,
|
||||
})
|
||||
|
||||
--
|
||||
-- Coal
|
||||
--
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_coal",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 500,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 3,
|
||||
y_min = 13,
|
||||
y_max = 31000,
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_coal",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 500,
|
||||
clust_num_ores = 8,
|
||||
clust_size = 3,
|
||||
y_min = 12,
|
||||
y_max = -12,
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_coal",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 1000,
|
||||
clust_num_ores = 6,
|
||||
clust_size = 3,
|
||||
y_min = -11,
|
||||
y_max = 64,
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_coal",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 5000,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 2,
|
||||
y_min = 65,
|
||||
y_max = 67,
|
||||
})
|
||||
|
||||
--
|
||||
-- Iron
|
||||
--
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_iron",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 830,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 3,
|
||||
y_min = -127,
|
||||
y_max = -10,
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_iron",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 1660,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = -9,
|
||||
y_max = 1,
|
||||
})
|
||||
|
||||
--
|
||||
-- Gold
|
||||
--
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_gold",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 5000,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 3,
|
||||
y_min = -59,
|
||||
y_max = -35,
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_gold",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 10000,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = -35,
|
||||
y_max = -33,
|
||||
})
|
||||
|
||||
--
|
||||
-- Diamond
|
||||
--
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_diamond",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 10000,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 3,
|
||||
y_min = -59,
|
||||
y_max = -48,
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_diamond",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 5000,
|
||||
clust_num_ores = 2,
|
||||
clust_size = 2,
|
||||
y_min = -59,
|
||||
y_max = -48,
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_diamond",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 10000,
|
||||
clust_num_ores = 8,
|
||||
clust_size = 3,
|
||||
y_min = -55,
|
||||
y_max = -52,
|
||||
})
|
||||
|
||||
--
|
||||
-- Redstone
|
||||
--
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_redstone",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 10000,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 3,
|
||||
y_min = -59,
|
||||
y_max = -48,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_redstone",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 10000,
|
||||
clust_num_ores = 10,
|
||||
clust_size = 4,
|
||||
y_min = -59,
|
||||
y_max = -48,
|
||||
})
|
||||
|
||||
--
|
||||
-- Emerald
|
||||
--
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_emerald",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 10000,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 2,
|
||||
y_min = -59,
|
||||
y_max = -35,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_emerald",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 50000,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = -59,
|
||||
y_max = -35,
|
||||
})
|
||||
|
||||
--
|
||||
-- Lapis Lazuli
|
||||
--
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_lapis",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 10000,
|
||||
clust_num_ores = 7,
|
||||
clust_size = 4,
|
||||
y_min = -50,
|
||||
y_max = -46,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:stone_with_lapis",
|
||||
wherein = "mcl_core:stone",
|
||||
clust_scarcity = 10000,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 4,
|
||||
y_min = -59,
|
||||
y_max = -50,
|
||||
})
|
||||
|
||||
function mcl_core.generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, y_min, y_max)
|
||||
minetest.log('action', "WARNING: mcl_core.generate_ore is deprecated")
|
||||
|
||||
if maxp.y < y_min or minp.y > y_max then
|
||||
return
|
||||
end
|
||||
y_min = math.max(minp.y, y_min)
|
||||
y_max = math.min(maxp.y, y_max)
|
||||
if chunk_size >= y_max - y_min + 1 then
|
||||
return
|
||||
end
|
||||
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
|
||||
local pr = PseudoRandom(seed)
|
||||
local num_chunks = math.floor(chunks_per_volume * volume)
|
||||
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
|
||||
--print("generate_ore num_chunks: "..dump(num_chunks))
|
||||
for i=1,num_chunks do
|
||||
local y0 = pr:next(y_min, y_max-chunk_size+1)
|
||||
if y0 >= y_min and y0 <= y_max then
|
||||
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
|
||||
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
|
||||
local p0 = {x=x0, y=y0, z=z0}
|
||||
for x1=0,chunk_size-1 do
|
||||
for y1=0,chunk_size-1 do
|
||||
for z1=0,chunk_size-1 do
|
||||
if pr:next(1,inverse_chance) == 1 then
|
||||
local x2 = x0+x1
|
||||
local y2 = y0+y1
|
||||
local z2 = z0+z1
|
||||
local p2 = {x=x2, y=y2, z=z2}
|
||||
if minetest.get_node(p2).name == wherein then
|
||||
minetest.set_node(p2, {name=name})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
--print("generate_ore done")
|
||||
end
|
||||
|
||||
function mcl_core.make_reeds(pos, size)
|
||||
for y=0,size-1 do
|
||||
local p = {x=pos.x, y=pos.y+y, z=pos.z}
|
||||
local nn = minetest.get_node(p).name
|
||||
if minetest.registered_nodes[nn] and
|
||||
minetest.registered_nodes[nn].buildable_to then
|
||||
minetest.set_node(p, {name="mcl_core:reeds"})
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mcl_core.make_cactus(pos, size)
|
||||
for y=0,size-1 do
|
||||
local p = {x=pos.x, y=pos.y+y, z=pos.z}
|
||||
local nn = minetest.get_node(p).name
|
||||
if minetest.registered_nodes[nn] and
|
||||
minetest.registered_nodes[nn].buildable_to then
|
||||
minetest.set_node(p, {name="mcl_core:cactus"})
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, seed)
|
||||
if maxp.y >= 2 and minp.y <= 0 then
|
||||
-- Generate clay
|
||||
-- Assume X and Z lengths are equal
|
||||
local divlen = 4
|
||||
local divs = (maxp.x-minp.x)/divlen+1;
|
||||
for divx=0+1,divs-1-1 do
|
||||
for divz=0+1,divs-1-1 do
|
||||
local cx = minp.x + math.floor((divx+0.5)*divlen)
|
||||
local cz = minp.z + math.floor((divz+0.5)*divlen)
|
||||
if minetest.get_node({x=cx,y=1,z=cz}).name == "mcl_core:water_source" and
|
||||
minetest.get_node({x=cx,y=0,z=cz}).name == "mcl_core:sand" then
|
||||
local is_shallow = true
|
||||
local num_water_around = 0
|
||||
if minetest.get_node({x=cx-divlen*2,y=1,z=cz+0}).name == "mcl_core:water_source" then
|
||||
num_water_around = num_water_around + 1 end
|
||||
if minetest.get_node({x=cx+divlen*2,y=1,z=cz+0}).name == "mcl_core:water_source" then
|
||||
num_water_around = num_water_around + 1 end
|
||||
if minetest.get_node({x=cx+0,y=1,z=cz-divlen*2}).name == "mcl_core:water_source" then
|
||||
num_water_around = num_water_around + 1 end
|
||||
if minetest.get_node({x=cx+0,y=1,z=cz+divlen*2}).name == "mcl_core:water_source" then
|
||||
num_water_around = num_water_around + 1 end
|
||||
if num_water_around >= 2 then
|
||||
is_shallow = false
|
||||
end
|
||||
if is_shallow then
|
||||
for x1=-divlen,divlen do
|
||||
for z1=-divlen,divlen do
|
||||
if minetest.get_node({x=cx+x1,y=0,z=cz+z1}).name == "mcl_core:sand" or minetest.get_node({x=cx+x1,y=0,z=cz+z1}).name == "mcl_core:sandstone" then
|
||||
minetest.set_node({x=cx+x1,y=0,z=cz+z1}, {name="mcl_core:clay"})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- Generate reeds
|
||||
local perlin1 = minetest.get_perlin(354, 3, 0.7, 100)
|
||||
-- Assume X and Z lengths are equal
|
||||
local divlen = 8
|
||||
local divs = (maxp.x-minp.x)/divlen+1;
|
||||
for divx=0,divs-1 do
|
||||
for divz=0,divs-1 do
|
||||
local x0 = minp.x + math.floor((divx+0)*divlen)
|
||||
local z0 = minp.z + math.floor((divz+0)*divlen)
|
||||
local x1 = minp.x + math.floor((divx+1)*divlen)
|
||||
local z1 = minp.z + math.floor((divz+1)*divlen)
|
||||
-- Determine reeds amount from perlin noise
|
||||
local reeds_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 45 - 20)
|
||||
-- Find random positions for reeds based on this random
|
||||
local pr = PseudoRandom(seed+1)
|
||||
for i=0,reeds_amount do
|
||||
local x = pr:next(x0, x1)
|
||||
local z = pr:next(z0, z1)
|
||||
if minetest.get_node({x=x,y=1,z=z}).name == "mcl_core:dirt_with_grass" and
|
||||
minetest.find_node_near({x=x,y=1,z=z}, 1, "mcl_core:water_source") then
|
||||
mcl_core.make_reeds({x=x,y=2,z=z}, pr:next(2, 4))
|
||||
end
|
||||
local p = {x=x,y=1,z=z}
|
||||
if minetest.get_node(p).name == "mcl_core:sand" then
|
||||
if math.random(0,1000) == 1 then -- 0,12000
|
||||
-- TODO: Re-enable random_struct
|
||||
--random_struct.call_struct(p,2)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
-- Generate cactuses
|
||||
local perlin1 = minetest.get_perlin(230, 3, 0.6, 100)
|
||||
-- Assume X and Z lengths are equal
|
||||
local divlen = 16
|
||||
local divs = (maxp.x-minp.x)/divlen+1;
|
||||
for divx=0,divs-1 do
|
||||
for divz=0,divs-1 do
|
||||
local x0 = minp.x + math.floor((divx+0)*divlen)
|
||||
local z0 = minp.z + math.floor((divz+0)*divlen)
|
||||
local x1 = minp.x + math.floor((divx+1)*divlen)
|
||||
local z1 = minp.z + math.floor((divz+1)*divlen)
|
||||
-- Determine cactus amount from perlin noise
|
||||
local cactus_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 6 - 3)
|
||||
-- Find random positions for cactus based on this random
|
||||
local pr = PseudoRandom(seed+1)
|
||||
for i=0,cactus_amount do
|
||||
local x = pr:next(x0, x1)
|
||||
local z = pr:next(z0, z1)
|
||||
-- Find ground level (0...15)
|
||||
local ground_y = nil
|
||||
for y=30,0,-1 do
|
||||
if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then
|
||||
ground_y = y
|
||||
break
|
||||
end
|
||||
end
|
||||
-- If sand, make cactus
|
||||
if ground_y and minetest.get_node({x=x,y=ground_y,z=z}).name == "mcl_core:sand" then
|
||||
mcl_core.make_cactus({x=x,y=ground_y+1,z=z}, pr:next(3, 4))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- Generate grass
|
||||
local perlin1 = minetest.get_perlin(329, 3, 0.6, 100)
|
||||
-- Assume X and Z lengths are equal
|
||||
local divlen = 5
|
||||
local divs = (maxp.x-minp.x)/divlen+1;
|
||||
for divx=0,divs-1 do
|
||||
for divz=0,divs-1 do
|
||||
local x0 = minp.x + math.floor((divx+0)*divlen)
|
||||
local z0 = minp.z + math.floor((divz+0)*divlen)
|
||||
local x1 = minp.x + math.floor((divx+1)*divlen)
|
||||
local z1 = minp.z + math.floor((divz+1)*divlen)
|
||||
-- Determine grass amount from perlin noise
|
||||
local grass_amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 9)
|
||||
-- Find random positions for grass based on this random
|
||||
local pr = PseudoRandom(seed+1)
|
||||
for i=0,grass_amount do
|
||||
local x = pr:next(x0, x1)
|
||||
local z = pr:next(z0, z1)
|
||||
-- Find ground level (0...15)
|
||||
local ground_y = nil
|
||||
for y=30,0,-1 do
|
||||
if minetest.get_node({x=x,y=y,z=z}).name ~= "air" then
|
||||
ground_y = y
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if ground_y then
|
||||
local p = {x=x,y=ground_y+1,z=z}
|
||||
local nn = minetest.get_node(p).name
|
||||
-- Check if the node can be replaced
|
||||
if minetest.registered_nodes[nn] and
|
||||
minetest.registered_nodes[nn].buildable_to then
|
||||
nn = minetest.get_node({x=x,y=ground_y,z=z}).name
|
||||
-- If sand, add dry shrub
|
||||
if nn == "mcl_core:sand" then
|
||||
minetest.set_node(p,{name="mcl_core:deadbush"})
|
||||
|
||||
-- If dirt with grass, add grass
|
||||
elseif nn == "mcl_core:dirt_with_grass" then
|
||||
minetest.set_node(p,{name="mcl_core:tallgrass"})
|
||||
if math.random(0,12000) == 1 then
|
||||
-- TODO: Re-enable random_struct
|
||||
--random_struct.call_struct(p,1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Generate nyan cats
|
||||
--generate_nyancats(seed, minp, maxp)
|
||||
end)
|
||||
|
||||
local function replace(old, new, min, max)
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = new,
|
||||
wherein = old,
|
||||
clust_scarcity = 1,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = min,
|
||||
y_max = max,
|
||||
})
|
||||
end
|
||||
replace("air", "mcl_core:bedrock", -90, -80)
|
||||
replace("air", "mcl_core:lava_source", -80, -70)
|
||||
replace("mcl_core:stone", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:gravel", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:dirt", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:sand", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:cobble", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:mossycobble", "mcl_core:bedrock", -90, -80)
|
||||
replace("stairs:stair_cobble", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:lava_source", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:lava_flowing", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:water_source", "mcl_core:bedrock", -90, -80)
|
||||
replace("mcl_core:water_flowing", "mcl_core:bedrock", -90, -80)
|
||||
|
||||
local function bedrock(old)
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:bedrock",
|
||||
wherein = old,
|
||||
clust_scarcity = 5,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = -64,
|
||||
y_max = -60,
|
||||
})
|
||||
end
|
||||
bedrock("air")
|
||||
bedrock("mcl_core:stone")
|
||||
bedrock("mcl_core:gravel")
|
||||
bedrock("mcl_core:dirt")
|
||||
bedrock("mcl_core:sand")
|
||||
bedrock("mcl_core:cobble")
|
||||
bedrock("mcl_core:mossycobble")
|
||||
bedrock("stairs:stair_cobble")
|
||||
bedrock("mcl_core:lava_source")
|
||||
bedrock("mcl_core:lava_flowing")
|
||||
bedrock("mcl_core:water_source")
|
||||
bedrock("mcl_core:water_flowing")
|
||||
|
1
mods/CORE/mcl_core/mod.conf
Normal file
|
@ -0,0 +1 @@
|
|||
name = mcl_core
|
1610
mods/CORE/mcl_core/nodes.lua
Normal file
BIN
mods/CORE/mcl_core/textures/bubble.png
Normal file
After Width: | Height: | Size: 175 B |
BIN
mods/CORE/mcl_core/textures/crack_anylength.png
Normal file
After Width: | Height: | Size: 780 B |
BIN
mods/CORE/mcl_core/textures/crafting_inventory_furnace.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
mods/CORE/mcl_core/textures/crafting_inventory_furnace_on.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
mods/CORE/mcl_core/textures/crosshair.png
Normal file
After Width: | Height: | Size: 115 B |
BIN
mods/CORE/mcl_core/textures/default_acacialeaves.png
Normal file
After Width: | Height: | Size: 867 B |
BIN
mods/CORE/mcl_core/textures/default_acaciasapling.png
Normal file
After Width: | Height: | Size: 365 B |
BIN
mods/CORE/mcl_core/textures/default_acaciatree.png
Normal file
After Width: | Height: | Size: 790 B |
BIN
mods/CORE/mcl_core/textures/default_acaciatree_top.png
Normal file
After Width: | Height: | Size: 786 B |
BIN
mods/CORE/mcl_core/textures/default_acaciawood.png
Normal file
After Width: | Height: | Size: 346 B |
BIN
mods/CORE/mcl_core/textures/default_andesite.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
mods/CORE/mcl_core/textures/default_andesite_smooth.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
mods/CORE/mcl_core/textures/default_apple.png
Normal file
After Width: | Height: | Size: 331 B |
BIN
mods/CORE/mcl_core/textures/default_apple_gold.png
Normal file
After Width: | Height: | Size: 261 B |
BIN
mods/CORE/mcl_core/textures/default_barrier.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
mods/CORE/mcl_core/textures/default_bedrock.png
Normal file
After Width: | Height: | Size: 327 B |
BIN
mods/CORE/mcl_core/textures/default_bowl.png
Normal file
After Width: | Height: | Size: 283 B |
BIN
mods/CORE/mcl_core/textures/default_brick.png
Normal file
After Width: | Height: | Size: 548 B |
BIN
mods/CORE/mcl_core/textures/default_cactus_bottom.png
Normal file
After Width: | Height: | Size: 187 B |
BIN
mods/CORE/mcl_core/textures/default_cactus_side.png
Normal file
After Width: | Height: | Size: 662 B |
BIN
mods/CORE/mcl_core/textures/default_cactus_top.png
Normal file
After Width: | Height: | Size: 527 B |
BIN
mods/CORE/mcl_core/textures/default_charcoal_lump.png
Normal file
After Width: | Height: | Size: 902 B |
BIN
mods/CORE/mcl_core/textures/default_clay.png
Normal file
After Width: | Height: | Size: 626 B |
BIN
mods/CORE/mcl_core/textures/default_clay_brick.png
Normal file
After Width: | Height: | Size: 253 B |
BIN
mods/CORE/mcl_core/textures/default_clay_lump.png
Normal file
After Width: | Height: | Size: 265 B |
BIN
mods/CORE/mcl_core/textures/default_coal_block.png
Normal file
After Width: | Height: | Size: 956 B |
BIN
mods/CORE/mcl_core/textures/default_coal_lump.png
Normal file
After Width: | Height: | Size: 347 B |
BIN
mods/CORE/mcl_core/textures/default_coarse_dirt.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
mods/CORE/mcl_core/textures/default_cobble.png
Normal file
After Width: | Height: | Size: 786 B |
BIN
mods/CORE/mcl_core/textures/default_diamond.png
Normal file
After Width: | Height: | Size: 334 B |
BIN
mods/CORE/mcl_core/textures/default_diamond_block.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
mods/CORE/mcl_core/textures/default_diorite.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
mods/CORE/mcl_core/textures/default_diorite_smooth.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
mods/CORE/mcl_core/textures/default_dirt.png
Normal file
After Width: | Height: | Size: 800 B |
BIN
mods/CORE/mcl_core/textures/default_dirt_podzol_side.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
mods/CORE/mcl_core/textures/default_dirt_podzol_top.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
mods/CORE/mcl_core/textures/default_dry_shrub.png
Normal file
After Width: | Height: | Size: 275 B |
BIN
mods/CORE/mcl_core/textures/default_emerald.png
Normal file
After Width: | Height: | Size: 435 B |
BIN
mods/CORE/mcl_core/textures/default_emerald_block.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
mods/CORE/mcl_core/textures/default_fire_particle1.png
Normal file
After Width: | Height: | Size: 408 B |
BIN
mods/CORE/mcl_core/textures/default_fire_particle2.png
Normal file
After Width: | Height: | Size: 561 B |
BIN
mods/CORE/mcl_core/textures/default_flint.png
Normal file
After Width: | Height: | Size: 243 B |
BIN
mods/CORE/mcl_core/textures/default_frosted_ice_0.png
Normal file
After Width: | Height: | Size: 206 B |
BIN
mods/CORE/mcl_core/textures/default_frosted_ice_1.png
Normal file
After Width: | Height: | Size: 645 B |
BIN
mods/CORE/mcl_core/textures/default_frosted_ice_2.png
Normal file
After Width: | Height: | Size: 677 B |
BIN
mods/CORE/mcl_core/textures/default_frosted_ice_3.png
Normal file
After Width: | Height: | Size: 719 B |
BIN
mods/CORE/mcl_core/textures/default_glass.png
Normal file
After Width: | Height: | Size: 221 B |
BIN
mods/CORE/mcl_core/textures/default_gold_block.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mods/CORE/mcl_core/textures/default_gold_ingot.png
Normal file
After Width: | Height: | Size: 302 B |
BIN
mods/CORE/mcl_core/textures/default_gold_nugget.png
Normal file
After Width: | Height: | Size: 202 B |
BIN
mods/CORE/mcl_core/textures/default_granite.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
mods/CORE/mcl_core/textures/default_granite_smooth.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
mods/CORE/mcl_core/textures/default_grass.png
Normal file
After Width: | Height: | Size: 854 B |
BIN
mods/CORE/mcl_core/textures/default_grass_side.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mods/CORE/mcl_core/textures/default_gravel.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
mods/CORE/mcl_core/textures/default_gunpowder.png
Normal file
After Width: | Height: | Size: 240 B |
BIN
mods/CORE/mcl_core/textures/default_hayblock_side.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
mods/CORE/mcl_core/textures/default_hayblock_top.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
mods/CORE/mcl_core/textures/default_ice.png
Normal file
After Width: | Height: | Size: 173 B |
BIN
mods/CORE/mcl_core/textures/default_ice_packed.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
mods/CORE/mcl_core/textures/default_iron_nugget.png
Normal file
After Width: | Height: | Size: 295 B |
BIN
mods/CORE/mcl_core/textures/default_jungleleaves.png
Normal file
After Width: | Height: | Size: 562 B |
BIN
mods/CORE/mcl_core/textures/default_junglesapling.png
Normal file
After Width: | Height: | Size: 401 B |
BIN
mods/CORE/mcl_core/textures/default_jungletree.png
Normal file
After Width: | Height: | Size: 997 B |
BIN
mods/CORE/mcl_core/textures/default_jungletree_top.png
Normal file
After Width: | Height: | Size: 577 B |
BIN
mods/CORE/mcl_core/textures/default_junglewood.png
Normal file
After Width: | Height: | Size: 345 B |
BIN
mods/CORE/mcl_core/textures/default_ladder.png
Normal file
After Width: | Height: | Size: 230 B |
BIN
mods/CORE/mcl_core/textures/default_lapis_block.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
mods/CORE/mcl_core/textures/default_large_chest_bg.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
mods/CORE/mcl_core/textures/default_lava.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
mods/CORE/mcl_core/textures/default_lava_flowing_animated.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
mods/CORE/mcl_core/textures/default_lava_source_animated.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
mods/CORE/mcl_core/textures/default_leaves.png
Normal file
After Width: | Height: | Size: 722 B |
BIN
mods/CORE/mcl_core/textures/default_leaves_big_oak.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
mods/CORE/mcl_core/textures/default_leaves_birch.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
mods/CORE/mcl_core/textures/default_log_big_oak.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
mods/CORE/mcl_core/textures/default_log_big_oak_top.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
mods/CORE/mcl_core/textures/default_log_birch.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
mods/CORE/mcl_core/textures/default_log_birch_top.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
mods/CORE/mcl_core/textures/default_mineral_coal.png
Normal file
After Width: | Height: | Size: 411 B |
BIN
mods/CORE/mcl_core/textures/default_mineral_diamond.png
Normal file
After Width: | Height: | Size: 411 B |
BIN
mods/CORE/mcl_core/textures/default_mineral_emerald.png
Normal file
After Width: | Height: | Size: 760 B |
BIN
mods/CORE/mcl_core/textures/default_mineral_gold.png
Normal file
After Width: | Height: | Size: 411 B |
BIN
mods/CORE/mcl_core/textures/default_mineral_iron.png
Normal file
After Width: | Height: | Size: 411 B |
BIN
mods/CORE/mcl_core/textures/default_mineral_lapis.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
mods/CORE/mcl_core/textures/default_mineral_redstone.png
Normal file
After Width: | Height: | Size: 411 B |
BIN
mods/CORE/mcl_core/textures/default_mossycobble.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mods/CORE/mcl_core/textures/default_mycelium_side.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
mods/CORE/mcl_core/textures/default_mycelium_top.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mods/CORE/mcl_core/textures/default_obsidian.png
Normal file
After Width: | Height: | Size: 980 B |
BIN
mods/CORE/mcl_core/textures/default_paper.png
Normal file
After Width: | Height: | Size: 233 B |