Merge pull request 'Add deepslate, copper and raw_ores by NO11' (#2141) from deepslate-copper-rawores into master
Reviewed-on: MineClone2/MineClone2#2141 Reviewed-by: AFCMS <afcm.contact@gmail.com>
|
@ -0,0 +1,7 @@
|
|||
# MineClone2 Copper
|
||||
|
||||
### by NO11
|
||||
|
||||
Adds copper ore, blocks and items.
|
||||
|
||||
![screenshot](./screenshot.png)
|
|
@ -0,0 +1,76 @@
|
|||
minetest.register_craft({
|
||||
output = "mcl_copper:block_raw",
|
||||
recipe = {
|
||||
{ "mcl_copper:raw_copper", "mcl_copper:raw_copper", "mcl_copper:raw_copper" },
|
||||
{ "mcl_copper:raw_copper", "mcl_copper:raw_copper", "mcl_copper:raw_copper" },
|
||||
{ "mcl_copper:raw_copper", "mcl_copper:raw_copper", "mcl_copper:raw_copper" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_copper:block",
|
||||
recipe = {
|
||||
{ "mcl_copper:copper_ingot", "mcl_copper:copper_ingot" },
|
||||
{ "mcl_copper:copper_ingot", "mcl_copper:copper_ingot" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_copper:block_cut 4",
|
||||
recipe = {
|
||||
{ "mcl_copper:block", "mcl_copper:block" },
|
||||
{ "mcl_copper:block", "mcl_copper:block" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_copper:block_exposed_cut 4",
|
||||
recipe = {
|
||||
{ "mcl_copper:block_exposed", "mcl_copper:block_exposed" },
|
||||
{ "mcl_copper:block_exposed", "mcl_copper:block_exposed" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_copper:block_oxidized_cut 4",
|
||||
recipe = {
|
||||
{ "mcl_copper:block_oxidized", "mcl_copper:block_oxidized" },
|
||||
{ "mcl_copper:block_oxidized", "mcl_copper:block_oxidized" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_copper:mcl_copper:block_weathered_cut 4",
|
||||
recipe = {
|
||||
{ "mcl_copper:block_weathered", "mcl_copper:block_weathered" },
|
||||
{ "mcl_copper:block_weathered", "mcl_copper:block_weathered" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_copper:copper_ingot 4",
|
||||
recipe = {
|
||||
{ "mcl_copper:block" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_copper:raw_copper 9",
|
||||
recipe = {
|
||||
{ "mcl_copper:block_raw" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_copper:copper_ingot",
|
||||
recipe = "mcl_copper:raw_copper",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_copper:copper_ingot",
|
||||
recipe = "mcl_copper:stone_with_copper",
|
||||
cooktime = 10,
|
||||
})
|
|
@ -0,0 +1,181 @@
|
|||
--local deepslate_mod = minetest.get_modpath("mcl_deepslate")
|
||||
|
||||
local function register_oxidation_abm(abm_name, node_name, oxidized_variant)
|
||||
minetest.register_abm({
|
||||
label = abm_name,
|
||||
nodenames = {node_name},
|
||||
interval = 500,
|
||||
chance = 3,
|
||||
action = function(pos, node)
|
||||
minetest.swap_node(pos, {name = oxidized_variant, param2 = node.param2})
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
--[[
|
||||
local stairs = {
|
||||
{"stair", "exposed", "_inner", "cut_inner"},
|
||||
{"stair", "weathered", "_inner", "exposed_cut_inner"},
|
||||
{"stair", "exposed", "_outer", "cut_outer"},
|
||||
{"stair", "weathered", "_outer", "exposed_cut_outer"},
|
||||
{"stair", "oxidized", "_outer", "weathered_cut_outer"},
|
||||
{"stair", "oxidized", "_inner", "weathered_cut_inner"},
|
||||
{"slab", "exposed", "","cut"},
|
||||
{"slab", "oxidized", "","weathered_cut"},
|
||||
{"slab", "weathered", "","exposed_cut"},
|
||||
{"slab", "exposed", "_top","cut_top"},
|
||||
{"slab", "oxidized", "_top", "weathered_cut_top"},
|
||||
{"slab", "weathered", "_top","exposed_cut_top"},
|
||||
{"slab", "exposed", "_double","cut_double"},
|
||||
{"slab", "oxidized", "_double","weathered_cut_double"},
|
||||
{"slab", "weathered", "_double","exposed_cut_double"},
|
||||
{"stair", "exposed", "","cut"},
|
||||
{"stair", "oxidized", "", "weathered_cut"},
|
||||
{"stair", "weathered", "", "exposed_cut"},
|
||||
}]]
|
||||
|
||||
--[[
|
||||
local function anti_oxidation_particles(pointed_thing)
|
||||
local pos = pointed_thing.under
|
||||
minetest.add_particlespawner({
|
||||
amount = 8,
|
||||
time = 1,
|
||||
minpos = {x = pos.x - 1, y = pos.y - 1, z = pos.z - 1},
|
||||
maxpos = {x = pos.x + 1, y = pos.y + 1, z = pos.z + 1},
|
||||
minvel = {x = 0, y = 0, z = 0},
|
||||
maxvel = {x = 0, y = 0, z = 0},
|
||||
minacc = {x = 0, y = 0, z = 0},
|
||||
maxacc = {x = 0, y = 0, z = 0},
|
||||
minexptime = 0.5,
|
||||
maxexptime = 1,
|
||||
minsize = 1,
|
||||
maxsize = 2.5,
|
||||
collisiondetection = false,
|
||||
vertical = false,
|
||||
texture = "mcl_copper_anti_oxidation_particle.png",
|
||||
glow = 5,
|
||||
})
|
||||
end
|
||||
|
||||
local function add_wear(placer, itemstack)
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
local tool = itemstack:get_name()
|
||||
local wear = mcl_autogroup.get_wear(tool, "axey")
|
||||
itemstack:add_wear(wear)
|
||||
end
|
||||
end
|
||||
|
||||
local function anti_oxidation(itemstack, placer, pointed_thing)
|
||||
if pointed_thing.type ~= "node" then return end
|
||||
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
local noddef = minetest.registered_nodes[minetest.get_node(pointed_thing.under).name]
|
||||
|
||||
if not placer:get_player_control().sneak and noddef.on_rightclick then
|
||||
return minetest.item_place(itemstack, placer, pointed_thing)
|
||||
end
|
||||
|
||||
if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then
|
||||
minetest.record_protection_violation(pointed_thing.under, placer:get_player_name())
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if noddef._mcl_stripped_variant == nil then
|
||||
for _, c in pairs(stairs) do
|
||||
if noddef.name == "mcl_stairs:"..c[1].."_copper_"..c[2].."_cut"..c[3] then
|
||||
minetest.swap_node(pointed_thing.under, {name="mcl_stairs:"..c[1].."_copper_"..c[4], param2=node.param2})
|
||||
anti_oxidation_particles(pointed_thing)
|
||||
add_wear(placer, itemstack)
|
||||
end
|
||||
end
|
||||
if noddef._mcl_anti_oxidation_variant ~= nil then
|
||||
minetest.swap_node(pointed_thing.under, {name=noddef._mcl_anti_oxidation_variant, param2=node.param2})
|
||||
anti_oxidation_particles(pointed_thing)
|
||||
add_wear(placer, itemstack)
|
||||
end
|
||||
elseif noddef._mcl_stripped_variant ~= nil then
|
||||
minetest.swap_node(pointed_thing.under, {name=noddef._mcl_stripped_variant, param2=node.param2})
|
||||
add_wear(placer, itemstack)
|
||||
else
|
||||
return itemstack
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local function register_axe_override(axe_name)
|
||||
minetest.override_item("mcl_tools:axe_"..axe_name, {
|
||||
on_place = anti_oxidation,
|
||||
})
|
||||
end]]
|
||||
|
||||
--[[ Commented out for now because there the discussion how to handle this is ongoing
|
||||
local stonelike = {"mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite"}
|
||||
if not deepslate_mod then
|
||||
if minetest.settings:get_bool("mcl_generate_ores", true) then
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_copper:stone_with_copper",
|
||||
wherein = stonelike,
|
||||
clust_scarcity = 830,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 3,
|
||||
y_min = mcl_vars.mg_overworld_min,
|
||||
y_max = mcl_worlds.layer_to_y(39),
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_copper:stone_with_copper",
|
||||
wherein = stonelike,
|
||||
clust_scarcity = 1660,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 2,
|
||||
y_min = mcl_worlds.layer_to_y(40),
|
||||
y_max = mcl_worlds.layer_to_y(63),
|
||||
})
|
||||
end
|
||||
end
|
||||
--]]
|
||||
local block_oxidation = {
|
||||
{"", "_exposed"},
|
||||
{"_cut", "_exposed_cut"},
|
||||
{"_exposed", "_weathered"},
|
||||
{"_exposed_cut", "_weathered_cut"},
|
||||
{"_weathered", "_oxidized"},
|
||||
{"_weathered_cut", "_oxidized_cut"}
|
||||
}
|
||||
|
||||
local stair_oxidation = {
|
||||
{"slab", "cut", "exposed_cut"},
|
||||
{"slab", "exposed_cut", "weathered_cut"},
|
||||
{"slab", "weathered_cut", "oxidized_cut"},
|
||||
{"slab", "cut_top", "exposed_cut_top"},
|
||||
{"slab", "exposed_cut_top", "weathered_cut_top"},
|
||||
{"slab", "weathered_cut_top", "oxidized_cut_double"},
|
||||
{"slab", "cut_double", "exposed_cut_double"},
|
||||
{"slab", "exposed_cut_double", "weathered_cut_double"},
|
||||
{"slab", "weathered_cut_double", "oxidized_cut_double"},
|
||||
{"stair", "cut", "exposed_cut"},
|
||||
{"stair", "exposed_cut", "weathered_cut"},
|
||||
{"stair", "weathered_cut", "oxidized_cut"},
|
||||
{"stair", "cut_inner", "exposed_cut_inner"},
|
||||
{"stair", "exposed_cut_inner", "weathered_cut_inner"},
|
||||
{"stair", "weathered_cut_inner", "oxidized_cut_inner"},
|
||||
{"stair", "cut_outer", "exposed_cut_outer"},
|
||||
{"stair", "exposed_cut_outer", "weathered_cut_outer"},
|
||||
{"stair", "weathered_cut_outer", "oxidized_cut_outer"}
|
||||
}
|
||||
|
||||
for _, b in pairs(block_oxidation) do
|
||||
register_oxidation_abm("Copper oxidation", "mcl_copper:block"..b[1], "mcl_copper:block"..b[2])
|
||||
end
|
||||
|
||||
for _, s in pairs(stair_oxidation) do
|
||||
register_oxidation_abm("Copper oxidation", "mcl_stairs:"..s[1].."_copper_"..s[2], "mcl_stairs:"..s[1].."_copper_"..s[3])
|
||||
end
|
||||
|
||||
--local axes = {"wood", "stone", "iron", "gold", "diamond"}
|
||||
--[[
|
||||
for _, axe in pairs(axes) do
|
||||
register_axe_override(axe)
|
||||
end
|
||||
]]
|
|
@ -0,0 +1,6 @@
|
|||
local path = minetest.get_modpath("mcl_copper")
|
||||
|
||||
dofile(path .. "/nodes.lua")
|
||||
dofile(path .. "/items.lua")
|
||||
dofile(path .. "/crafting.lua")
|
||||
dofile(path .. "/functions.lua")
|
|
@ -0,0 +1,15 @@
|
|||
local S = minetest.get_translator("mcl_copper")
|
||||
|
||||
minetest.register_craftitem("mcl_copper:copper_ingot", {
|
||||
description = S("Copper Ingot"),
|
||||
_doc_items_longdesc = S("Molten Raw Copper. It is used to craft blocks."),
|
||||
inventory_image = "mcl_copper_ingot.png",
|
||||
groups = { craftitem = 1 },
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mcl_copper:raw_copper", {
|
||||
description = S("Raw Copper"),
|
||||
_doc_items_longdesc = S("Raw Copper. Mine a Copper Ore to get it."),
|
||||
inventory_image = "mcl_copper_raw.png",
|
||||
groups = { craftitem = 1 },
|
||||
})
|
|
@ -0,0 +1,37 @@
|
|||
# textdomain: mcl_copper
|
||||
A block of copper is mostly a decorative block.=Ein Kupferblock wird meistens als dekorativer Block verwendet.
|
||||
A block used for compact raw copper storage.=Ein Block für die kompakte Lagerung von Rohkupfer.
|
||||
Block of Copper=Kupferblock
|
||||
Block of Raw Copper=Rohkupferblock
|
||||
Copper Ingot=Kupfer Barren
|
||||
Copper Ore=Kupfererz
|
||||
Cut copper is a decorative block.=Ein Geschnittener Kupferblock ist ein dekorativer Block.
|
||||
Cut Copper=Geschnittener Kupferblock
|
||||
Double Slab of Cut Copper=Doppelte Geschnittene Kupferstufe
|
||||
Double Slab of Exposed Cut Copper=Doppelte Angelaufene Geschnittene Kupferstufe
|
||||
Double Slab of Oxidized Cut Copper=Doppelte Oxidierte Geschnittene Kupferstufe
|
||||
Double Slab of Weathered Cut Copper=Doppelte Verwitterte Geschnittene Kupferstufe
|
||||
Exposed copper is a decorative block.=Ein Angelaufener Kupferblock ist ein dekorativer Block.
|
||||
Exposed Copper=Angelaufener Kupferblock
|
||||
Exposed cut copper is a decorative block.=Ein Angelaufener geschnittener Kupferblock ist ein dekorativer Block.
|
||||
Exposed Cut Copper=Angelaufener geschnittener Kupferblock
|
||||
Molten Raw Copper. It is used to craft blocks.=Geschmolzenes Rohkupfer. Es wird verwendet, um Blöcke herzustellen.
|
||||
Oxidized copper is a decorative block.=Ein Oxidierter Kupferblockist ist ein dekorativer Block.
|
||||
Oxidized Copper=Oxidierter Kupferblock
|
||||
Oxidized cut copper is a decorative block.=Ein Oxidierter geschnittener Kupferblock ist ein dekorativer Block.
|
||||
Oxidized Cut Copper=Oxidierter geschnittener Kupferblock
|
||||
Raw Copper. Mine a Copper Ore to get it.=Bauen sie ein Kupfererz ab, um es zu erhalten.
|
||||
Raw Copper=Rohkupfer
|
||||
Slab of Cut Copper=Geschnittene Kupferstufe
|
||||
Slab of Exposed Cut Copper=Angelaufene Geschnittene Kupferstufe
|
||||
Slab of Oxidized Cut Copper=Oxidierte Geschnittene Kupferstufe
|
||||
Slab of Weathered Cut Copper=Verwitterte Geschnittene Kupferstufe
|
||||
Some copper contained in stone, it is pretty common and can be found below sea level.=Stein, in dem etwas Kupfer enthalten ist. Es ist ziemlich häufig und kann unter dem Meeresspiegel gefunden werden.
|
||||
Stairs of Cut Copper=Geschnittene Kupfertreppe
|
||||
Stairs of Exposed Cut Copper=Angelaufene Geschnittene Kupfertreppe
|
||||
Stairs of Oxidized Cut Copper=Oxidierte Geschnittene Kupfertreppe
|
||||
Stairs of Weathered Cut Copper=Verwitterte Geschnittene Kupfertreppe
|
||||
Weathered copper is a decorative block.=Ein Verwitterter Kupferblock ist ein dekorativer Block.
|
||||
Weathered Copper=Verwitterter Kupferblock
|
||||
Weathered cut copper is a decorative block.=Ein Verwitterter geschnittener Kupferblock ist ein dekorativer Block.
|
||||
Weathered Cut Copper=Verwitterter geschnittener Kupferblock
|
|
@ -0,0 +1,37 @@
|
|||
# textdomain: mcl_copper
|
||||
A block of copper is mostly a decorative block.=
|
||||
A block used for compact raw copper storage.=
|
||||
Block of Copper=
|
||||
Block of Raw Copper=
|
||||
Copper Ingot=
|
||||
Copper Ore=
|
||||
Cut copper is a decorative block.=
|
||||
Cut Copper=
|
||||
Double Slab of Cut Copper=
|
||||
Double Slab of Exposed Cut Copper=
|
||||
Double Slab of Oxidized Cut Copper=
|
||||
Double Slab of Weathered Cut Copper=
|
||||
Exposed copper is a decorative block.=
|
||||
Exposed Copper=
|
||||
Exposed cut copper is a decorative block.=
|
||||
Exposed Cut Copper=
|
||||
Molten Raw Copper. It is used to craft blocks.=
|
||||
Oxidized copper is a decorative block.=
|
||||
Oxidized Copper=
|
||||
Oxidized cut copper is a decorative block.=
|
||||
Oxidized Cut Copper=
|
||||
Raw Copper. Mine a Copper Ore to get it.=
|
||||
Raw Copper=
|
||||
Slab of Cut Copper=
|
||||
Slab of Exposed Cut Copper=
|
||||
Slab of Oxidized Cut Copper=
|
||||
Slab of Weathered Cut Copper=
|
||||
Some copper contained in stone, it is pretty common and can be found below sea level.=
|
||||
Stairs of Cut Copper=
|
||||
Stairs of Exposed Cut Copper=
|
||||
Stairs of Oxidized Cut Copper=
|
||||
Stairs of Weathered Cut Copper=
|
||||
Weathered copper is a decorative block.=
|
||||
Weathered Copper=
|
||||
Weathered cut copper is a decorative block.=
|
||||
Weathered Cut Copper=
|
|
@ -0,0 +1,4 @@
|
|||
name = mcl_copper
|
||||
author = NO11
|
||||
depends = mcl_core, mcl_sounds, mcl_stairs
|
||||
description = Adds Copper Ore, blocks and items.
|
|
@ -0,0 +1,177 @@
|
|||
local S = minetest.get_translator("mcl_copper")
|
||||
|
||||
minetest.register_node("mcl_copper:stone_with_copper", {
|
||||
description = S("Copper Ore"),
|
||||
_doc_items_longdesc = S("Some copper contained in stone, it is pretty common and can be found below sea level."),
|
||||
tiles = {"default_stone.png^mcl_copper_ore.png"},
|
||||
is_ground_content = true,
|
||||
groups = {pickaxey = 3, building_block = 1, material_stone = 1},
|
||||
drop = "mcl_copper:raw_copper",
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
_mcl_silk_touch_drop = true,
|
||||
_mcl_fortune_drop = mcl_core.fortune_drop_ore,
|
||||
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block_raw", {
|
||||
description = S("Block of Raw Copper"),
|
||||
_doc_items_longdesc = S("A block used for compact raw copper storage."),
|
||||
tiles = {"mcl_copper_block_raw.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block", {
|
||||
description = S("Block of Copper"),
|
||||
_doc_items_longdesc = S("A block of copper is mostly a decorative block."),
|
||||
tiles = {"mcl_copper_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block_exposed", {
|
||||
description = S("Exposed Copper"),
|
||||
_doc_items_longdesc = S("Exposed copper is a decorative block."),
|
||||
tiles = {"mcl_copper_exposed.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
_mcl_anti_oxidation_varient = "mcl_copper:block",
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block_oxidized", {
|
||||
description = S("Oxidized Copper"),
|
||||
_doc_items_longdesc = S("Oxidized copper is a decorative block."),
|
||||
tiles = {"mcl_copper_oxidized.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
_mcl_anti_oxidation_varient = "mcl_copper:block_weathered",
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block_weathered", {
|
||||
description = S("Weathered Copper"),
|
||||
_doc_items_longdesc = S("Weathered copper is a decorative block."),
|
||||
tiles = {"mcl_copper_weathered.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
_mcl_anti_oxidation_varient = "mcl_copper:block_exposed",
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block_cut", {
|
||||
description = S("Cut Copper"),
|
||||
_doc_items_longdesc = S("Cut copper is a decorative block."),
|
||||
tiles = {"mcl_copper_block_cut.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block_exposed_cut", {
|
||||
description = S("Exposed Cut Copper"),
|
||||
_doc_items_longdesc = S("Exposed cut copper is a decorative block."),
|
||||
tiles = {"mcl_copper_exposed_cut.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
_mcl_anti_oxidation_varient = "mcl_copper:block_cut",
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block_oxidized_cut", {
|
||||
description = S("Oxidized Cut Copper"),
|
||||
_doc_items_longdesc = S("Oxidized cut copper is a decorative block."),
|
||||
tiles = {"mcl_copper_oxidized_cut.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
_mcl_anti_oxidation_varient = "mcl_copper:block_weathered_cut",
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_copper:block_weathered_cut", {
|
||||
description = S("Weathered Cut Copper"),
|
||||
_doc_items_longdesc = S("Weathered cut copper is a decorative block."),
|
||||
tiles = {"mcl_copper_weathered_cut.png"},
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey = 2, building_block = 1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
_mcl_anti_oxidation_varient = "mcl_copper:block_exposed_cut",
|
||||
})
|
||||
|
||||
mcl_stairs.register_slab("copper_cut", "mcl_copper:block_cut",
|
||||
{pickaxey = 2},
|
||||
{"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"},
|
||||
S("Slab of Cut Copper"),
|
||||
nil, nil, nil,
|
||||
S("Double Slab of Cut Copper"))
|
||||
|
||||
mcl_stairs.register_slab("copper_exposed_cut", "mcl_copper:block_exposed_cut",
|
||||
{pickaxey = 2},
|
||||
{"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"},
|
||||
S("Slab of Exposed Cut Copper"),
|
||||
nil, nil, nil,
|
||||
S("Double Slab of Exposed Cut Copper"))
|
||||
|
||||
mcl_stairs.register_slab("copper_oxidized_cut", "mcl_copper:block_oxidized_cut",
|
||||
{pickaxey = 2},
|
||||
{"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"},
|
||||
S("Slab of Oxidized Cut Copper"),
|
||||
nil, nil, nil,
|
||||
S("Double Slab of Oxidized Cut Copper"))
|
||||
|
||||
mcl_stairs.register_slab("copper_weathered_cut", "mcl_copper:block_weathered_cut",
|
||||
{pickaxey = 2},
|
||||
{"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"},
|
||||
S("Slab of Weathered Cut Copper"),
|
||||
nil, nil, nil,
|
||||
S("Double Slab of Weathered Cut Copper"))
|
||||
|
||||
mcl_stairs.register_stair("copper_cut", "mcl_copper:block_cut",
|
||||
{pickaxey = 2},
|
||||
{"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"},
|
||||
S("Stairs of Cut Copper"),
|
||||
nil, 6, nil,
|
||||
"woodlike")
|
||||
|
||||
mcl_stairs.register_stair("copper_exposed_cut", "mcl_copper:block_exposed_cut",
|
||||
{pickaxey = 2},
|
||||
{"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"},
|
||||
S("Stairs of Exposed Cut Copper"),
|
||||
nil, 6, nil,
|
||||
"woodlike")
|
||||
|
||||
mcl_stairs.register_stair("copper_oxidized_cut", "mcl_copper:block_oxidized_cut",
|
||||
{pickaxey = 2},
|
||||
{"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"},
|
||||
S("Stairs of Oxidized Cut Copper"),
|
||||
nil, 6, nil,
|
||||
"woodlike")
|
||||
|
||||
mcl_stairs.register_stair("copper_weathered_cut", "mcl_copper:block_weathered_cut",
|
||||
{pickaxey = 2},
|
||||
{"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"},
|
||||
S("Stairs of Weathered Cut Copper"),
|
||||
nil, 6, nil,
|
||||
"woodlike")
|
After Width: | Height: | Size: 215 KiB |
After Width: | Height: | Size: 206 B |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 7.5 KiB |
|
@ -0,0 +1,15 @@
|
|||
# Mineclone2 New Ores and Deepslate
|
||||
by NO11
|
||||
|
||||
This mod adds Deepslate to the Minetest game Mineclone2, which Minecraft adds in version 1.17.
|
||||
Find new ores or build something from the 30 new blocks! Deepslate is generated directly above the lava layer in overworld.
|
||||
|
||||
Important: You need my "Mineclone2 Raw Ores" mod for this mod to work!
|
||||
All other dependencies are automatically in the mineclone2 game.
|
||||
Optionally use "Mineclone2 Copper" to get the deepslate copper ore as well.
|
||||
|
||||
|
||||
You can find all craft recipes for deepslate blocks here: https://minecraft.fandom.com/wiki/Deepslate_(disambiguation)
|
||||
(just click on the respective block)
|
||||
|
||||
Textures are from Pixel Perfection!
|
|
@ -0,0 +1,440 @@
|
|||
local modname = minetest.get_current_modname()
|
||||
local S = minetest.get_translator(modname)
|
||||
|
||||
--local layer_max = mcl_worlds.layer_to_y(16)
|
||||
--local layer_min = mcl_vars.mg_overworld_min
|
||||
|
||||
local copper_mod = minetest.get_modpath("mcl_copper")
|
||||
|
||||
local cobble = "mcl_deepslate:deepslate_cobbled"
|
||||
local stick = "mcl_core:stick"
|
||||
|
||||
--[[
|
||||
local mountains = {
|
||||
"ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean", "ExtremeHills_deep_ocean", "ExtremeHills_underground",
|
||||
"ExtremeHills+", "ExtremeHills+_ocean", "ExtremeHills+_deep_ocean", "ExtremeHills+_underground",
|
||||
"ExtremeHillsM", "ExtremeHillsM_ocean", "ExtremeHillsM_deep_ocean", "ExtremeHillsM_underground",
|
||||
}
|
||||
]]
|
||||
|
||||
minetest.register_node("mcl_deepslate:deepslate", {
|
||||
description = S("Deepslate"),
|
||||
_doc_items_longdesc = S("Deepslate is a stone type found deep underground in the Overworld that functions similar to regular stone but is harder than the stone."),
|
||||
_doc_items_hidden = false,
|
||||
tiles = { "mcl_deepslate_top.png", "mcl_deepslate_top.png", "mcl_deepslate.png" },
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = true,
|
||||
on_place = mcl_util.rotate_axis,
|
||||
groups = { pickaxey = 1, stone = 1, building_block = 1, material_stone = 1 },
|
||||
drop = cobble,
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
on_rotate = screwdriver.rotate_3way,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 3,
|
||||
_mcl_silk_touch_drop = true,
|
||||
})
|
||||
|
||||
local function spawn_silverfish(pos, oldnode, oldmetadata, digger)
|
||||
if not minetest.is_creative_enabled("") then
|
||||
minetest.add_entity(pos, "mobs_mc:silverfish")
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_node("mcl_deepslate:infested_deepslate", {
|
||||
description = S("Infested Deepslate"),
|
||||
_doc_items_longdesc = S("An infested block is a block from which a silverfish will pop out when it is broken. It looks identical to its normal counterpart."),
|
||||
_tt_help = S("Hides a silverfish"),
|
||||
tiles = { "mcl_deepslate_top.png", "mcl_deepslate_top.png", "mcl_deepslate.png" },
|
||||
is_ground_content = true,
|
||||
groups = { dig_immediate = 3, spawns_silverfish = 1, deco_block = 1 },
|
||||
drop = "",
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
after_dig_node = spawn_silverfish,
|
||||
_mcl_hardness = 0,
|
||||
_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
|
||||
if item == "lapis lazuli" then
|
||||
item_string = "lapis"
|
||||
else
|
||||
item_string = item
|
||||
end
|
||||
local nodename = "mcl_deepslate:deepslate_with_"..item_string
|
||||
minetest.register_node(nodename, {
|
||||
description = S("Deepslate "..desc.." Ore"),
|
||||
_doc_items_longdesc = S("Deepslate "..item.." ore is a variant of "..item.." ore that can generate in deepslate and tuff blobs."),
|
||||
_doc_items_hidden = false,
|
||||
tiles = { "mcl_deepslate_"..item_string.."_ore.png" },
|
||||
is_ground_content = true,
|
||||
stack_max = 64,
|
||||
groups = { pickaxey = pick, building_block = 1, material_stone = 1, xp = xp },
|
||||
drop = drop,
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 4.5,
|
||||
_mcl_silk_touch_drop = true,
|
||||
_mcl_fortune_drop = mcl_core.fortune_drop_ore,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = cooked,
|
||||
recipe = nodename,
|
||||
cooktime = 10,
|
||||
})
|
||||
end
|
||||
|
||||
local lapis_drops = {
|
||||
max_items = 1, items = {
|
||||
{ items = { "mcl_dye:blue 8" }, rarity = 5 },
|
||||
{ items = { "mcl_dye:blue 7" }, rarity = 5 },
|
||||
{ items = { "mcl_dye:blue 6" }, rarity = 5 },
|
||||
{ items = { "mcl_dye:blue 5" }, rarity = 5 },
|
||||
{ items = { "mcl_dye:blue 4" } }
|
||||
}
|
||||
}
|
||||
|
||||
local deepslate_ores = {
|
||||
{ "Coal", "mcl_core:coal_lump", "mcl_core:coal_lump", 1, 1 },
|
||||
{ "Iron", "mcl_raw_ores:raw_iron", "mcl_core:iron_ingot", 3, 0 },
|
||||
{ "Gold", "mcl_raw_ores:raw_gold", "mcl_core:gold_ingot", 4, 0 },
|
||||
{ "Emerald", "mcl_core:emerald", "mcl_core:emerald", 4, 6 },
|
||||
{ "Diamond", "mcl_core:diamond", "mcl_core:diamond", 4, 4 },
|
||||
{ "Lapis Lazuli", lapis_drops, "mcl_dye:blue", 3, 6 },
|
||||
}
|
||||
|
||||
for _, p in pairs(deepslate_ores) do
|
||||
register_deepslate_ore(p[1], p[2], p[3], p[4], p[5])
|
||||
end
|
||||
|
||||
if copper_mod then
|
||||
register_deepslate_ore("Copper", "mcl_copper:raw_copper", "mcl_copper:copper_ingot", 4, 4)
|
||||
end
|
||||
|
||||
local redstone_timer = 68.28
|
||||
|
||||
local function redstone_ore_activate(pos)
|
||||
minetest.swap_node(pos, { name = "mcl_deepslate:deepslate_with_redstone_lit" })
|
||||
local t = minetest.get_node_timer(pos)
|
||||
t:start(redstone_timer)
|
||||
end
|
||||
|
||||
local function redstone_ore_reactivate(pos)
|
||||
local t = minetest.get_node_timer(pos)
|
||||
t:start(redstone_timer)
|
||||
end
|
||||
|
||||
minetest.register_node("mcl_deepslate:deepslate_with_redstone", {
|
||||
description = S("Deepslate Redstone Ore"),
|
||||
_doc_items_longdesc = S("Deepslate redstone ore is a variant of redstone ore that can generate in deepslate and tuff blobs."),
|
||||
tiles = { "mcl_deepslate_redstone_ore.png" },
|
||||
is_ground_content = true,
|
||||
groups = { pickaxey = 4, building_block = 1, material_stone = 1, xp = 7 },
|
||||
drop = {
|
||||
items = {
|
||||
max_items = 1,
|
||||
{ items = { "mesecons:redstone 4" }, rarity = 2 },
|
||||
{ items = { "mesecons:redstone 5" } },
|
||||
}
|
||||
},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
on_punch = redstone_ore_activate,
|
||||
on_walk_over = redstone_ore_activate,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 4.5,
|
||||
_mcl_silk_touch_drop = true,
|
||||
_mcl_fortune_drop = {
|
||||
discrete_uniform_distribution = true,
|
||||
items = { "mesecons:redstone" },
|
||||
min_count = 4,
|
||||
max_count = 5,
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_deepslate:deepslate_with_redstone_lit", {
|
||||
description = S("Lit Deepslate Redstone Ore"),
|
||||
_doc_items_create_entry = false,
|
||||
tiles = { "mcl_deepslate_redstone_ore.png" },
|
||||
paramtype = "light",
|
||||
light_source = 9,
|
||||
is_ground_content = true,
|
||||
groups = { pickaxey = 4, not_in_creative_inventory = 1, material_stone = 1, xp = 7 },
|
||||
drop = {
|
||||
items = {
|
||||
max_items = 1,
|
||||
{ items = { "mesecons:redstone 4" }, rarity = 2 },
|
||||
{ items = { "mesecons:redstone 5" } },
|
||||
}
|
||||
},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
on_punch = redstone_ore_reactivate,
|
||||
on_walk_over = redstone_ore_reactivate, -- Uses walkover mod
|
||||
on_timer = function(pos, _)
|
||||
minetest.swap_node(pos, { name = "mcl_deepslate:deepslate_with_redstone" })
|
||||
end,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 4.5,
|
||||
_mcl_silk_touch_drop = { "mcl_deepslate:deepslate_with_redstone" },
|
||||
_mcl_fortune_drop = {
|
||||
discrete_uniform_distribution = true,
|
||||
items = { "mesecons:redstone" },
|
||||
min_count = 4,
|
||||
max_count = 5,
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mesecons:redstone",
|
||||
recipe = "mcl_deepslate:deepslate_with_redstone",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
--[[ Commented out for now because there the discussion how to handle this is ongoing
|
||||
minetest.register_ore({
|
||||
ore_type = "blob",
|
||||
ore = "mcl_deepslate:deepslate",
|
||||
wherein = { "mcl_core:stone" },
|
||||
clust_scarcity = 200,
|
||||
clust_num_ores = 100,
|
||||
clust_size = 10,
|
||||
y_min = layer_min,
|
||||
y_max = layer_max,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 1,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 12345,
|
||||
octaves = 3,
|
||||
persist = 0.6,
|
||||
lacunarity = 2,
|
||||
flags = "defaults",
|
||||
}
|
||||
})
|
||||
|
||||
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" },
|
||||
clust_scarcity = 10*10*10,
|
||||
clust_num_ores = 58,
|
||||
clust_size = 7,
|
||||
y_min = layer_min,
|
||||
y_max = layer_max,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 1,
|
||||
spread = {x=250, y=250, z=250},
|
||||
seed = 12345,
|
||||
octaves = 3,
|
||||
persist = 0.6,
|
||||
lacunarity = 2,
|
||||
flags = "defaults",
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_deepslate:infested_deepslate",
|
||||
wherein = "mcl_deepslate:deepslate",
|
||||
clust_scarcity = 26 * 26 * 26,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = layer_min,
|
||||
y_max = layer_max,
|
||||
biomes = mountains,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:water_source",
|
||||
wherein = "mcl_deepslate:deepslate",
|
||||
clust_scarcity = 9000,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = mcl_worlds.layer_to_y(5),
|
||||
y_max = layer_max,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:lava_source",
|
||||
wherein = "mcl_deepslate:deepslate",
|
||||
clust_scarcity = 2000,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = mcl_worlds.layer_to_y(1),
|
||||
y_max = mcl_worlds.layer_to_y(10),
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_core:lava_source",
|
||||
wherein = "mcl_deepslate:deepslate",
|
||||
clust_scarcity = 9000,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = mcl_worlds.layer_to_y(11),
|
||||
y_max = layer_max,
|
||||
})
|
||||
|
||||
|
||||
if minetest.settings:get_bool("mcl_generate_ores", true) then
|
||||
local stonelike = { "mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core: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" },
|
||||
clust_scarcity = scarcity,
|
||||
clust_num_ores = num,
|
||||
clust_size = size,
|
||||
y_min = y_min,
|
||||
y_max = y_max,
|
||||
biomes = biomes,
|
||||
})
|
||||
end
|
||||
local ore_mapgen = {
|
||||
{ "coal", 1575, 5, 3, layer_min, layer_max },
|
||||
{ "coal", 1530, 8, 3, layer_min, layer_max },
|
||||
{ "coal", 1500, 12, 3, layer_min, layer_max },
|
||||
{ "iron", 830, 5, 3, layer_min, layer_max },
|
||||
{ "gold", 4775, 5, 3, layer_min, layer_max },
|
||||
{ "gold", 6560, 7, 3, layer_min, layer_max },
|
||||
{ "diamond", 10000, 4, 3, layer_min, mcl_worlds.layer_to_y(12) },
|
||||
{ "diamond", 5000, 2, 3, layer_min, mcl_worlds.layer_to_y(12) },
|
||||
{ "diamond", 10000, 8, 3, layer_min, mcl_worlds.layer_to_y(12) },
|
||||
{ "diamond", 20000, 1, 1, mcl_worlds.layer_to_y(13), mcl_worlds.layer_to_y(15) },
|
||||
{ "diamond", 20000, 2, 2, mcl_worlds.layer_to_y(13), mcl_worlds.layer_to_y(15) },
|
||||
{ "redstone", 500, 4, 3, layer_min, mcl_worlds.layer_to_y(13) },
|
||||
{ "redstone", 800, 7, 4, layer_min, mcl_worlds.layer_to_y(13) },
|
||||
{ "redstone", 1000, 4, 3, mcl_worlds.layer_to_y(13), mcl_worlds.layer_to_y(15) },
|
||||
{ "redstone", 1600, 7, 4, mcl_worlds.layer_to_y(13), mcl_worlds.layer_to_y(15) },
|
||||
{ "lapis", 10000, 7, 4, mcl_worlds.layer_to_y(14), layer_max },
|
||||
{ "lapis", 12000, 6, 3, mcl_worlds.layer_to_y(10), mcl_worlds.layer_to_y(13) },
|
||||
{ "lapis", 14000, 5, 3, mcl_worlds.layer_to_y(6), mcl_worlds.layer_to_y(9) },
|
||||
{ "lapis", 16000, 4, 3, mcl_worlds.layer_to_y(2), mcl_worlds.layer_to_y(5) },
|
||||
{ "lapis", 18000, 3, 2, mcl_worlds.layer_to_y(0), mcl_worlds.layer_to_y(2) },
|
||||
}
|
||||
for _, o in pairs(ore_mapgen) do
|
||||
register_ore_mg("mcl_deepslate:deepslate_with_"..o[1], o[2], o[3], o[4], o[5], o[6])
|
||||
end
|
||||
if minetest.get_mapgen_setting("mg_name") == "v6" then
|
||||
register_ore_mg("mcl_deepslate:deepslate_with_emerald", 14340, 1, 1, layer_min, layer_max)
|
||||
else
|
||||
register_ore_mg("mcl_deepslate:deepslate_with_emerald", 16384, 1, 1, mcl_worlds.layer_to_y(4), layer_max, mountains)
|
||||
end
|
||||
if copper_mod then
|
||||
register_ore_mg("mcl_deepslate:deepslate_with_copper", 830, 5, 3, layer_min, layer_max)
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_copper:stone_with_copper",
|
||||
wherein = stonelike,
|
||||
clust_scarcity = 830,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 3,
|
||||
y_min = mcl_vars.mg_overworld_min,
|
||||
y_max = mcl_worlds.layer_to_y(39),
|
||||
})
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "mcl_copper:stone_with_copper",
|
||||
wherein = stonelike,
|
||||
clust_scarcity = 1660,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 2,
|
||||
y_min = mcl_worlds.layer_to_y(40),
|
||||
y_max = mcl_worlds.layer_to_y(63),
|
||||
})
|
||||
end
|
||||
end
|
||||
--]]
|
||||
local function register_deepslate_variant(item, desc, longdesc)
|
||||
local texture = desc:lower():gsub("% ", "_")
|
||||
local def = {
|
||||
description = S(desc),
|
||||
_doc_items_longdesc = S(longdesc),
|
||||
_doc_items_hidden = false,
|
||||
tiles = { "mcl_"..texture..".png" },
|
||||
groups = { pickaxey = 1, building_block = 1, material_stone = 1 },
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 3.5,
|
||||
_mcl_silk_touch_drop = true,
|
||||
}
|
||||
if item == "cobbled" then
|
||||
def.groups.cobble = 1
|
||||
end
|
||||
minetest.register_node("mcl_deepslate:deepslate_"..item, def)
|
||||
|
||||
if item == "bricks" or item == "tiles" then
|
||||
def.description = S("Cracked "..desc)
|
||||
def._doc_items_longdesc = S("Cracked "..desc:lower().." are a cracked variant.")
|
||||
def.tiles = { "mcl_cracked_"..texture..".png" }
|
||||
minetest.register_node("mcl_deepslate:deepslate_"..item.."_cracked", def)
|
||||
end
|
||||
if item ~= "chiseled" then
|
||||
mcl_stairs.register_stair_and_slab_simple("deepslate_"..item, "mcl_deepslate:deepslate_"..item, S(desc.." Stairs"), S(desc.." Slab"), S("Double "..desc.." Slab"))
|
||||
mcl_walls.register_wall("mcl_deepslate:deepslate"..item.."wall", S(desc.." Wall"), "mcl_deepslate:deepslate_"..item)
|
||||
end
|
||||
end
|
||||
|
||||
local deepslate_variants = {
|
||||
{ "cobbled", "Cobbled Deepslate", "Cobbled deepslate is a stone variant that functions similar to cobblestone or blackstone." },
|
||||
{ "polished", "Polished Deepslate", "Polished deepslate is the stone-like polished version of deepslate." },
|
||||
{ "bricks", "Deepslate Bricks", "Deepslate bricks are the brick version of deepslate." },
|
||||
{ "tiles", "Deepslate Tiles", "Deepslate tiles are a decorative variant of deepslate." },
|
||||
{ "chiseled", "Chiseled Deepslate", "Chiseled deepslate is the chiseled version of deepslate." },
|
||||
}
|
||||
|
||||
for _, dv in pairs(deepslate_variants) do
|
||||
register_deepslate_variant(dv[1], dv[2], dv[3])
|
||||
end
|
||||
|
||||
for i = 1, 3 do
|
||||
local s = "mcl_deepslate:deepslate_"..deepslate_variants[i][1]
|
||||
minetest.register_craft({
|
||||
output = "mcl_deepslate:deepslate_"..deepslate_variants[i+1][1].." 4",
|
||||
recipe = { { s, s }, { s, s } }
|
||||
})
|
||||
end
|
||||
|
||||
for _, p in pairs({ "bricks", "tiles" }) do
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_deepslate:deepslate_"..p.."_cracked",
|
||||
recipe = "mcl_deepslate:deepslate_"..p,
|
||||
cooktime = 10,
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_deepslate:deepslate",
|
||||
recipe = cobble,
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_deepslate:deepslate_chiseled",
|
||||
recipe = {
|
||||
{ "mcl_stairs:slab_deepslate_cobbled" },
|
||||
{ "mcl_stairs:slab_deepslate_cobbled" },
|
||||
},
|
||||
})
|
|
@ -0,0 +1,53 @@
|
|||
# textdomain: mcl_deepslate
|
||||
An infested block is a block from which a silverfish will pop out when it is broken. It looks identical to its normal counterpart.=Ein befallener Block ist ein Block, aus dem ein Silberfisch herausspringt, wenn er abgebaut wird. Er sieht genauso aus wie sein normales Gegenstück.
|
||||
Chiseled deepslate is the chiseled version of deepslate.=Gemeißelter Tiefenschiefer ist die behauene Version von Tiefenschiefer.
|
||||
Chiseled Deepslate=Gemeißelter Tiefenschiefer
|
||||
Cobbled deepslate is a stone variant that functions similar to cobblestone or blackstone.=Bruchtiefenschiefer funktioniert ähnlich wie Bruchstein, hat jedoch eine längere Abbauzeit.
|
||||
Cobbled Deepslate Slab=Bruchtiefenschieferstufe
|
||||
Cobbled Deepslate Stairs=Bruchtiefenschiefertreppe
|
||||
Cobbled Deepslate Wall=Bruchtiefenschiefermauer
|
||||
Cobbled Deepslate=Bruchtiefenschiefer
|
||||
Cracked Deepslate Bricks=Rissige Tiefenschieferziegel
|
||||
Cracked Deepslate Tiles=Rissige Tiefenschieferfliesen
|
||||
Deepslate bricks are the brick version of deepslate.=Tiefenschieferziegel ist eine Variante des Tiefenschiefers. Er kann als dekorativer Block verwendet werden.
|
||||
Deepslate Bricks Slab=Tiefenschieferziegelstufe
|
||||
Deepslate Bricks Stairs=Tiefenschieferziegeltreppe
|
||||
Deepslate Bricks Wall=Tiefenschieferziegelmauer
|
||||
Deepslate Bricks=Tiefenschieferziegel
|
||||
Deepslate coal ore is a variant of coal ore that can generate in deepslate and tuff blobs.=Tiefenschiefer-Steinkohle ist eine Variante von Steinkohle, die in Tiefenschiefer und Tuff generiert werden kann.
|
||||
Deepslate Coal Ore=Tiefenschiefer-Steinkohle
|
||||
Deepslate copper ore is a variant of copper ore that can generate in deepslate and tuff blobs.=Tiefenschiefer-Kupfererz ist eine Variante von Kupfererz, die in Tiefenschiefer und Tuff generiert werden kann.
|
||||
Deepslate Copper Ore=Tiefenschiefer-Kupfererz
|
||||
Deepslate diamond ore is a variant of diamond ore that can generate in deepslate and tuff blobs.=Tiefenschiefer-Diamanterz ist eine Variante von Diamanterz, die in Tiefenschiefer und Tuff generiert werden kann.
|
||||
Deepslate Diamond Ore=Tiefenschiefer-Diamanterz
|
||||
Deepslate emerald ore is a variant of emerald ore that can generate in deepslate and tuff blobs.=Tiefenschiefer-Smaragderz ist eine Variante von Smaragderz, die in Tiefenschiefer und Tuff generiert werden kann.
|
||||
Deepslate Emerald Ore=Tiefenschiefer-Smaragderz
|
||||
Deepslate gold ore is a variant of gold ore that can generate in deepslate and tuff blobs.=Tiefenschiefer-Golderz ist eine Variante von Golderz, die in Tiefenschiefer und Tuff generiert werden kann.
|
||||
Deepslate Gold Ore=Tiefenschiefer-Golderz
|
||||
Deepslate iron ore is a variant of iron ore that can generate in deepslate and tuff blobs.=Tiefenschiefer-Eisenerz ist eine Variante von Eisenerz, die in Tiefenschiefer und Tuff generiert werden kann.
|
||||
Deepslate Iron Ore=Tiefenschiefer-Eisenerz
|
||||
Deepslate is a stone type found deep underground in the Overworld that functions similar to regular stone but is harder than the stone.=Tiefenschiefer ist eine Gesteinsart. Er kann als dekorativer Block verwendet und in viele Varianten weiterverarbeitet werden.
|
||||
Deepslate Lapis Lazuli Ore=Tiefenschiefer-Lapislazulierz
|
||||
Deepslate lapis ore is a variant of lapis ore that can generate in deepslate and tuff blobs.=Tiefenschiefer-Lapislazulierz ist eine Variante von Lapislazulierz, die in Tiefenschiefer und Tuff generiert werden kann.
|
||||
Deepslate redstone ore is a variant of redstone ore that can generate in deepslate and tuff blobs.=Tiefenschiefer-Redstone-Erz ist eine Variante von Redstone-Erz, die in Tiefenschiefer und Tuff generiert werden kann.
|
||||
Deepslate Redstone Ore=Tiefenschiefer-Redstone-Erz
|
||||
Deepslate tiles are a decorative variant of deepslate.=Tiefenschieferfliesen ist eine Variante des Tiefenschiefers. Der Block kann als dekorativer Block verwendet werden.
|
||||
Deepslate Tiles Slab=Tiefenschieferfliesenstufe
|
||||
Deepslate Tiles Stairs=Tiefenschieferfliesentreppe
|
||||
Deepslate Tiles Wall=Tiefenschieferfliesenmauer
|
||||
Deepslate Tiles=Tiefenschieferfliesen
|
||||
Deepslate=Tiefenschiefer
|
||||
Double Cobbled Deepslate Slab=Doppelte Bruchtiefenschieferstufe
|
||||
Double Deepslate Bricks Slab=Doppelte Tiefenschieferziegelstufe
|
||||
Double Deepslate Tiles Slab=Doppelte Tiefenschieferfliesenstufe
|
||||
Double Polished Deepslate Slab=Doppelte Polierte Tiefenschieferstufe
|
||||
Hides a silverfish=Versteckt einen Silberfisch
|
||||
Infested Deepslate=Befallener Tiefenschiefer
|
||||
Lit Deepslate Redstone Ore=Leuchtendes Tiefschiefer-Redstone-Erz
|
||||
Polished deepslate is the stone-like polished version of deepslate.=Polierter Tiefenschiefer ist eine Variante des Tiefenschiefers. Er kann als dekorativer Block verwendet werden.
|
||||
Polished Deepslate Slab=Polierte Tiefenschieferstufe
|
||||
Polished Deepslate Stairs=Polierte Tiefenschiefertreppe
|
||||
Polished Deepslate Wall=Polierte Tiefenschiefermauer
|
||||
Polished Deepslate=Polierter Tiefenschiefer
|
||||
Tuff=Tuffstein
|
||||
Tuff is an ornamental rock formed from volcanic ash, occurring in underground blobs below Y=16.=Der Tuffstein ist ein grauer, vulkanischer Block.
|
|
@ -0,0 +1,53 @@
|
|||
# textdomain: mcl_deepslate
|
||||
An infested block is a block from which a silverfish will pop out when it is broken. It looks identical to its normal counterpart.=
|
||||
Chiseled deepslate is the chiseled version of deepslate.=
|
||||
Chiseled Deepslate=
|
||||
Cobbled deepslate is a stone variant that functions similar to cobblestone or blackstone.=
|
||||
Cobbled Deepslate Slab=
|
||||
Cobbled Deepslate Stairs=
|
||||
Cobbled Deepslate Wall=
|
||||
Cobbled Deepslate=
|
||||
Cracked Deepslate Bricks=
|
||||
Cracked Deepslate Tiles=
|
||||
Deepslate bricks are the brick version of deepslate.=
|
||||
Deepslate Bricks Slab=
|
||||
Deepslate Bricks Stairs=
|
||||
Deepslate Bricks Wall=
|
||||
Deepslate Bricks=
|
||||
Deepslate coal ore is a variant of coal ore that can generate in deepslate and tuff blobs.=
|
||||
Deepslate Coal Ore=
|
||||
Deepslate copper ore is a variant of copper ore that can generate in deepslate and tuff blobs.=
|
||||
Deepslate Copper Ore=
|
||||
Deepslate diamond ore is a variant of diamond ore that can generate in deepslate and tuff blobs.=
|
||||
Deepslate Diamond Ore=
|
||||
Deepslate emerald ore is a variant of emerald ore that can generate in deepslate and tuff blobs.=
|
||||
Deepslate Emerald Ore=
|
||||
Deepslate gold ore is a variant of gold ore that can generate in deepslate and tuff blobs.=
|
||||
Deepslate Gold Ore=
|
||||
Deepslate iron ore is a variant of iron ore that can generate in deepslate and tuff blobs.=
|
||||
Deepslate Iron Ore=
|
||||
Deepslate is a stone type found deep underground in the Overworld that functions similar to regular stone but is harder than the stone.=
|
||||
Deepslate Lapis Lazuli Ore=
|
||||
Deepslate lapis ore is a variant of lapis ore that can generate in deepslate and tuff blobs.=
|
||||
Deepslate redstone ore is a variant of redstone ore that can generate in deepslate and tuff blobs.=
|
||||
Deepslate Redstone Ore=
|
||||
Deepslate tiles are a decorative variant of deepslate.=
|
||||
Deepslate Tiles Slab=
|
||||
Deepslate Tiles Stairs=
|
||||
Deepslate Tiles Wall=
|
||||
Deepslate Tiles=
|
||||
Deepslate=
|
||||
Double Cobbled Deepslate Slab=
|
||||
Double Deepslate Bricks Slab=
|
||||
Double Deepslate Tiles Slab=
|
||||
Double Polished Deepslate Slab=
|
||||
Hides a silverfish=
|
||||
Infested Deepslate=
|
||||
Lit Deepslate Redstone Ore=
|
||||
Polished deepslate is the stone-like polished version of deepslate.=
|
||||
Polished Deepslate Slab=
|
||||
Polished Deepslate Stairs=
|
||||
Polished Deepslate Wall=
|
||||
Polished Deepslate=
|
||||
Tuff=
|
||||
Tuff is an ornamental rock formed from volcanic ash, occurring in underground blobs below Y=16.=
|
|
@ -0,0 +1,4 @@
|
|||
name = mcl_deepslate
|
||||
author = NO11
|
||||
depends = mcl_raw_ores, mcl_core, mcl_sounds, mcl_dye, mcl_util, screwdriver, mobs_mc, walkover, mcl_walls, mcl_stairs, mcl_brewing, mcl_mobitems, mcl_furnaces, mcl_farming, mcl_worlds
|
||||
optional_depends = mcl_copper
|
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 7.0 KiB |
|
@ -0,0 +1,50 @@
|
|||
local function register_raw_ore(description, n)
|
||||
local ore = description:lower()
|
||||
local n = n or ""
|
||||
local raw_ingot = "mcl_raw_ores:raw_"..ore
|
||||
local texture = "mcl_raw_ores_raw_"..ore
|
||||
|
||||
minetest.register_craftitem(raw_ingot, {
|
||||
description = ("Raw "..description),
|
||||
_doc_items_longdesc = ("Raw "..ore..". Mine a"..n.." "..ore.." ore to get it."),
|
||||
inventory_image = texture..".png",
|
||||
groups = { craftitem = 1 },
|
||||
})
|
||||
|
||||
minetest.register_node(raw_ingot.."_block", {
|
||||
description = ("Block of Raw "..description),
|
||||
_doc_items_longdesc = ("A block of raw "..ore.." is mostly a decorative block but also useful as a compact storage of raw "..ore.."."),
|
||||
tiles = { texture.."_block.png" },
|
||||
is_ground_content = false,
|
||||
groups = { pickaxey = 2, building_block = 1 },
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = raw_ingot.."_block",
|
||||
recipe = {
|
||||
{ raw_ingot, raw_ingot, raw_ingot },
|
||||
{ raw_ingot, raw_ingot, raw_ingot },
|
||||
{ raw_ingot, raw_ingot, raw_ingot },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "mcl_core:"..ore.."_ingot",
|
||||
recipe = raw_ingot,
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = raw_ingot.." 9",
|
||||
recipe = {
|
||||
{ raw_ingot.."_block" },
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
register_raw_ore("Iron", "n")
|
||||
register_raw_ore("Gold")
|
|
@ -0,0 +1,4 @@
|
|||
name = mcl_raw_ores
|
||||
author = NO11
|
||||
depends = mcl_core
|
||||
description = Adds raw iron and raw gold.
|
After Width: | Height: | Size: 599 B |
After Width: | Height: | Size: 945 B |
After Width: | Height: | Size: 694 B |
After Width: | Height: | Size: 923 B |