From 1d15ca0c111740a64a349bc8f052985504dbab4d Mon Sep 17 00:00:00 2001 From: JoseDouglas26 Date: Fri, 14 Jun 2024 07:01:03 -0300 Subject: [PATCH] Migration for stone blocks --- mods/ITEMS/REDSTONE/mesecons_button/init.lua | 24 --------- .../REDSTONE/mesecons_pressureplates/init.lua | 28 ---------- mods/ITEMS/mcl_core/nodes_base.lua | 51 ------------------ mods/ITEMS/mcl_deepslate/init.lua | 12 ----- mods/ITEMS/mcl_monster_eggs/init.lua | 10 ---- mods/ITEMS/mcl_stairs/register.lua | 49 ----------------- mods/ITEMS/mcl_walls/register.lua | 4 -- mods/MAPGEN/mcl_biomes/init.lua | 34 ++++++------ mods/MAPGEN/mcl_mapgen_core/init.lua | 4 +- mods/MAPGEN/mcl_mapgen_core/ores.lua | 24 ++++----- mods/MAPGEN/mcl_structures/api.lua | 2 +- mods/MAPGEN/mcl_terrain_features/init.lua | 4 +- mods/MAPGEN/mcl_villages/foundation.lua | 2 +- mods/MAPGEN/mcl_villages/init.lua | 11 ---- mods/blocks/natural/init.lua | 1 + mods/blocks/natural/mod.conf | 2 + mods/blocks/natural/stone.lua | 36 +++++++++++++ textures/default_stone.png | Bin 188 -> 0 bytes textures/mcl_core_andesite.png | Bin 209 -> 0 bytes textures/mcl_core_diorite.png | Bin 191 -> 0 bytes textures/mcl_core_granite.png | Bin 229 -> 0 bytes textures/mcl_core_granite_smooth.png | Bin 260 -> 0 bytes textures/mcl_core_stonebrick_carved.png | Bin 275 -> 0 bytes textures/mcl_core_stonebrick_cracked.png | Bin 223 -> 0 bytes textures/mcl_core_stonebrick_mossy.png | Bin 257 -> 0 bytes textures/mcl_deepslate_tuff.png | Bin 220 -> 0 bytes textures/natural/natural_andesite.png | Bin 0 -> 6541 bytes textures/natural/natural_diorite.png | Bin 0 -> 589 bytes textures/natural/natural_granite.png | Bin 0 -> 7025 bytes textures/natural/natural_stone.png | Bin 0 -> 6347 bytes textures/natural/natural_tuff.png | Bin 0 -> 262 bytes 31 files changed, 74 insertions(+), 224 deletions(-) create mode 100644 mods/blocks/natural/init.lua create mode 100644 mods/blocks/natural/mod.conf create mode 100644 mods/blocks/natural/stone.lua delete mode 100644 textures/default_stone.png delete mode 100644 textures/mcl_core_andesite.png delete mode 100644 textures/mcl_core_diorite.png delete mode 100644 textures/mcl_core_granite.png delete mode 100644 textures/mcl_core_granite_smooth.png delete mode 100644 textures/mcl_core_stonebrick_carved.png delete mode 100644 textures/mcl_core_stonebrick_cracked.png delete mode 100644 textures/mcl_core_stonebrick_mossy.png delete mode 100644 textures/mcl_deepslate_tuff.png create mode 100644 textures/natural/natural_andesite.png create mode 100644 textures/natural/natural_diorite.png create mode 100644 textures/natural/natural_granite.png create mode 100644 textures/natural/natural_stone.png create mode 100644 textures/natural/natural_tuff.png diff --git a/mods/ITEMS/REDSTONE/mesecons_button/init.lua b/mods/ITEMS/REDSTONE/mesecons_button/init.lua index 7a1ffa8e4..c49dcba48 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_button/init.lua @@ -220,30 +220,6 @@ function mesecon.register_button(basename, description, texture, recipeitem, sou end end -mesecon.register_button( - "stone", - S("Stone Button"), - "default_stone.png", - "mcl_core:stone", - mcl_sounds.node_sound_stone_defaults(), - {material_stone=1,handy=1,pickaxey=1}, - 1, - false, - S("A stone button is a redstone component made out of stone which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1 second."), - "mesecons_button_push") - -mesecon.register_button( - "polished_blackstone", - S("Polished Blackstone Button"), - "mcl_blackstone_polished.png", - "mcl_blackstone:blackstone_polished", - mcl_sounds.node_sound_stone_defaults(), - {material_stone=1,handy=1,pickaxey=1}, - 1, - false, - S("A polished blackstone button is a redstone component made out of polished blackstone which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1 second."), - "mesecons_button_push") - local woods = { { "wood", "mcl_core:wood", "default_wood.png", S("Oak Button") }, { "acaciawood", "mcl_core:acaciawood", "default_acacia_wood.png", S("Acacia Button") }, diff --git a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua index 7be072b3d..224722ffd 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua @@ -249,31 +249,3 @@ for w=1, #woods do }) end - -mesecon.register_pressure_plate( - "mesecons_pressureplates:pressure_plate_stone", - S("Stone Pressure Plate"), - {"default_stone.png"}, - {"default_stone.png"}, - "default_stone.png", - nil, - {{"mcl_core:stone", "mcl_core:stone"}}, - mcl_sounds.node_sound_stone_defaults(), - {pickaxey=1, material_stone=1}, - { player = true, mob = true }, - S("A stone pressure plate is a redstone component which supplies its surrounding blocks with redstone power while a player or mob stands on top of it. It is not triggered by anything else.")) - -mesecon.register_pressure_plate( - "mesecons_pressureplates:pressure_plate_polished_blackstone", - S("Polished Blackstone Pressure Plate"), - {"mcl_blackstone_polished.png"}, - {"mcl_blackstone_polished.png"}, - "mcl_blackstone_polished.png", - nil, - {{"mcl_blackstone:blackstone_polished", "mcl_blackstone:blackstone_polished"}}, - mcl_sounds.node_sound_stone_defaults(), - {pickaxey=1, material_stone=1}, - { player = true, mob = true }, - S("A polished blackstone pressure plate is a redstone component which supplies its surrounding blocks with redstone power while a player or mob stands on top of it. It is not triggered by anything else.")) - - diff --git a/mods/ITEMS/mcl_core/nodes_base.lua b/mods/ITEMS/mcl_core/nodes_base.lua index 626966ba8..d474e52a0 100644 --- a/mods/ITEMS/mcl_core/nodes_base.lua +++ b/mods/ITEMS/mcl_core/nodes_base.lua @@ -20,24 +20,6 @@ mcl_core.fortune_drop_ore = { multiply = true, } -minetest.register_node("mcl_core:stone", { - description = S("Stone"), - tiles = {"default_stone.png"}, - is_ground_content = true, - stack_max = 64, - groups = {pickaxey=1, stone=1, building_block=1, material_stone=1}, - drop = "mcl_core:cobble", - sounds = mcl_sounds.node_sound_stone_defaults(), - _mcl_blast_resistance = 6, - _mcl_hardness = 1.5, - _mcl_silk_touch_drop = true, - after_dig_node = function(pos, oldnode, oldmetadata, digger) - if awards and awards.unlock and digger and digger:is_player() then - awards.unlock(digger:get_player_name(), "mcl:stoneAge") - end - end, -}) - minetest.register_node("mcl_core:stone_with_coal", { description = S("Coal Ore"), tiles = {"mcl_core_coal_ore.png"}, @@ -220,39 +202,6 @@ minetest.register_node("mcl_core:stone_with_diamond", { _mcl_fortune_drop = mcl_core.fortune_drop_ore, }) -minetest.register_node("mcl_core:granite", { - description = S("Granite"), - tiles = {"mcl_core_granite.png"}, - is_ground_content = true, - stack_max = 64, - groups = {pickaxey=1, stone=1, building_block=1, material_stone=1}, - sounds = mcl_sounds.node_sound_stone_defaults(), - _mcl_blast_resistance = 6, - _mcl_hardness = 1.5, -}) - -minetest.register_node("mcl_core:andesite", { - description = S("Andesite"), - tiles = {"mcl_core_andesite.png"}, - is_ground_content = true, - stack_max = 64, - groups = {pickaxey=1, stone=1, building_block=1, material_stone=1}, - sounds = mcl_sounds.node_sound_stone_defaults(), - _mcl_blast_resistance = 6, - _mcl_hardness = 1.5, -}) - -minetest.register_node("mcl_core:diorite", { - description = S("Diorite"), - tiles = {"mcl_core_diorite.png"}, - is_ground_content = true, - stack_max = 64, - groups = {pickaxey=1, stone=1, building_block=1, material_stone=1}, - sounds = mcl_sounds.node_sound_stone_defaults(), - _mcl_blast_resistance = 6, - _mcl_hardness = 1.5, -}) - -- Grass Block minetest.register_node("mcl_core:dirt_with_grass", { description = S("Grass Block"), diff --git a/mods/ITEMS/mcl_deepslate/init.lua b/mods/ITEMS/mcl_deepslate/init.lua index 6226ccaa6..2abe9d91f 100644 --- a/mods/ITEMS/mcl_deepslate/init.lua +++ b/mods/ITEMS/mcl_deepslate/init.lua @@ -42,18 +42,6 @@ minetest.register_node("mcl_deepslate:infested_deepslate", { _mcl_blast_resistance = 0.5, }) -minetest.register_node("mcl_deepslate:tuff", { - description = S("Tuff"), - _doc_items_longdesc = S("Tuff is an ornamental rock formed from volcanic ash, occurring in underground blobs below Y=16."), - _doc_items_hidden = false, - tiles = { "mcl_deepslate_tuff.png" }, - groups = { pickaxey = 1, deco_block = 1 }, - sounds = mcl_sounds.node_sound_stone_defaults(), - _mcl_blast_resistance = 6, - _mcl_hardness = 1.5, - _mcl_silk_touch_drop = true, -}) - local function register_deepslate_ore(desc, drop, cooked, pick, xp) local item = desc:lower() local item_string diff --git a/mods/ITEMS/mcl_monster_eggs/init.lua b/mods/ITEMS/mcl_monster_eggs/init.lua index 33bc2c463..0a897f20b 100644 --- a/mods/ITEMS/mcl_monster_eggs/init.lua +++ b/mods/ITEMS/mcl_monster_eggs/init.lua @@ -28,13 +28,3 @@ local function register_block(subname, description, tiles, is_ground_content) _mcl_blast_resistance = 0.5, }) end - --- Register all the monster egg blocks -register_block("stone", S("Infested Stone"), {"default_stone.png"}, true) -register_block("cobble", S("Infested Cobblestone"), {"default_cobble.png"}) -register_block("stonebrick", S("Infested Stone Bricks"), {"building_stone_bricks.png"}) -register_block("stonebrickcracked", S("Infested Cracked Stone Bricks"), {"mcl_core_stonebrick_cracked.png"}) -register_block("stonebrickmossy", S("Infested Mossy Stone Bricks"), {"mcl_core_stonebrick_mossy.png"}) -register_block("stonebrickcarved", S("Infested Chiseled Stone Bricks"), {"mcl_core_stonebrick_carved.png"}) - - diff --git a/mods/ITEMS/mcl_stairs/register.lua b/mods/ITEMS/mcl_stairs/register.lua index b4b142826..934716743 100644 --- a/mods/ITEMS/mcl_stairs/register.lua +++ b/mods/ITEMS/mcl_stairs/register.lua @@ -30,55 +30,6 @@ for w=1, #woods do wood[5]) end - -mcl_stairs.register_slab("stone_rough", "mcl_core:stone", - {pickaxey=1, material_stone=1}, - {"default_stone.png"}, - S("Stone Slab"), - mcl_sounds.node_sound_stone_defaults(), 6, 2, - S("Double Stone Slab")) -mcl_stairs.register_stair("stone_rough", "mcl_core:stone", - {pickaxey=1, material_stone=1}, - {"default_stone.png"}, - S("Stone Stairs"), - mcl_sounds.node_sound_stone_defaults(), 0.8, 0.8) - -mcl_stairs.register_stair("andesite", "mcl_core:andesite", - {pickaxey=1, material_stone=1}, - {"mcl_core_andesite.png"}, - S("Andesite Stairs"), - mcl_sounds.node_sound_stone_defaults(), 0.8, 0.8) -mcl_stairs.register_slab("andesite", "mcl_core:andesite", - {pickaxey=1, material_stone=1}, - {"mcl_core_andesite.png"}, - S("Andesite Slab"), - mcl_sounds.node_sound_stone_defaults(), 6, 2, - S("Double Andesite Slab")) - -mcl_stairs.register_stair("granite", "mcl_core:granite", - {pickaxey=1, material_stone=1}, - {"mcl_core_granite.png"}, - S("Granite Stairs"), - mcl_sounds.node_sound_stone_defaults(), 0.8, 0.8) -mcl_stairs.register_slab("granite", "mcl_core:granite", - {pickaxey=1, material_stone=1}, - {"mcl_core_granite.png"}, - S("Granite Slab"), - mcl_sounds.node_sound_stone_defaults(), 6, 2, - S("Double Granite Slab")) - -mcl_stairs.register_stair("diorite", "mcl_core:diorite", - {pickaxey=1, material_stone=1}, - {"mcl_core_diorite.png"}, - S("Granite Stairs"), - mcl_sounds.node_sound_stone_defaults(), 0.8, 0.8) -mcl_stairs.register_slab("diorite", "mcl_core:diorite", - {pickaxey=1, material_stone=1}, - {"mcl_core_diorite.png"}, - S("Diorite Slab"), - mcl_sounds.node_sound_stone_defaults(), 6, 2, - S("Double Diorite Slab")) - mcl_stairs.register_stair("cobble", "mcl_core:cobble", {pickaxey=1, material_stone=1}, {"default_cobble.png"}, diff --git a/mods/ITEMS/mcl_walls/register.lua b/mods/ITEMS/mcl_walls/register.lua index 65c3e733a..8ff4af0ce 100644 --- a/mods/ITEMS/mcl_walls/register.lua +++ b/mods/ITEMS/mcl_walls/register.lua @@ -2,9 +2,5 @@ local S = minetest.get_translator(minetest.get_current_modname()) mcl_walls.register_wall("mcl_walls:cobble", S("Cobblestone Wall"), "mcl_core:cobble", {"mcl_walls_cobble_wall_top.png", "default_cobble.png", "mcl_walls_cobble_wall_side.png"}) mcl_walls.register_wall("mcl_walls:mossycobble", S("Mossy Cobblestone Wall"), "mcl_core:mossycobble", {"mcl_walls_cobble_mossy_wall_top.png", "default_mossycobble.png", "mcl_walls_cobble_mossy_wall_side.png"}) -mcl_walls.register_wall("mcl_walls:andesite", S("Andesite Wall"), "mcl_core:andesite") -mcl_walls.register_wall("mcl_walls:granite", S("Granite Wall"), "mcl_core:granite") -mcl_walls.register_wall("mcl_walls:diorite", S("Diorite Wall"), "mcl_core:diorite") mcl_walls.register_wall("mcl_walls:sandstone", S("Sandstone Wall"), "mcl_core:sandstone") mcl_walls.register_wall("mcl_walls:redsandstone", S("Red Sandstone Wall"), "mcl_core:redsandstone") - \ No newline at end of file diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index b3b825071..3d116dc30 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -2573,7 +2573,7 @@ end -- Register ores which are limited by biomes. For all mapgens except flat and singlenode. local function register_biome_ores() - local stonelike = {"mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite"} + local stonelike = {"blocks:stone", "blocks:diorite", "blocks:andesite", "blocks:granite"} -- Emeralds minetest.register_ore({ @@ -2603,7 +2603,7 @@ local function register_biome_ores() minetest.register_ore({ ore_type = "scatter", ore = "mcl_monster_eggs:monster_egg_stone", - wherein = "mcl_core:stone", + wherein = "blocks:stone", clust_scarcity = monster_egg_scarcity, clust_num_ores = 3, clust_size = 2, @@ -2846,7 +2846,7 @@ local function register_biomelike_ores() -- For a transition from stone to hardened clay in mesa biomes that is not perfectly flat minetest.register_ore({ ore_type = "stratum", - ore = "mcl_core:stone", + ore = "blocks:stone", wherein = {"group:hardened_clay"}, noise_params = {offset = -6, scale = 2, spread = {x = 25, y = 25, z = 25}, octaves = 1, persist = 0.60}, stratum_thickness = 8, @@ -3033,7 +3033,7 @@ local function register_dimension_ores() ore = "mcl_nether:soul_sand", -- Note: Stone is included only for v6 mapgen support. Netherrack is not generated naturally -- in v6, but instead set with the on_generated function in mcl_mapgen_core. - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 13 * 13 * 13, clust_size = 5, y_min = mcl_vars.mg_nether_min, @@ -3053,7 +3053,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "blob", ore = "mcl_nether:magma", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 8 * 8 * 8, clust_num_ores = 45, clust_size = 6, @@ -3095,7 +3095,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "blob", ore = "mcl_nether:glowstone", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 26 * 26 * 26, clust_size = 5, y_min = mcl_vars.mg_lava_nether_max + 10, @@ -3115,7 +3115,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "sheet", ore = "mcl_core:gravel", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, column_height_min = 1, column_height_max = 1, column_midpoint_factor = 0, @@ -3138,7 +3138,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "scatter", ore = "mcl_nether:quartz_ore", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 850, clust_num_ores = 4, -- MC cluster amount: 4-10 clust_size = 3, @@ -3148,7 +3148,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "scatter", ore = "mcl_nether:quartz_ore", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 1650, clust_num_ores = 8, -- MC cluster amount: 4-10 clust_size = 4, @@ -3161,7 +3161,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "scatter", ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 13500, --rare clust_num_ores = 1, clust_size = 1, @@ -3173,7 +3173,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "scatter", ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 500, clust_num_ores = 1, clust_size = 1, @@ -3185,7 +3185,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "scatter", ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 1000, clust_num_ores = 1, clust_size = 1, @@ -3197,7 +3197,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "scatter", ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 2000, clust_num_ores = 1, clust_size = 1, @@ -3208,7 +3208,7 @@ local function register_dimension_ores() minetest.register_ore({ ore_type = "scatter", ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + wherein = {"mcl_nether:netherrack", "blocks:stone"}, clust_scarcity = 3500, clust_num_ores = 1, clust_size = 1, @@ -3225,7 +3225,7 @@ local function register_dimension_ores() local end_wherein if mg_name == "v6" then - end_wherein = {"air", "mcl_core:stone"} + end_wherein = {"air", "blocks:stone"} else end_wherein = {"air"} end @@ -5552,7 +5552,7 @@ local function register_decorations() -- Mushrooms next to trees minetest.register_decoration({ deco_type = "simple", - place_on = {"group:grass_block_no_snow", "mcl_core:dirt", "mcl_core:podzol", "mcl_core:mycelium", "mcl_core:stone", "mcl_core:andesite", "mcl_core:diorite", "mcl_core:granite"}, + place_on = {"group:grass_block_no_snow", "mcl_core:dirt", "mcl_core:podzol", "mcl_core:mycelium", "blocks:stone", "blocks:andesite", "blocks:diorite", "blocks:granite"}, sidelen = 16, noise_params = { offset = 0, @@ -5572,7 +5572,7 @@ local function register_decorations() -- More mushrooms in Swampland minetest.register_decoration({ deco_type = "simple", - place_on = {"group:grass_block_no_snow", "mcl_core:dirt", "mcl_core:podzol", "mcl_core:mycelium", "mcl_core:stone", "mcl_core:andesite", "mcl_core:diorite", "mcl_core:granite"}, + place_on = {"group:grass_block_no_snow", "mcl_core:dirt", "mcl_core:podzol", "mcl_core:mycelium", "blocks:stone", "blocks:andesite", "blocks:diorite", "blocks:granite"}, sidelen = 16, noise_params = { offset = 0.05, diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index dfea4f3ce..c913aed7a 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -13,7 +13,7 @@ local modpath = minetest.get_modpath(modname) -- minetest.register_alias("mapgen_air", "air") -minetest.register_alias("mapgen_stone", "mcl_core:stone") +minetest.register_alias("mapgen_stone", "blocks: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") @@ -63,7 +63,7 @@ local superflat = mg_name == "flat" and minetest.get_mapgen_setting("mcl_superfl -- Content IDs local c_bedrock = minetest.get_content_id("mcl_core:bedrock") local c_obsidian = minetest.get_content_id("mcl_core:obsidian") -local c_stone = minetest.get_content_id("mcl_core:stone") +local c_stone = minetest.get_content_id("blocks:stone") local c_dirt = minetest.get_content_id("mcl_core:dirt") local c_dirt_with_grass = minetest.get_content_id("mcl_core:dirt_with_grass") local c_dirt_with_grass_snow = minetest.get_content_id("mcl_core:dirt_with_grass_snow") diff --git a/mods/MAPGEN/mcl_mapgen_core/ores.lua b/mods/MAPGEN/mcl_mapgen_core/ores.lua index 3eeaefef8..a8dbf5ee8 100644 --- a/mods/MAPGEN/mcl_mapgen_core/ores.lua +++ b/mods/MAPGEN/mcl_mapgen_core/ores.lua @@ -17,7 +17,7 @@ local mountains = { minetest.register_ore({ ore_type = "blob", ore = "mcl_core:clay", - wherein = {"mcl_core:sand","mcl_core:stone","mcl_core:gravel"}, + wherein = {"mcl_core:sand","blocks:stone","mcl_core:gravel"}, clust_scarcity = 15*15*15, clust_num_ores = 33, clust_size = 5, @@ -36,13 +36,13 @@ minetest.register_ore({ }) -- Diorite, andesite and granite -local specialstones = { "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite" } +local specialstones = { "blocks:diorite", "blocks:andesite", "blocks:granite" } for s=1, #specialstones do local node = specialstones[s] minetest.register_ore({ ore_type = "blob", ore = node, - wherein = {"mcl_core:stone"}, + wherein = {"blocks:stone"}, clust_scarcity = 15*15*15, clust_num_ores = 33, clust_size = 5, @@ -62,7 +62,7 @@ for s=1, #specialstones do minetest.register_ore({ ore_type = "blob", ore = node, - wherein = {"mcl_core:stone"}, + wherein = {"blocks:stone"}, clust_scarcity = 10*10*10, clust_num_ores = 58, clust_size = 7, @@ -81,7 +81,7 @@ for s=1, #specialstones do }) end -local stonelike = {"mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite"} +local stonelike = {"blocks:stone", "blocks:diorite", "blocks:andesite", "blocks:granite"} -- Dirt minetest.register_ore({ @@ -130,8 +130,8 @@ minetest.register_ore({ minetest.register_ore({ ore_type = "blob", - ore = "mcl_deepslate:tuff", - wherein = { "mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite", "mcl_deepslate:deepslate" }, + ore = "blocks:tuff", + wherein = {"blocks:stone", "blocks:diorite", "blocks:andesite", "blocks:granite", "mcl_deepslate:deepslate" }, clust_scarcity = 10*10*10, clust_num_ores = 58, clust_size = 7, @@ -155,7 +155,7 @@ if minetest.settings:get_bool("mcl_generate_deepslate", true) then minetest.register_ore({ ore_type = "blob", ore = "mcl_deepslate:deepslate", - wherein = { "mcl_core:stone" }, + wherein = { "blocks:stone" }, clust_scarcity = 200, clust_num_ores = 100, clust_size = 10, @@ -172,7 +172,7 @@ if minetest.settings:get_bool("mcl_generate_deepslate", true) then flags = "defaults", } }) - + minetest.register_ore({ ore_type = "scatter", ore = "mcl_deepslate:infested_deepslate", @@ -671,13 +671,13 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then }) if minetest.settings:get_bool("mcl_generate_deepslate", true) then - local stonelike = { "mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite" } + local stonelike = { "blocks:stone", "blocks:diorite", "blocks:andesite", "blocks:granite" } local function register_ore_mg(ore, scarcity, num, size, y_min, y_max, biomes) biomes = biomes or "" minetest.register_ore({ ore_type = "scatter", ore = ore, - wherein = { "mcl_deepslate:deepslate", "mcl_deepslate:tuff" }, + wherein = { "mcl_deepslate:deepslate", "blocks:tuff" }, clust_scarcity = scarcity, clust_num_ores = num, clust_size = size, @@ -748,7 +748,7 @@ if not superflat then minetest.register_ore({ ore_type = "scatter", ore = "mcl_core:water_source", - wherein = {"mcl_core:stone", "mcl_core:andesite", "mcl_core:diorite", "mcl_core:granite", "mcl_core:dirt"}, + wherein = {"blocks:stone", "blocks:andesite", "blocks:diorite", "blocks:granite", "mcl_core:dirt"}, clust_scarcity = 9000, clust_num_ores = 1, clust_size = 1, diff --git a/mods/MAPGEN/mcl_structures/api.lua b/mods/MAPGEN/mcl_structures/api.lua index cf47b4e30..bd77bddfa 100644 --- a/mods/MAPGEN/mcl_structures/api.lua +++ b/mods/MAPGEN/mcl_structures/api.lua @@ -190,7 +190,7 @@ local function get_foundation_nodes(ground_p1,ground_p2,pos,sidelen,node_stone) end local function foundation(ground_p1,ground_p2,pos,sidelen) - local node_stone = "mcl_core:stone" + local node_stone = "blocks:stone" local node_filler = "mcl_core:dirt" local node_top = "mcl_core:dirt_with_grass" or minetest.get_node(ground_p1).name local node_dust = nil diff --git a/mods/MAPGEN/mcl_terrain_features/init.lua b/mods/MAPGEN/mcl_terrain_features/init.lua index eab33e78e..188ba1d0d 100644 --- a/mods/MAPGEN/mcl_terrain_features/init.lua +++ b/mods/MAPGEN/mcl_terrain_features/init.lua @@ -66,7 +66,7 @@ local function makelake(pos,size,liquid,placein,border,pr,noair) elseif minetest.get_item_group(minetest.get_node(nn[1]).name,"solid") > 0 then border = minetest.get_node_or_nil(nn[1]).name else - border = "mcl_core:stone" + border = "blocks:stone" end if border == nil or border == "mcl_core:dirt" then border = "mcl_core:dirt_with_grass" end end @@ -185,7 +185,7 @@ mcl_structures.register_structure("lavapool",{ y_max = mcl_vars.mg_overworld_max, y_min = minetest.get_mapgen_setting("water_level"), place_func = function(pos,def,pr) - return makelake(pos,5,"mcl_core:lava_source",{"group:material_stone", "group:sand", "group:dirt"},"mcl_core:stone",pr) + return makelake(pos, 5, "mcl_core:lava_source", {"group:material_stone", "group:sand", "group:dirt"}, "blocks:stone", pr) end }) diff --git a/mods/MAPGEN/mcl_villages/foundation.lua b/mods/MAPGEN/mcl_villages/foundation.lua index e53a4a3ce..cc256b413 100644 --- a/mods/MAPGEN/mcl_villages/foundation.lua +++ b/mods/MAPGEN/mcl_villages/foundation.lua @@ -27,7 +27,7 @@ function settlements.ground(pos, pr, platform_material) -- role model: Wendelste if cnt > 20 then break end if cnt>pr:next(2,4) then if not platform_material then - mat = "mcl_core:stone" + mat = "blocks:stone" end end minetest.swap_node(p2, {name=mat}) diff --git a/mods/MAPGEN/mcl_villages/init.lua b/mods/MAPGEN/mcl_villages/init.lua index 6662f6bd1..62380b9d2 100644 --- a/mods/MAPGEN/mcl_villages/init.lua +++ b/mods/MAPGEN/mcl_villages/init.lua @@ -18,17 +18,6 @@ local villagegen={} -- -- register block for npc spawn -- -minetest.register_node("mcl_villages:stonebrickcarved", { - description = S("Chiseled Stone Village Bricks"), - _doc_items_longdesc = doc.sub.items.temp.build, - tiles = {"mcl_core_stonebrick_carved.png"}, - drop = "mcl_core:stonebrickcarved", - groups = {pickaxey=1, stone=1, stonebrick=1, building_block=1, material_stone=1}, - sounds = mcl_sounds.node_sound_stone_defaults(), - is_ground_content = false, - _mcl_blast_resistance = 6, - _mcl_hardness = 1.5, -}) minetest.register_node("mcl_villages:structblock", {drawtype="airlike",groups = {not_in_creative_inventory=1},}) diff --git a/mods/blocks/natural/init.lua b/mods/blocks/natural/init.lua new file mode 100644 index 000000000..e4096c162 --- /dev/null +++ b/mods/blocks/natural/init.lua @@ -0,0 +1 @@ +voxelibre.load_mod_files() diff --git a/mods/blocks/natural/mod.conf b/mods/blocks/natural/mod.conf new file mode 100644 index 000000000..960f685c3 --- /dev/null +++ b/mods/blocks/natural/mod.conf @@ -0,0 +1,2 @@ +name = natural +depends = mcl_sounds, voxelibre diff --git a/mods/blocks/natural/stone.lua b/mods/blocks/natural/stone.lua new file mode 100644 index 000000000..6c4c3996b --- /dev/null +++ b/mods/blocks/natural/stone.lua @@ -0,0 +1,36 @@ +local blocks = { + ["andesite"] = { + _mcl_blast_resistance = 6, + _mcl_hardness = 1.5, + groups = {natural_blocks = 1, pickaxey = 1, stonecuttable = 1}, + sounds = mcl_sounds.node_sound_stone_defaults() + }, + ["diorite"] = { + _mcl_blast_resistance = 6, + _mcl_hardness = 1.5, + groups = {natural_blocks = 1, pickaxey = 1, stonecuttable = 1}, + sounds = mcl_sounds.node_sound_stone_defaults() + }, + ["granite"] = { + _mcl_blast_resistance = 6, + _mcl_hardness = 1.5, + groups = {natural_blocks = 1, pickaxey = 1, stonecuttable = 1}, + sounds = mcl_sounds.node_sound_stone_defaults() + }, + ["stone"] = { + _mcl_blast_resistance = 6, + _mcl_hardness = 1.5, + groups = {natural_blocks = 1, pickaxey = 1, stonecuttable = 1}, + sounds = mcl_sounds.node_sound_stone_defaults() + }, + ["tuff"] = { + _mcl_blast_resistance = 6, + _mcl_hardness = 1.5, + groups = {natural_blocks = 1, pickaxey = 1, stonecuttable = 1}, + sounds = mcl_sounds.node_sound_stone_defaults() + } +} + +for identifier, definitions in pairs(blocks) do + voxelibre.register_block(identifier, definitions) +end diff --git a/textures/default_stone.png b/textures/default_stone.png deleted file mode 100644 index 9e9145af96711518945a0cf8c0588b05d87cda65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWtt%;PZ>U*1eZu6<=7OBG z?8L-9(R$55*;G###}E!#)`N_^hYfgKF3#V|P*cd+BlN>v4bTdq$pG=Ze3V zL>pzJcx^;`EE7x@rL>(-Q{ffC+Il{Z#oV@{ i-I{B!XYpB=9hSdW%$I!cy!s}fg$$mqelF{r5}E*d2SHo_ diff --git a/textures/mcl_core_andesite.png b/textures/mcl_core_andesite.png deleted file mode 100644 index cdb1fa690a31f8ea9ae231858ff97283aa183676..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`7fV&dH35i>_&@&P+>g z?`w+=4L%Z@@&Kry+|$J|q=J$4;6}bC1A&Hz`(;x1UEVSOE%y|*vMa}K8dyx8_2FOt zgYS(`S>2jHNSVi*#gz4%I$f&Ra%=8Mj@+)kKO9yYl1+Cew;o8~4Ay(PGDucuf8`0z z`6bVmf* diff --git a/textures/mcl_core_diorite.png b/textures/mcl_core_diorite.png deleted file mode 100644 index 554299612b43b79e394db33ff26080bc2c5901b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWU9n{0{(XBlZCKaU(lBkx z{Bj5^1ru o@XZH~6_e(Dt&3Q({L3H4TtVT7d->Z|0_|k*boFyt=akR{0PQSFrvLx| diff --git a/textures/mcl_core_granite.png b/textures/mcl_core_granite.png deleted file mode 100644 index 23c65f368da798b1db05a50b586a4df4629ea9bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a?M#WDS6e(GJ1ILltfwk{ zO?$=8DNX%Z3H>!?Y7x#efXZ4uT^vI=WLXay@--PSuwJ;Yai+#=cHguYe4Q4D6JjzK zo>6M7V1AxwyY0Q>hCG(_%uN2jBk#s1Ox!%XrODsV?B)zdiT73R4ehJggvC7~%8sqC zICJXu;@%naUEiq)t$1QCrXzUmnrqf0jogSUSr=CY=1;Sozek8ol}}7WGBt5E$*)= z%Z?7~sxRm%FX*XCpW9Z^nG)TSnN*)1-&K^kptELXO;J;JN=t59dri))XC2W%L)tuD z978G?UHe#>4jXW|a`Nx;`1`LtcEM!%+8rJ7p3BVG^4P+bN4jVA)|2kR;vq9%$3(H( z@F<)ploR!K=3J+){=XyLi23up*h%?^4+Ye$@_)Mc7n_MN%jGkls~!Vg#Ng@b=d#Wz Gp$PzK^h?FTayH~}o*cQ??e_M)|Nq~Nyx}Nikzn}4@sn#)+fzaRif6Kwy&0R0ZdXrVa_D2+ z5d-U^+DXnu(~WvF8_Y!&&jx=GyuLirapV7Ej*stO;|-hx>lWge_^ zn1Ax@{ZOql2YNOA%a`uGR4{Lb^jf`bZWsPCJb4(k=l+Mchef{ZiCmGl`|G#=>rRU^ XyRm8cvn`klbR&bOtDnm{r-UW|TrY37 diff --git a/textures/mcl_core_stonebrick_cracked.png b/textures/mcl_core_stonebrick_cracked.png deleted file mode 100644 index b340de08f5f4bf42fe94d2e275dbb5b71e6bb8bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUEyziWiwyU5w2Jg|Z*Qon zD=ExQOti7KZg-Qu094cD>Eal|AjUTUddu`Iu^j;~O^^}(zy z65%fs{_T6eaPuMaKK>(HCwa*)+%`okfaPP}q&E)IZyndM6n{E;A}Y~t`j#_4+0*jY z%Jw|%emFCzN&2%uZQup%+xy-zzO#)IS^lBY*5Ns)%Q30Tp(|dkS;h6NI{WPd`{EZ; V&*FcuNC92L;OXk;vd$@?2>_>LSo#0} diff --git a/textures/mcl_core_stonebrick_mossy.png b/textures/mcl_core_stonebrick_mossy.png deleted file mode 100644 index c0d82c50de7a41d3ad7a6e31efcdc6c61096405b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV)on6~iww_BOpNq%_jR;t zZ>X`HWnGYyR##FenWm#su5V*)E%86F52${Ir;B4q1taUhM)pGvBJ2<1=dvBVXQp*P z*M|E9E8~X-h8~7Yi33`ajESZPw3ZwQGGP@c_#bnhU7+=$il3mk>(1$Gn!O)oPV!+~ z+y9>9_lhqs0=3m*t~UoSv2fDAlAe1{&gDo{w|HM=-Tdk8Z0{!By>Ze1N-p0viN3&M z`IX;zGp;KvKg;Bj`M^qB!SHha(jLZ?YkP0b|HJs>kqY0-*-^$oH!^s-`njxgN@xNA DzF1!_ diff --git a/textures/mcl_deepslate_tuff.png b/textures/mcl_deepslate_tuff.png deleted file mode 100644 index 40c0fc9d9b3e2eed90210dce5dbbaba157abf8c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX^|sRUw$=}Gvx@h1O7M41 z33ktq3#>?uYAQ(Ssm`BzFnA_VWu>Q!V+e;V>%oJ(hYSQ*4%B}1w>lxYydiq-OXZ1u z`68#i8Eurf7O>q)Wt(4abd~ww*Rq_lcHh?p|GBi(omWq|<;=B+$FAU)xX#1ikGDK4WE6uoys?O$Ul1f=D3!9XHq4n%EPh7)`YOc@4{y3o Q0Xl-g)78&qol`;+0382MApigX diff --git a/textures/natural/natural_andesite.png b/textures/natural/natural_andesite.png new file mode 100644 index 0000000000000000000000000000000000000000..19a5df325273cdf472bc65676c7fb5ab646c1612 GIT binary patch literal 6541 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 IX-(X}0OqvB9{>OV literal 0 HcmV?d00001 diff --git a/textures/natural/natural_diorite.png b/textures/natural/natural_diorite.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d10d9effcd438d93169ec0c6e4cbdf9b3acaad GIT binary patch literal 589 zcmV-T0H;LN@>a03mcmSad^jWnpw_Z*Cw|X>DZy zGB7bTIxsdmGBY4CF*-0fIx{kxK=HEx00D_fL_t(IPi2zLO9D|8#hr0TGaW4rtt4s} zC=o6Ce}fjSBHBxfR<=wr!-a#GDN`}dNSRpn(<776<#9c8KhC}9J&ntY^Zafx@P{9x zpyRY73rl9QTNyi%Oo53jh*4m@dw$2c<75BeF!YqFE@Xj1-W+*vpqGJLt=h>0~^aG6$B~Y!)q-N?InJ*`$c00000NkvXXu0mjfywvP{ literal 0 HcmV?d00001 diff --git a/textures/natural/natural_granite.png b/textures/natural/natural_granite.png new file mode 100644 index 0000000000000000000000000000000000000000..25881c4706d4c38acbe8fe2577a4d2ad1fa614da GIT binary patch literal 7025 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 M07*qoM6N<$f&vF^=l}o! literal 0 HcmV?d00001