This commit is contained in:
JoseDouglas26 2024-05-26 19:07:42 -03:00
commit 82908cfdca
53 changed files with 2368 additions and 911 deletions

View File

@ -3,7 +3,7 @@
## Creator of MineClone
* davedevils
## Creator of MineClone2
## Creator of VoxeLibre
* Wuzzy
## Maintainers
@ -24,6 +24,8 @@
* SmokeyDope
* Faerraven / Michieal
* Codiac
* rudzik8
* teknomunk
## Past Developers
* jordan4ibanez
@ -37,7 +39,6 @@
## Contributors
* RandomLegoBrick
* rudzik8
* Code-Sploit
* aligator
* Rootyjr
@ -129,6 +130,16 @@
* Bakawun
* JoseDouglas26
* Zasco
* PrWalterB
* michaljmalinowski
* nixnoxus
* Potiron
* Tuxilio
* Impulse
* Doods
* SOS-Games
* Bram
* qoheniac
## Music
* Jordach for the jukebox music compilation from Big Freaking Dig

View File

@ -1,7 +1,8 @@
# VoxeLibre
Un jeu non-officiel similaire à Minecraft pour Minetest. Forké depuis Mineclone par davedevils. Développé par de nombreuses personnes. Pas développé ni supporté par Mojang AB.
Un jeu inspiré de Minecraft pour Minetest. Forké depuis Mineclone par davedevils.
Développé par de nombreuses personnes, voir CREDITS.md pour une liste complète.
### Gameplay
### Gameplay
Vous atterissez dans un monde fait entièrement de cubes et généré aléatoirement. Vous pouvez explorer le monde, miner et construire presque n'importe quel bloc pour créer de nouvelles structures. Vous pouvez choisir de jouer en "mode survie" dans lequel vous devez combattre des monstres et la faim et progresser lentement dans différents aspects du jeu, comme l'extraction de minerai, l'agriculture, la construction de machines et ainsi de suite. Ou alors vous pouvez jouer en "mode créatif" où vous pouvez construire à peu près n'importe quoi instantanément.
### Résumé du Gameplay
@ -21,7 +22,7 @@ Vous atterissez dans un monde fait entièrement de cubes et généré aléatoire
### Commencer
* **Frappez un arbre** jusqu'à ce qu'il casse et donne du bois
* Placez le **bois dans la grille 2x2** (la "grille de fabrication" de votre menu d'inventaire) et fabriquez 4 planches de bois
* Placer les 4 planches de bois dans la grille 2x2 et **fabriquez un établi**
* Placez les 4 planches de bois dans la grille 2x2 et **fabriquez un établi**
* **Faites un clic droit sur l'établi** (icone livre) pour apprendre toutes les recettes possibles
* **Fabriquez une pioche de bois** pour miner la pierre
* Différents outils minent différentes sortes de blocs. Essayez-les !
@ -30,10 +31,10 @@ Vous atterissez dans un monde fait entièrement de cubes et généré aléatoire
### Agriculture
* Trouvez des graines
* Fabriquez une houe
* Faites un clic droit sur la terre ou des blocs similaires avec la houe pour créer des terres agricoles
* Placer des graines sur des terres agricoles et regardez les pousser
* Faites un clic droit sur la terre ou un bloc similaire avec la houe pour créer des terres agricoles
* Placez des graines sur des terres agricoles et regardez les pousser
* Récoltez les plantes une fois matûres
* Les terres agricoles proche de l'eau deviennent humides et accélèrent la croissance
* Les terres agricoles proches de l'eau deviennent humides et accélèrent la croissance
### Four
* Fabriquez un four
@ -46,7 +47,7 @@ Vous atterissez dans un monde fait entièrement de cubes et généré aléatoire
Plus d'aide à propos du jeu, des blocs, objets et plus encore peuvent être trouvés dans le jeu. Vous pouvez accéder à l'aide depuis le menu inventaire.
### Objets spéciaux
Les objets suivants sont intéressants pour le mode Créatif et pour les constructeurs de cartes d'aventure. Ils ne peuvent être obtenus dans le jeu ou dans l'inventaire créatif.
Les objets suivants sont intéressants pour le mode Créatif et pour les constructeurs de cartes d'aventure. Ils ne peuvent être obtenus dans le jeu ou dans l'inventaire créatif.
* Barrière : `mcl_core:barrier`
@ -58,29 +59,31 @@ Il n'y a pas de support de VoxeLibre dans les versions développement de Minetes
Pour installer VoxeLibre (si ce n'est pas déjà fait), déplacez ce dossier dans le dossier “games” de Minetest. Consultez l'aide de Minetest pour en apprendre plus.
## Liens utiles
## Liens utiles
Le dépôt de VoxeLibre est hébergé sur Mesehub. Pour contribuer ou signaler des problèmes, allez là-bas.
* Mesehub : <https://git.minetest.land/MineClone2/MineClone2>
* Mesehub : <https://git.minetest.land/VoxeLibre/VoxeLibre>
* Discord : <https://discord.gg/xE4z8EEpDC>
* YouTube : <https://www.youtube.com/channel/UClI_YcsXMF3KNeJtoBfnk9A>
* IRC : <https://web.libera.chat/#mineclone2>
* Matrix : <https://app.element.io/#/room/#mc2:matrix.org>
* Reddit : <https://www.reddit.com/r/MineClone2/>
* Forums Minetest : <https://forum.minetest.net/viewtopic.php?f=50&t=16407>
* ContentDB : <https://content.minetest.net/packages/wuzzy/mineclone2/>
* OpenCollective : <https://opencollective.com/mineclone2>
* Mastodon : <https://fosstodon.org/@VoxeLibre>
* Lemmy : <https://lemm.ee/c/voxelibre>
* Espace Matrix : <https://app.element.io/#/room/#voxelibre:matrix.org>
* Forums Minetest : <https://forum.minetest.net/viewtopic.php?f=50&t=16407>
* Reddit : <https://www.reddit.com/r/VoxeLibre/>
* IRC (peu utilisé) : <https://web.libera.chat/#mineclone2>
## Objectif
* Essentiellement, créer un clone de Minecraft stable, moddable, libre et gratuit basé sur le moteur de jeu Minetest avec des fonctionnalités abouties, utilisable à la fois en mode solo et multijoueur. Actuellement, beaucoup des fonctionnalités de **Minecraft Java Edition** sont déjà implémentées et leur amélioration est prioritaire sur les nouvelles demandes.
* Avec une priorité moindre, implémenter les fonctionnalités des versions **Minecraft + OptiFine** (OptiFine autant que supporté par le moteur Minetest). Cela signifie que les fonctionnalités présentes dans les versions listées sont priorisées.
* Dans l'idéal, créer une expérience performante qui tourne bien sur des ordinateurs à basse performance. Malheureusement, en raison des mécanismes de Minecraft et des limitations du moteur Minetest ainsi que de la petite taille de la communauté de joueurs sur des ordinateurs à basses performances, les optimisations sont difficiles à explorer.
* Créer un jeu stable, performant, moddable et libre inspiré de Minecraft en utilisant le moteur de jeu Minetest, utilisable à la fois en mode solo et multijoueur.
* Actuellement, un grand nombre de fonctionnalités sont déjà implémentées.
L'amélioration des fonctionnalités existantes est toujours la bienvenue.
## Statut de complétion
Ce jeu est actuellement au stade **beta**.
Il est jouable mais incomplet en fonctionnalités.
La rétro-compatibilité n'est pas entièrement garantie, mettre votre monde à jour peut causer de petits bugs.
Si vous voulez utiliser la version de développement de VoxeLibre en production, la branche master est habituellement relativement stable. Les branches de test fusionnent souvent des pull requests expérimentales et doivent être considérées comme moins stable.
Si vous voulez utiliser la version de développement de VoxeLibre en production, la branche master est habituellement relativement stable.
Les principales fonctionnalités suivantes sont disponibles :
@ -108,12 +111,12 @@ Les principales fonctionnalités suivantes sont disponibles :
* Horloge
* Boussole
* Éponge
* Bloc de slime
* Bloc de slime
* Petites plantes et pousses
* Teintures
* Bannières
* Blocs de décoration : verre, verre teinté, vitres, barres de fer, terre cuites (et couleurs), têtes et plus
* Cadres d'objets
* Cadres d'objets
* Juke-boxes
* Lits
* Menu d'inventaire
@ -122,7 +125,7 @@ Les principales fonctionnalités suivantes sont disponibles :
* Livres pour écrire
* Commandes
* Villages
* L'End
* L'End
* et plus !
Les fonctionnalités suivantes sont incomplètes :

View File

@ -1,4 +1,6 @@
# MineClone 2
This file is severely out of date. If you can help updating this translation, please reach out to us (contact in README.md - the English version).
# VoxeLibre
一個非官方的Minetest遊戲遊玩方式和Minecraft類似。由davedevils從MineClone分拆。
由許多人開發。並非由Mojang Studios開發。<!-- "Mojang AB"'s Name changed at 2020/05, main README should change too -->

View File

@ -1,4 +1,4 @@
title = VoxeLibre
description = A survival sandbox game. Survive, gather, hunt, build, explore, and do much more.
disallowed_mapgens = v6
version=0.87.0-SNAPSHOT
version=0.88.0-SNAPSHOT

View File

@ -94,5 +94,16 @@ function minetest.check_single_for_falling(pos)
end
end
if get_item_group(node.name, "supported_node_facedir") ~= 0 then
local dir = facedir_to_dir(node.param2)
if dir then
local def = registered_nodes[get_node(vector.add(pos, dir)).name]
if def and def.drawtype == "airlike" then
drop_attached_node(pos)
return true
end
end
end
return false
end

View File

@ -1,3 +1,15 @@
mcl_oxidize = {}
function mcl_oxidize.oxidize(pos, node, node_def)
local node = node or minetest.get_node(pos)
local node_def = node_def or registered_nodes[node.name]
node.name = node_def._mcl_oxidized_variant
if not node.name then return end
minetest.swap_node(pos, node)
end
local oxidize = mcl_oxidize
minetest.register_abm({
label = "Oxidatize Nodes",
nodenames = { "group:oxidizable" },
@ -6,7 +18,9 @@ minetest.register_abm({
action = function(pos, node)
local def = minetest.registered_nodes[node.name]
if def and def._mcl_oxidized_variant then
minetest.set_node(pos, { name = def._mcl_oxidized_variant, param2 = node.param2 })
local hook = def._on_oxidize
if hook then hook(pos, node, def) end
oxidize(pos, node, def)
end
end,
})

View File

@ -6,7 +6,6 @@ local math = math
mcl_dripping = {}
---@param pos Vector
---@param liquid string
---@param sound SimpleSoundSpec

View File

@ -32,7 +32,7 @@ local function get_texture(self)
end
end
end
if not texture then
if not texture or texture == "" then
texture = "vl_stalker_default.png"
end
texture = "([combine:16x24:0,0=" .. texture .. ":0,16=" .. texture .. texture_suff

View File

@ -105,8 +105,6 @@ function mcl_raids.promote_to_raidcaptain(c) -- object
if cmi_cause and cmi_cause.type == "punch" and cmi_cause.puncher:is_player() then
awards.unlock(cmi_cause.puncher:get_player_name(), "mcl:voluntary_exile")
local lv = mcl_potions.get_effect_level(cmi_cause.puncher, "bad_omen")
if not lv then lv = 0
else lv = lv.factor end
lv = math.max(5,lv + 1)
mcl_potions.give_effect_by_level("bad_omen", cmi_cause.puncher, lv, 6000)
end
@ -311,7 +309,7 @@ mcl_events.register_event("raid",{
self.health_max = 1
self.health = 0
local lv = mcl_potions.get_effect_level(minetest.get_player_by_name(self.player), "bad_omen")
if lv and lv.factor and lv.factor > 1 then self.max_stage = 6 end
if lv > 1 then self.max_stage = 6 end
end,
cond_progress = function(self)
if not is_player_near(self) then return false end

View File

@ -26,6 +26,8 @@ return {
"SmokeyDope",
"Faerraven / Michieal",
"Codiac",
"rudzik8",
"teknomunk",
}},
{S("Past Developers"), 0xF84355, {
"jordan4ibanez",
@ -39,7 +41,6 @@ return {
}},
{S("Contributors"), 0x52FF00, {
"RandomLegoBrick",
"rudzik8",
"Code-Sploit",
"aligator",
"Rootyjr",
@ -131,6 +132,16 @@ return {
"Bakawun",
"JoseDouglas26",
"Zasco",
"PrWalterB",
"michaljmalinowski",
"nixnoxus",
"Potiron",
"Tuxilio",
"Impulse",
"Doods",
"SOS-Games",
"Bram",
"qoheniac",
}},
{S("Music"), 0xA60014, {
"Jordach for the jukebox music compilation from Big Freaking Dig",

View File

@ -207,10 +207,12 @@ function mesecon.register_button(basename, description, texture, recipeitem, sou
_mcl_hardness = 0.5,
})
minetest.register_craft({
output = "mesecons_button:button_"..basename.."_off",
recipe = {{ recipeitem }},
})
if recipeitem then
minetest.register_craft({
output = "mesecons_button:button_"..basename.."_off",
recipe = {{ recipeitem }},
})
end
if minetest.get_modpath("mesecons_mvps") then
mesecon.register_mvps_unsticky("mesecons_button:button_"..basename.."_off")

View File

@ -208,11 +208,13 @@ function mesecon.register_pressure_plate(basename, description, textures_off, te
_doc_items_create_entry = false,
})
minetest.register_craft({
output = basename .. "_off",
recipe = recipe,
})
if recipe then
minetest.register_craft({
output = basename .. "_off",
recipe = recipe,
})
end
if minetest.get_modpath("doc") then
doc.add_entry_alias("nodes", basename .. "_off", "nodes", basename .. "_on")
end

View File

@ -1,7 +1,5 @@
# VoxeLibre Copper
### by NO11
### by NO11, JoseDouglas26 and teknomunk
Adds copper ore, blocks and items.
![screenshot](./screenshot.png)

View File

@ -1,3 +1,213 @@
--- This function determines the format of the crafting recipe in the crafting grid based on the
--- block name. Each block must have its own crafting format for the given material(s).
--- Some materials in the recipe can be pre-defined (e.g. copper bulbs have fixed materials
--- (blaze stick and redstone) and materials that vary according to the material parameter).
--- material can be nil if the recipe uses copper ingots.
---@param name string
---@param material string|nil
---@return table
local function get_shape(name, material)
if not material then
material = "mcl_copper:copper_ingot"
end
if name == "cut" then -- Shape of cut copper blocks.
return {
{material, material},
{material, material}
}
elseif name == "grate" then -- Shape of copper grates.
return {
{"", material, ""},
{material, "", material},
{"", material, ""}
}
elseif name == "chiseled" then -- Shape of chiseled copper blocks.
return {
{material},
{material},
}
elseif name == "bulb_off" then -- Shape of copper bulbs (with fixed materials).
return {
{"", material, ""},
{material, "mcl_mobitems:blaze_rod", material},
{"", "mesecons:redstone", ""}
}
elseif name == "mcl_copper:door" then
return {
{material, material},
{material, material},
{material, material}
}
elseif name:find("trapdoor") then
return {
{material, material},
{material, material}
}
elseif name:find("button_copper_off") then
return {material}
elseif name:find("pressure_plate_copper_off") then
return {
{material, material}
}
elseif name:find("bars_copper_flat") then
return {
{material, material, material},
{material, material, material}
}
else
return {}
end
end
--- This function is responsible for recording the recipes for each block (including oxidized variants).
--- If the recipe's main material is the Block of Copper, the material parameter must be passed as "block".
--- If the main material is another block (as in the case of the chiseled copper block), the material
--- parameter must be a table containing 8 itemstrings of the blocks used in the recipes.
--- Special fixed materials (such as copper bulbs) must be registered to the crafting grid format in the
--- get_shape function.
---@param name string
---@param material string|table
---@param amount integer
local function register_variants_recipes(name, material, amount)
local names
local materials = {}
-- Handling the inconsistency of the original itemstrings.
if name ~= "cut" then
names = {
name, "waxed_"..name,
name.."_exposed", "waxed_"..name.."_exposed",
name.."_weathered", "waxed_"..name.."_weathered",
name.."_oxidized", "waxed_"..name.."_oxidized"
}
else
names = {
"block_"..name, "waxed_block_"..name,
"block_exposed_"..name, "waxed_block_exposed_"..name,
"block_weathered_"..name, "waxed_block_weathered_"..name,
"block_oxidized_"..name, "waxed_block_oxidized_"..name
}
end
-- Checking the type of material.
if type(material) == "string" then
materials = {
"mcl_copper:"..material, "mcl_copper:waxed_"..material,
"mcl_copper:"..material.."_exposed", "mcl_copper:waxed_"..material.."_exposed",
"mcl_copper:"..material.."_weathered", "mcl_copper:waxed_"..material.."_weathered",
"mcl_copper:"..material.."_oxidized", "mcl_copper:waxed_"..material.."_oxidized"
}
else
materials = material
end
-- Registering each recipe according to the materials blocks made from copper and its oxidized and
-- waxed variations.
for i = 1, 8 do
minetest.register_craft({
output = "mcl_copper:"..names[i].." "..tostring(amount),
recipe = get_shape(name, materials[i])
})
end
end
-- Using the function above to record the recipes for cut copper blocks, copper grates and copper bulbs.
register_variants_recipes("cut", "block", 4)
register_variants_recipes("grate", "block", 4)
register_variants_recipes("bulb_off", "block", 4)
--- Function used to register recipes that uses copper ingots as material.
---@param name string
---@param amount integer
local function register_ingot_recipes(name, amount)
local type = "shaped"
if name:find("button") then
type = "shapeless"
end
minetest.register_craft({
output = name.." "..tostring(amount),
recipe = get_shape(name, nil),
type = type
})
end
-- Blocks made with copper ingots.
local made_of_ingots = {
{"xpanes:bars_copper_flat", 16},
{"mesecons_button:button_copper_off", 1},
{"mcl_copper:door", 3},
{"mcl_copper:pressure_plate_copper_off", 1},
{"mcl_copper:trapdoor", 2}
}
-- Registering crafting recipes for blocks made with copper ingot.
for i = 1, #made_of_ingots do
register_ingot_recipes(made_of_ingots[i][1], made_of_ingots[i][2])
end
-- Chiseled copper uses slabs as the main material.
local chiseled_materials = {
"mcl_stairs:slab_copper_cut",
"mcl_stairs:slab_waxed_copper_cut",
"mcl_stairs:slab_copper_exposed_cut",
"mcl_stairs:slab_waxed_copper_exposed_cut",
"mcl_stairs:slab_copper_weathered_cut",
"mcl_stairs:slab_waxed_copper_weathered_cut",
"mcl_stairs:slab_copper_oxidized_cut",
"mcl_stairs:slab_waxed_copper_oxidized_cut"
}
-- Registering recipes for chiseled copper blocks using the slabs.
register_variants_recipes("chiseled", chiseled_materials, 1)
-- List of blocks that can be waxed.
local waxable_blocks = {
"block",
"block_cut",
"grate",
"chiseled",
"bulb_off",
"block_exposed",
"block_exposed_cut",
"grate_exposed",
"chiseled_exposed",
"bulb_off_exposed",
"block_weathered",
"block_weathered_cut",
"grate_weathered",
"chiseled_weathered",
"bulb_off_weathered",
"block_oxidized",
"block_oxidized_cut",
"grate_oxidized",
"chiseled_oxidized",
"bulb_off_oxidized"
}
-- Registering the waxing recipes for each block listed above.
for _, w in ipairs(waxable_blocks) do
minetest.register_craft({
output = "mcl_copper:waxed_"..w,
recipe = {
{ "mcl_copper:"..w, "mcl_honey:honeycomb" },
},
})
end
-- List of blocks that can be cutted on stonecutter.
local cuttable_blocks = {
"block",
"waxed_block",
"block_exposed",
"waxed_block_exposed",
"block_weathered",
"waxed_block_weathered",
"block_oxidized",
"waxed_block_oxidized"
}
-- Registering stonecutter recipes using the blocks listed above.
for _, c in ipairs(cuttable_blocks) do
mcl_stonecutter.register_recipe("mcl_copper:"..c, "mcl_copper:"..c.."_cut", 4)
--mcl_stonecutter.register_recipe("mcl_copper:"..c, "mcl_copper:"..c:gsub("block", "grate"), 4)
--mcl_stonecutter.register_recipe("mcl_copper:"..c, "mcl_copper:"..c:gsub("block", "chiseled"), 4)
--mcl_stonecutter.register_recipe("mcl_copper:"..c.."_cut", "mcl_copper:"..c:gsub("block", "chiseled"))
end
-- Registering blocks and items specific recipes.
minetest.register_craft({
output = "mcl_copper:block_raw",
recipe = {
@ -16,55 +226,6 @@ minetest.register_craft({
},
})
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:block_weathered_cut 4",
recipe = {
{ "mcl_copper:block_weathered", "mcl_copper:block_weathered" },
{ "mcl_copper:block_weathered", "mcl_copper:block_weathered" },
},
})
local waxable_blocks = { "block", "block_cut", "block_exposed", "block_exposed_cut", "block_weathered", "block_weathered_cut", "block_oxidized", "block_oxidized_cut" }
for _, w in ipairs(waxable_blocks) do
minetest.register_craft({
output = "mcl_copper:waxed_"..w,
recipe = {
{ "mcl_copper:"..w, "mcl_honey:honeycomb" },
},
})
end
local cuttable_blocks = { "block", "waxed_block", "block_exposed", "waxed_block_exposed", "block_weathered", "waxed_block_weathered", "block_oxidized", "waxed_block_oxidized" }
for _, c in ipairs(cuttable_blocks) do
mcl_stonecutter.register_recipe("mcl_copper:"..c, "mcl_copper:"..c.."_cut", 4)
end
minetest.register_craft({
output = "mcl_copper:copper_ingot 9",
recipe = {

View File

@ -0,0 +1,202 @@
local S = minetest.get_translator("mcl_copper")
-- Copper-related blocks descriptions, indexed by its names and selected by its position on the
-- oxidation chain.
mcl_copper.copper_descs = {
["block"] = {
S("Block of Copper"), S("Waxed Block of Copper"),
S("Exposed Copper"), S("Waxed Exposed Copper"),
S("Weathered Copper"), S("Waxed Weathered Copper"),
S("Oxidized Copper"), S("Waxed Oxidized Copper")
},
["cut"] = {
S("Cut Copper"), S("Waxed Cut Copper"),
S("Exposed Cut Copper"), S("Waxed Exposed Cut Copper"),
S("Weathered Cut Copper"), S("Waxed Weathered Cut Copper"),
S("Oxidized Cut Copper"), S("Waxed Oxidized Cut Copper")
},
["grate"] = {
S("Copper Grate"), S("Waxed Copper Grate"),
S("Exposed Copper Grate"), S("Waxed Exposed Copper Grate"),
S("Weathered Copper Grate"), S("Waxed Weathered Copper Grate"),
S("Oxidized Copper Grate"), S("Waxed Oxidized Copper Grate")
},
["chiseled"] = {
S("Chiseled Copper"), S("Waxed Chiseled Copper"),
S("Exposed Chiseled Copper"), S("Waxed Exposed Chiseled Copper"),
S("Weathered Chiseled Copper"), S("Waxed Weathered Chiseled Copper"),
S("Oxidized Chiseled Copper"), S("Waxed Oxidized Chiseled Copper")
},
["bulb_off"] = {
S("Copper Bulb"), S("Waxed Copper Bulb"),
S("Exposed Copper Bulb"), S("Waxed Exposed Copper Bulb"),
S("Weathered Copper Bulb"), S("Waxed Weathered Copper Bulb"),
S("Oxidized Copper Bulb"), S("Waxed Oxidized Copper Bulb")
},
["bulb_on"] = {
S("Copper Bulb").." "..S("(Lit)"),
S("Waxed Copper Bulb").." "..S("(Lit)"),
S("Exposed Copper Bulb").." "..S("(Lit)"),
S("Waxed Exposed Copper Bulb").." "..S("(Lit)"),
S("Weathered Copper Bulb").." "..S("(Lit)"),
S("Waxed Weathered Copper Bulb").." "..S("(Lit)"),
S("Oxidized Copper Bulb").." "..S("(Lit)"),
S("Waxed Oxidized Copper Bulb").." "..S("(Lit)")
},
["bulb_powered_off"] = {
S("Copper Bulb").." "..S("(Powered)"),
S("Waxed Copper Bulb").." "..S("(Powered)"),
S("Exposed Copper Bulb").." "..S("(Powered)"),
S("Waxed Exposed Copper Bulb").." "..S("(Powered)"),
S("Weathered Copper Bulb").." "..S("(Powered)"),
S("Waxed Weathered Copper Bulb").." "..S("(Powered)"),
S("Oxidized Copper Bulb").." "..S("(Powered)"),
S("Waxed Oxidized Copper Bulb").." "..S("(Powered)")
},
["bulb_powered_on"] = {
S("Copper Bulb").." "..S("(Lit and Powered)"),
S("Waxed Copper Bulb").." "..S("(Lit and Powered)"),
S("Exposed Copper Bulb").." "..S("(Lit and Powered)"),
S("Waxed Exposed Copper Bulb").." "..S("(Lit and Powered)"),
S("Weathered Copper Bulb").." "..S("(Lit and Powered)"),
S("Waxed Weathered Copper Bulb").." "..S("(Lit and Powered)"),
S("Oxidized Copper Bulb").." "..S("(Lit and Powered)"),
S("Waxed Oxidized Copper Bulb").." "..S("(Lit and Powered)")
}
}
-- All longdescs for copper-related blocks. Waxed variants share the same description with its unwaxed
-- variant. Like the descriptions, they are indexed by the block name.
mcl_copper.copper_longdescs = {
["block"] = {
S("A block of copper is mostly a decorative block."),
S("Exposed copper is a decorative block."),
S("Weathered copper is a decorative block."),
S("Oxidized copper is a decorative block.")
},
["cut"] = {
S("Cut copper is a decorative block."),
S("Exposed cut copper is a decorative block."),
S("Weathered cut copper is a decorative block."),
S("Oxidized cut copper is a decorative block.")
},
["grate"] = {
S("Copper grate is a decorative block."),
S("Exposed copper grate is a decorative block."),
S("Weathered copper grate is a decorative block."),
S("Oxidized copper grate is a decorative block.")
},
["chiseled"] = {
S("Chiseled copper is a decorative block."),
S("Exposed chiseled copper is a decorative block."),
S("Weathered chiseled copper is a decorative block."),
S("Oxidized chiseled copper is a decorative block.")
},
["bulb_off"] = {
S("Copper bulb is a decorative block and a light source when lited."),
S("Exposed copper bulb is a decorative block and a light source when lited."),
S("Weathered copper bulb is a decorative block and a light source when lited."),
S("Oxidized copper bulb is a decorative block and a light source when lited.")
},
["bulb_on"] = {
S("Copper bulb is a decorative block and a light source."),
S("Exposed copper bulb is a decorative block and a light source."),
S("Weathered copper bulb is a decorative block and a light source."),
S("Oxidized copper bulb is a decorative block and a light source.")
},
["bulb_powered_off"] = {
S("Copper bulb is a decorative block and a light source when lited."),
S("Exposed copper bulb is a decorative block and a light source when lited."),
S("Weathered copper bulb is a decorative block and a light source when lited."),
S("Oxidized copper bulb is a decorative block and a light source when lited.")
},
["bulb_powered_on"] = {
S("Copper bulb is a decorative block and a light source."),
S("Exposed copper bulb is a decorative block and a light source."),
S("Weathered copper bulb is a decorative block and a light source."),
S("Oxidized copper bulb is a decorative block and a light source.")
}
}
-- Subnames for copper stairs and slabs. For now, just indexed for the cut copper blocks.
mcl_copper.stairs_subnames = {
["cut"] = {
"copper_cut", "waxed_copper_cut",
"copper_exposed_cut", "waxed_copper_exposed_cut",
"copper_weathered_cut", "waxed_copper_weathered_cut",
"copper_oxidized_cut", "waxed_copper_oxidized_cut"
}
}
-- Descriptions for the mcl_stairs blocks. Indexed by the name of oxidation stage of its material.
mcl_copper.stairs_descs = {
["copper_cut"] = {
S("Slab of Cut Copper"),
S("Double Slab of Cut Copper"),
S("Stairs of Cut Copper"),
},
["waxed_copper_cut"] = {
S("Waxed Slab of Cut Copper"),
S("Waxed Double Slab of Cut Copper"),
S("Waxed Stairs of Cut Copper"),
},
["copper_exposed_cut"] = {
S("Slab of Exposed Cut Copper"),
S("Double Slab of Exposed Cut Copper"),
S("Stairs of Exposed Cut Copper")
},
["waxed_copper_exposed_cut"] = {
S("Waxed Slab of Exposed Cut Copper"),
S("Waxed Double Slab of Exposed Cut Copper"),
S("Waxed Stairs of Exposed Cut Copper")
},
["copper_weathered_cut"] = {
S("Slab of Weathered Cut Copper"),
S("Double Slab of Weathered Cut Copper"),
S("Stairs of Weathered Cut Copper")
},
["waxed_copper_weathered_cut"] = {
S("Waxed Slab of Weathered Cut Copper"),
S("Waxed Double Slab of Weathered Cut Copper"),
S("Waxed Stairs of Weathered Cut Copper")
},
["copper_oxidized_cut"] = {
S("Slab of Oxidized Cut Copper"),
S("Double Slab of Oxidized Cut Copper"),
S("Stairs of Oxidized Cut Copper")
},
["waxed_copper_oxidized_cut"] = {
S("Waxed Slab of Oxidized Cut Copper"),
S("Waxed Double Slab of Oxidized Cut Copper"),
S("Waxed Stairs of Oxidized Cut Copper")
}
}
-- Description for the mcl_doors blocks. Selected by its position on the inner table.
-- {door_description, trapdoor_description}.
mcl_copper.doors_descs = {
{S("Copper Door"), S("Copper Trapdoor")},
{S("Waxed Copper Door"), S("Waxed Copper Trapdoor")},
{S("Exposed Copper Door"), S("Exposed Copper Trapdoor")},
{S("Waxed Exposed Copper Door"), S("Waxed Exposed Copper Trapdoor")},
{S("Weathered Copper Door"), S("Weathered Copper Trapdoor")},
{S("Waxed Weathered Copper Door"), S("Waxed Weathered Copper Trapdoor")},
{S("Oxidized Copper Door"), S("Oxidized Copper Trapdoor")},
{S("Waxed Oxidized Copper Door"), S("Waxed Oxidized Copper Trapdoor")}
}
-- Description for copper buttons, selected by its position on the table.
mcl_copper.button_descs = {
S("Copper Button"), S("Waxed Copper Button"),
S("Exposed Copper Button"), S("Waxed Exposed Copper Button"),
S("Weathered Copper Button"), S("Waxed Weathered Copper Button"),
S("Oxidized Copper Button"), S("Waxed Oxidized Copper Button")
}
-- Description for copper pressure plates, selected by its position on the table.
mcl_copper.pp_descs = {
S("Copper Pressure Plate"), S("Waxed Copper Pressure Plate"),
S("Exposed Copper Pressure Plate"), S("Waxed Exposed Copper Pressure Plate"),
S("Weathered Copper Pressure Plate"), S("Waxed Weathered Copper Pressure Plate"),
S("Oxidized Copper Pressure Plate"), S("Waxed Oxidized Copper Pressure Plate")
}
-- Description for copper bars, selected by its position on the table.
mcl_copper.bars_descs = {
S("Copper Bars"), S("Waxed Copper Bars"),
S("Exposed Copper Bars"), S("Waxed Exposed Copper Bars"),
S("Weathered Copper Bars"), S("Waxed Weathered Copper Bars"),
S("Oxidized Copper Bars"), S("Waxed Oxidized Copper Bars")
}

View File

@ -1,132 +1,208 @@
local stair_oxidization = {
{ "cut", "exposed_cut" },
{ "cut_inner", "exposed_cut_inner" },
{ "cut_outer", "exposed_cut_outer" },
{ "exposed_cut", "weathered_cut" },
{ "exposed_cut_inner", "weathered_cut_inner" },
{ "exposed_cut_outer", "weathered_cut_outer" },
{ "weathered_cut", "oxidized_cut" },
{ "weathered_cut_inner", "oxidized_cut_inner" },
{ "weathered_cut_outer", "oxidized_cut_outer" }
mcl_copper.subnodes = {
["bars_copper"] = {"", "flat"},
["button_copper"] = {"off"},
["door"] = {"b_1", "b_2", "b_3", "b_4", "t_1", "t_2", "t_3", "t_4"},
["pressure_plate_copper"] = {"off"},
["slab_copper"] = {"", "double", "top"},
["stair_copper"] = {"", "inner", "outer"},
["trapdoor"] = {"", "open"}
}
local slab_oxidization = {
{ "cut", "exposed_cut" },
{ "cut_top", "exposed_cut_top" },
{ "cut_double", "exposed_cut_double" },
{ "exposed_cut", "weathered_cut" },
{ "exposed_cut_top", "weathered_cut_top" },
{ "exposed_cut_double", "weathered_cut_double" },
{ "weathered_cut", "oxidized_cut" },
{ "weathered_cut_top", "oxidized_cut_top" },
{ "weathered_cut_double", "oxidized_cut_double" },
}
-- Functions used to strip wax from the other half of the door
local function strip(pos, node, node_def)
local node = node or minetest.get_node(pos)
local node_def = node_def or minetest.registered_nodes[node.name]
if not node_def then return end
if not node_def._mcl_stripped_variant then return end
local def
local def_variant_oxidized
local def_variant_waxed
local def_variant_scraped
-- set up oxidized and waxed variants.
for i = 1, #stair_oxidization do
-- stairs
def = "mcl_stairs:stair_copper_" .. stair_oxidization[i][1]
def_variant_oxidized = "mcl_stairs:stair_copper_" .. stair_oxidization[i][2]
minetest.override_item(def, { _mcl_oxidized_variant = def_variant_oxidized })
def_variant_waxed = "mcl_stairs:stair_waxed_copper_" .. stair_oxidization[i][1]
minetest.override_item(def, { _mcl_waxed_variant = def_variant_waxed })
-- slabs
def = "mcl_stairs:slab_copper_" .. slab_oxidization[i][1]
def_variant_oxidized = "mcl_stairs:slab_copper_" .. slab_oxidization[i][2]
minetest.override_item(def, { _mcl_oxidized_variant = def_variant_oxidized })
def_variant_waxed = "mcl_stairs:slab_waxed_copper_" .. slab_oxidization[i][1]
minetest.override_item(def, { _mcl_waxed_variant = def_variant_waxed })
node.name = node_def._mcl_stripped_variant
minetest.swap_node(pos, node)
end
local function strip_door_top(pos, node, node_def)
strip(vector.offset(pos, 0, 1, 0))
end
local function strip_door_bottom(pos, node, node_def)
strip(vector.offset(pos, 0, -1, 0))
end
-- Set up scraped variants.
for i = 1, #stair_oxidization do
-- does both stairs and slabs.
if i > 3 then
def = "mcl_stairs:stair_copper_" .. stair_oxidization[i][1]
def_variant_scraped = "mcl_stairs:stair_copper_" .. stair_oxidization[i - 3][1]
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
-- Functions used to wax the other half of the door
local function wax(pos, node, node_def)
local node = node or minetest.get_node(pos)
local node_def = node_def or minetest.registered_nodes[node.name]
if not node_def then return end
if not node_def._mcl_waxed_variant then return end
def = "mcl_stairs:slab_copper_" .. slab_oxidization[i][1]
def_variant_scraped = "mcl_stairs:slab_copper_" .. slab_oxidization[i - 3][1]
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
node.name = node_def._mcl_waxed_variant
minetest.swap_node(pos, node)
end
local function wax_door_top(pos, node, node_def)
wax(vector.offset(pos, 0, 1, 0))
end
local function wax_door_bottom(pos, node, node_def)
wax(vector.offset(pos, 0, -1, 0))
end
-- Functions used to oxidize the other half of the door.
local function oxidize_door_top(pos, node, node_def)
mcl_oxidize.oxidize(vector.offset(pos, 0, 1, 0))
end
local function oxidize_door_bottom(pos, node, node_def)
mcl_oxidize.oxidize(vector.offset(pos, 0, 1, 0))
end
--- Function used to define the oxidized and stripped variants of copper-related blocks that
--- are registered by APIs external to mcl_copper (stairs, slabs, doors and trapdoors). "mod_name"
--- should be the name of the mod the blocks belong to. "subname" must be the subname of the block that
--- will receive the changes (see registered subnames below). "decay_chain" should be a table containing
--- the list of subnames of the block oxidation chain (without the waxed variants subnames).
---@param mod_name string
---@param subname string
---@param decay_chain table
local function register_oxidation_and_scraping(mod_name, subname, decay_chain)
local item, oxidized_item
-- Handling special decay chain names.
if mod_name == "mcl_stairs" then
for i = 1, 4 do
decay_chain[i] = decay_chain[i].."_cut"
end
end
if i > 6 then
def = "mcl_stairs:stair_copper_" .. stair_oxidization[i][2]
def_variant_scraped = "mcl_stairs:stair_copper_" .. stair_oxidization[i][1]
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
def = "mcl_stairs:slab_copper_" .. slab_oxidization[i][2]
def_variant_scraped = "mcl_stairs:slab_copper_" .. slab_oxidization[i][1]
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
for i = 1, #decay_chain - 1 do
item = mod_name..":"..subname..decay_chain[i]
oxidized_item = mod_name..":"..subname..decay_chain[i + 1]
for _, subnode in pairs(mcl_copper.subnodes[subname]) do
if subnode == "" then
minetest.override_item(item, {_mcl_oxidized_variant = oxidized_item})
minetest.override_item(oxidized_item, {_mcl_stripped_variant = item})
else
if subname == "door" then
if subnode:find("b_") then
minetest.override_item(item.."_"..subnode,
{
_mcl_oxidized_variant = oxidized_item.."_"..subnode,
_mcl_on_oxidize = oxidize_door_top,
}
)
minetest.override_item(oxidized_item.."_"..subnode,
{
_mcl_stripped_variant = item.."_"..subnode,
_mcl_on_strip = strip_door_top,
}
)
else
minetest.override_item(item.."_"..subnode,
{
_mcl_oxidized_variant = oxidized_item.."_"..subnode,
_mcl_on_oxidize = oxidize_door_bottom,
}
)
minetest.override_item(oxidized_item.."_"..subnode,
{
_mcl_stripped_variant = item.."_"..subnode,
_mcl_on_strip = strip_door_bottom,
}
)
end
else
minetest.override_item(item.."_"..subnode,
{_mcl_oxidized_variant = oxidized_item.."_"..subnode}
)
minetest.override_item(oxidized_item.."_"..subnode,
{_mcl_stripped_variant = item.."_"..subnode}
)
end
end
end
end
end
-- Set up scraped variants for waxed stairs.
local waxed_variants = {
{ "waxed_copper_cut", "copper_cut" },
{ "waxed_copper_exposed_cut", "copper_exposed_cut" },
{ "waxed_copper_weathered_cut", "copper_weathered_cut" },
{ "waxed_copper_oxidized_cut", "copper_oxidized_cut" },
}
--- Function used to define the waxed and stripped variants (for the waxed variants) of copper-related
--- blocks that are registered by APIs external to mcl_copper (stairs, slabs, doors and trapdoors).
--- "mod_name" should be the name of the mod the blocks belong to. "subname" must be the subname of the
--- block that will receive the changes (see registered subnames below). "decay_chain" should be a table
--- containing the list of subnames of the block oxidation chain (without the waxed variants subnames).
local function register_waxing_and_scraping(mod_name, subname, decay_chain)
local waxed_item, unwaxed_item
-- Handling special decay chain names.
if mod_name == "mcl_stairs" then
for i = 1, 4 do
decay_chain[i] = decay_chain[i].."_cut"
end
end
for i = 1, #waxed_variants do
-- stairs
def = "mcl_stairs:stair_" .. waxed_variants[i][1]
def_variant_scraped = "mcl_stairs:stair_" .. waxed_variants[i][2]
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
def = "mcl_stairs:stair_" .. waxed_variants[i][1] .. "_inner"
def_variant_scraped = "mcl_stairs:stair_" .. waxed_variants[i][2] .. "_inner"
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
def = "mcl_stairs:stair_" .. waxed_variants[i][1] .. "_outer"
def_variant_scraped = "mcl_stairs:stair_" .. waxed_variants[i][2] .. "_outer"
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
-- slab
def = "mcl_stairs:slab_" .. waxed_variants[i][1]
def_variant_scraped = "mcl_stairs:slab_" .. waxed_variants[i][2]
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
def = "mcl_stairs:slab_" .. waxed_variants[i][1] .. "_top"
def_variant_scraped = "mcl_stairs:slab_" .. waxed_variants[i][2] .. "_top"
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
def = "mcl_stairs:slab_" .. waxed_variants[i][1] .. "_double"
def_variant_scraped = "mcl_stairs:slab_" .. waxed_variants[i][2] .. "_double"
minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped })
for i = 1, #decay_chain do
waxed_item = mod_name..":"..subname..decay_chain[i]
unwaxed_item = mod_name..":"..subname:gsub("waxed_", "")..decay_chain[i]
for _, subnode in pairs(mcl_copper.subnodes[subname]) do
if subnode == "" then
minetest.override_item(waxed_item, {_mcl_stripped_variant = unwaxed_item})
minetest.override_item(unwaxed_item, {_mcl_waxed_variant = waxed_item})
else
if subname == "door" then
if subnode:find("b_") then
minetest.override_item(waxed_item.."_"..subnode,
{
_mcl_stripped_variant = unwaxed_item.."_"..subnode,
_mcl_on_strip = strip_door_top,
}
)
minetest.override_item(unwaxed_item.."_"..subnode,
{
_mcl_waxed_variant = waxed_item.."_"..subnode,
_mcl_on_wax = wax_door_top,
}
)
else
minetest.override_item(waxed_item.."_"..subnode,
{
_mcl_stripped_variant = unwaxed_item.."_"..subnode,
_mcl_on_strip = strip_door_bottom,
}
)
minetest.override_item(unwaxed_item.."_"..subnode,
{
_mcl_waxed_variant = waxed_item.."_"..subnode,
_mcl_on_wax = wax_door_bottom,
}
)
end
else
minetest.override_item(waxed_item.."_"..subnode,
{_mcl_stripped_variant = unwaxed_item.."_"..subnode}
)
minetest.override_item(unwaxed_item.."_"..subnode,
{_mcl_waxed_variant = waxed_item.."_"..subnode}
)
end
end
end
end
end
-- Waxed Oxidized Slabs and Stairs
local oxidized_slabs = {
"oxidized_cut",
"oxidized_cut_double",
"oxidized_cut_top"
-- Decay chain for almost all blocks.
local decay_chain = {
"",
"_exposed",
"_weathered",
"_oxidized"
}
for i = 1, #oxidized_slabs do
def = "mcl_stairs:slab_copper_" .. oxidized_slabs[i]
def_variant_waxed = "mcl_stairs:slab_waxed_copper_" .. oxidized_slabs[i]
minetest.override_item(def, { _mcl_waxed_variant = def_variant_waxed })
end
local oxidized_stairs = {
"oxidized_cut",
"oxidized_cut_inner",
"oxidized_cut_outer"
-- Blocks per mod. {mod_name, unwaxed (first on decay chain), waxed (first waxed on decay chain)}
local mods_and_blocks = {
{"xpanes", "bars_copper", "bars_waxed_copper"},
{"mesecons_button", "button_copper", "button_waxed_copper"},
{"mcl_copper", "door", "waxed_door"},
{"mcl_copper", "pressure_plate_copper", "pressure_plate_waxed_copper"},
{"mcl_stairs", "slab_copper", "slab_waxed_copper"},
{"mcl_stairs", "stair_copper", "stair_waxed_copper"},
{"mcl_copper", "trapdoor", "waxed_trapdoor"}
}
-- Defining variants for almost all blocks registered by other API's.
for _, mod_and_blocks in pairs(mods_and_blocks) do
local mod = mod_and_blocks[1]
local oxidize_and_scrap = mod_and_blocks[2]
local wax_and_scrap = mod_and_blocks[3]
for i = 1, #oxidized_stairs do
def = "mcl_stairs:stair_copper_" .. oxidized_stairs[i]
def_variant_waxed = "mcl_stairs:stair_waxed_copper_" .. oxidized_stairs[i]
minetest.override_item(def, { _mcl_waxed_variant = def_variant_waxed })
register_oxidation_and_scraping(mod, oxidize_and_scrap, decay_chain)
register_waxing_and_scraping(mod, wax_and_scrap, decay_chain)
end

View File

@ -1,8 +1,15 @@
local path = minetest.get_modpath("mcl_copper")
local path = minetest.get_modpath("mcl_copper") -- Getting mcl_copper mod path
mcl_copper = {} -- initialize global variable.
mcl_copper = {} -- Initializing global variable mcl_copper.
-- Loading the file containing the descriptions and longdescs of each block
dofile(path .. "/descriptions.lua")
-- Loading the file that registers all blocks provided by this mod
dofile(path .. "/nodes.lua")
-- Loading the file that registers craftitems
dofile(path .. "/items.lua")
-- Loading the file that registers the blocks crafting recipes
dofile(path .. "/crafting.lua")
-- Loading the file that handles oxidized, waxed and stripped variants for blocks that are registered
-- in other mods and normally do not have these variants.
dofile(path .. "/functions.lua")

View File

@ -1,37 +1,140 @@
# 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.
Waxed Block of Copper=
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.
Waxed Exposed Copper=
Weathered Copper=Verwitterter Kupferblock
Weathered cut copper is a decorative block.=Ein Verwitterter geschnittener Kupferblock ist ein dekorativer Block.
Waxed Weathered Copper=
Oxidized Copper=Oxidierter Kupferblock
Waxed Oxidized Copper=
Cut Copper=Geschnittener Kupferblock
Waxed Cut Copper=
Exposed Cut Copper=Angelaufener geschnittener Kupferblock
Waxed Exposed Cut Copper=
Weathered Cut Copper=Verwitterter geschnittener Kupferblock
Waxed Weathered Cut Copper=
Oxidized Cut Copper=Oxidierter geschnittener Kupferblock
Waxed Oxidized Cut Copper=
Copper Grate=
Waxed Copper Grate=
Exposed Copper Grate=
Waxed Exposed Copper Grate=
Weathered Copper Grate=
Waxed Weathered Copper Grate=
Oxidized Copper Grate=
Waxed Oxidized Copper Grate=
Chiseled Copper=
Waxed Chiseled Copper=
Exposed Chiseled Copper=
Waxed Exposed Chiseled Copper=
Weathered Chiseled Copper=
Waxed Weathered Chiseled Copper=
Oxidized Chiseled Copper=
Waxed Oxidized Chiseled Copper=
Copper Bulb=
Waxed Copper Bulb=
Exposed Copper Bulb=
Waxed Exposed Copper Bulb=
Weathered Copper Bulb=
Waxed Weathered Copper Bulb=
Oxidized Copper Bulb=
Waxed Oxidized Copper Bulb=
(Lit)=
(Powered)=
(Lit and Powered)=
A block of copper is mostly a decorative block.=Ein Kupferblock wird meistens als dekorativer Block verwendet.
Exposed copper is a decorative block.=Ein Angelaufener Kupferblock ist ein dekorativer Block.
Weathered copper is a decorative block.=Ein Verwitterter Kupferblock ist ein dekorativer Block.
Oxidized copper is a decorative block.=Ein Oxidierter Kupferblockist ist ein dekorativer Block.
Cut copper is a decorative block.=Ein Geschnittener Kupferblock ist ein dekorativer Block.
Exposed cut copper is a decorative block.=Ein Angelaufener geschnittener Kupferblock ist ein dekorativer Block.
Weathered cut copper is a decorative block.=Ein Verwitterter geschnittener Kupferblock ist ein dekorativer Block.
Oxidized cut copper is a decorative block.=Ein Oxidierter geschnittener Kupferblock ist ein dekorativer Block.
Copper grate is a decorative block.=
Exposed copper grate is a decorative block.=
Weathered copper grate is a decorative block.=
Oxidized copper grate is a decorative block.=
Chiseled copper is a decorative block.=
Exposed chiseled copper is a decorative block.=
Weathered chiseled copper is a decorative block.=
Oxidized chiseled copper is a decorative block.=
Copper bulb is a decorative block and a light source when lited.=
Exposed copper bulb is a decorative block and a light source when lited.=
Weathered copper bulb is a decorative block and a light source when lited.=
Oxidized copper bulb is a decorative block and a light source when lited.=
Copper bulb is a decorative block and a light source.=
Exposed copper bulb is a decorative block and a light source.=
Weathered copper bulb is a decorative block and a light source.=
Oxidized copper bulb is a decorative block and a light source.=
Slab of Cut Copper=Geschnittene Kupferstufe
Double Slab of Cut Copper=Doppelte Geschnittene Kupferstufe
Stairs of Cut Copper=Geschnittene Kupfertreppe
Waxed Slab of Cut Copper=
Waxed Double Slab of Cut Copper=
Waxed Stairs of Cut Copper=
Slab of Exposed Cut Copper=Angelaufene Geschnittene Kupferstufe
Double Slab of Exposed Cut Copper=Doppelte Angelaufene Geschnittene Kupferstufe
Stairs of Exposed Cut Copper=Angelaufene Geschnittene Kupfertreppe
Waxed Slab of Exposed Cut Copper=
Waxed Double Slab of Exposed Cut Copper=
Waxed Stairs of Exposed Cut Copper=
Slab of Weathered Cut Copper=Verwitterte Geschnittene Kupferstufe
Double Slab of Weathered Cut Copper=Doppelte Verwitterte Geschnittene Kupferstufe
Stairs of Weathered Cut Copper=Verwitterte Geschnittene Kupfertreppe
Waxed Slab of Weathered Cut Copper=
Waxed Double Slab of Weathered Cut Copper=
Waxed Stairs of Weathered Cut Copper=
Slab of Oxidized Cut Copper=Oxidierte Geschnittene Kupferstufe
Double Slab of Oxidized Cut Copper=Doppelte Oxidierte Geschnittene Kupferstufe
Stairs of Oxidized Cut Copper=Oxidierte Geschnittene Kupfertreppe
Waxed Slab of Oxidized Cut Copper=
Waxed Double Slab of Oxidized Cut Copper=
Waxed Stairs of Oxidized Cut Copper=
Copper Door=
Copper Trapdoor=
Waxed Copper Door=
Waxed Copper Trapdoor=
Exposed Copper Door=
Exposed Copper Trapdoor=
Waxed Exposed Copper Door=
Waxed Exposed Copper Trapdoor=
Weathered Copper Door=
Weathered Copper Trapdoor=
Waxed Weathered Copper Door=
Waxed Weathered Copper Trapdoor=
Oxidized Copper Door=
Oxidized Copper Trapdoor=
Waxed Oxidized Copper Door=
Waxed Oxidized Copper Trapdoor=
Copper Button=
Waxed Copper Button=
Exposed Copper Button=
Waxed Exposed Copper Button=
Weathered Copper Button=
Waxed Weathered Copper Button=
Oxidized Copper Button=
Waxed Oxidized Copper Button=
Copper Pressure Plate=
Waxed Copper Pressure Plate=
Exposed Copper Pressure Plate=
Waxed Exposed Copper Pressure Plate=
Weathered Copper Pressure Plate=
Waxed Weathered Copper Pressure Plate=
Oxidized Copper Pressure Plate=
Waxed Oxidized Copper Pressure Plate=
Copper Bars=
Waxed Copper Bars=
Exposed Copper Bars=
Waxed Exposed Copper Bars=
Weathered Copper Bars=
Waxed Weathered Copper Bars=
Oxidized Copper Bars=
Waxed Oxidized Copper Bars=
Copper Ingot=Kupfer Barren
Molten Raw Copper. It is used to craft blocks.=Geschmolzenes Rohkupfer. Es wird verwendet, um Blöcke herzustellen.
Raw Copper=Rohkupfer
Raw Copper. Mine a Copper Ore to get it.=Bauen sie ein Kupfererz ab, um es zu erhalten.
Copper Ore=Kupfererz
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.
Block of Raw Copper=Rohkupferblock
A block used for compact raw copper storage.=Ein Block für die kompakte Lagerung von Rohkupfer.

View File

@ -1,57 +1,140 @@
# textdomain: mcl_copper
A block of copper is mostly a decorative block.=Le bloc de cuivre est surtout un bloc décoratif.
A block used for compact raw copper storage.=Un bloc utilisé pour le stockage compact de cuivre brut.
Block of Copper=Bloc de cuivre
Waxed Block of Copper=Bloc de cuivre ciré
Block of Raw Copper=Bloc de cuivre brut
Copper Ingot=Lingot de cuivre
Copper Ore=Minerai de cuivre
Cut copper is a decorative block.=Le cuivre taillé est un bloc décoratif.
Cut Copper=Cuivre taillé
Waxed Cut Copper=Cuivre taillé ciré
Double Slab of Cut Copper=Double dalle de cuivre taillé
Double Slab of Exposed Cut Copper=Double dalle de cuivre taillé exposé
Double Slab of Oxidized Cut Copper=Double dalle de cuivre taillé oxydé
Double Slab of Weathered Cut Copper=Double dalle de cuivre taillé érodé
Waxed Double Slab of Cut Copper=Double dalle de cuivre taillé ciré
Waxed Double Slab of Exposed Cut Copper=Double dalle de cuivre taillé exposé ciré
Waxed Double Slab of Oxidized Cut Copper=Double dalle de cuivre taillé oxydé ciré
Waxed Double Slab of Weathered Cut Copper=Double dalle de cuivre taillé érodé ciré
Exposed copper is a decorative block.=Le cuivre exposé est un bloc décoratif.
Exposed Copper=Cuivre exposé
Waxed Exposed Copper=Cuivre exposé ciré
Exposed cut copper is a decorative block.=Le cuivre taillé exposé est un bloc décoratif.
Exposed Cut Copper=Cuivre taillé exposé
Waxed Exposed Cut Copper=Cuivre taillé exposé ciré
Molten Raw Copper. It is used to craft blocks.=Cuivre brut fondu. Utilisé pour fabriquer des blocs.
Oxidized copper is a decorative block.=Le cuivre oxydé est un bloc décoratif.
Oxidized Copper=Cuivre oxydé
Waxed Oxidized Copper=Cuivre oxydé ciré
Oxidized cut copper is a decorative block.=Le cuivre taillé oxydé est un bloc décoratif.
Oxidized Cut Copper=Cuivre taillé oxydé
Waxed Oxidized Cut Copper=Cuivre taillé oxydé ciré
Raw Copper. Mine a Copper Ore to get it.=Cuivre brut. Creuser dans du minerai de cuivre pour l'obtenir.
Raw Copper=Cuivre brut
Slab of Cut Copper=Dalle de cuivre taillé
Slab of Exposed Cut Copper=Dalle de cuivre taillé exposé
Slab of Oxidized Cut Copper=Dalle de cuivre taillé oxydé
Slab of Weathered Cut Copper=Dalle de cuivre taillé érodé
Waxed Slab of Cut Copper=Dalle de cuivre taillé ciré
Waxed Slab of Exposed Cut Copper=Dalle de cuivre taillé exposé ciré
Waxed Slab of Oxidized Cut Copper=Dalle de cuivre taillé oxydé ciré
Waxed Slab of Weathered Cut Copper=Dalle de cuivre taillé érodé ciré
Some copper contained in stone, it is pretty common and can be found below sea level.=Un peu de cuivre se trouve dans la pierre, il est plutôt répandu et peut être trouvé sous le niveau de la mer.
Stairs of Cut Copper=Escalier de cuivre taillé
Stairs of Exposed Cut Copper=Escalier de cuivre taillé exposé
Stairs of Oxidized Cut Copper=Escalier de cuivre taillé oxydé
Stairs of Weathered Cut Copper=Escalier de cuivre taillé érodé
Waxed Stairs of Cut Copper=Escalier de cuivre taillé ciré
Waxed Stairs of Exposed Cut Copper=Escalier de cuivre taillé exposé ciré
Waxed Stairs of Oxidized Cut Copper=Escalier de cuivre taillé oxydé ciré
Waxed Stairs of Weathered Cut Copper=Escalier de cuivre taillé érodé ciré
Weathered copper is a decorative block.=Le cuivre érodé est un bloc décoratif.
Weathered Copper=Cuivre érodé
Waxed Weathered Copper=Cuivre érodé ciré
Weathered cut copper is a decorative block.=Le cuivre taillé érodé est un bloc décoratif.
Oxidized Copper=Cuivre oxydé
Waxed Oxidized Copper=Cuivre oxydé ciré
Cut Copper=Cuivre taillé
Waxed Cut Copper=Cuivre taillé ciré
Exposed Cut Copper=Cuivre taillé exposé
Waxed Exposed Cut Copper=Cuivre taillé exposé ciré
Weathered Cut Copper=Cuivre taillé érodé
Waxed Weathered Cut Copper=Cuivre taillé érodé ciré
Oxidized Cut Copper=Cuivre taillé oxydé
Waxed Oxidized Cut Copper=Cuivre taillé oxydé ciré
Copper Grate=
Waxed Copper Grate=
Exposed Copper Grate=
Waxed Exposed Copper Grate=
Weathered Copper Grate=
Waxed Weathered Copper Grate=
Oxidized Copper Grate=
Waxed Oxidized Copper Grate=
Chiseled Copper=
Waxed Chiseled Copper=
Exposed Chiseled Copper=
Waxed Exposed Chiseled Copper=
Weathered Chiseled Copper=
Waxed Weathered Chiseled Copper=
Oxidized Chiseled Copper=
Waxed Oxidized Chiseled Copper=
Copper Bulb=
Waxed Copper Bulb=
Exposed Copper Bulb=
Waxed Exposed Copper Bulb=
Weathered Copper Bulb=
Waxed Weathered Copper Bulb=
Oxidized Copper Bulb=
Waxed Oxidized Copper Bulb=
(Lit)=
(Powered)=
(Lit and Powered)=
A block of copper is mostly a decorative block.=Le bloc de cuivre est surtout un bloc décoratif.
Exposed copper is a decorative block.=Le cuivre exposé est un bloc décoratif.
Weathered copper is a decorative block.=Le cuivre érodé est un bloc décoratif.
Oxidized copper is a decorative block.=Le cuivre oxydé est un bloc décoratif.
Cut copper is a decorative block.=Le cuivre taillé est un bloc décoratif.
Exposed cut copper is a decorative block.=Le cuivre taillé exposé est un bloc décoratif.
Weathered cut copper is a decorative block.=Le cuivre taillé érodé est un bloc décoratif.
Oxidized cut copper is a decorative block.=Le cuivre taillé oxydé est un bloc décoratif.
Copper grate is a decorative block.=
Exposed copper grate is a decorative block.=
Weathered copper grate is a decorative block.=
Oxidized copper grate is a decorative block.=
Chiseled copper is a decorative block.=
Exposed chiseled copper is a decorative block.=
Weathered chiseled copper is a decorative block.=
Oxidized chiseled copper is a decorative block.=
Copper bulb is a decorative block and a light source when lited.=
Exposed copper bulb is a decorative block and a light source when lited.=
Weathered copper bulb is a decorative block and a light source when lited.=
Oxidized copper bulb is a decorative block and a light source when lited.=
Copper bulb is a decorative block and a light source.=
Exposed copper bulb is a decorative block and a light source.=
Weathered copper bulb is a decorative block and a light source.=
Oxidized copper bulb is a decorative block and a light source.=
Slab of Cut Copper=Dalle de cuivre taillé
Double Slab of Cut Copper=Double dalle de cuivre taillé
Stairs of Cut Copper=Escalier de cuivre taillé
Waxed Slab of Cut Copper=Dalle de cuivre taillé ciré
Waxed Double Slab of Cut Copper=Double dalle de cuivre taillé ciré
Waxed Stairs of Cut Copper=Escalier de cuivre taillé ciré
Slab of Exposed Cut Copper=Dalle de cuivre taillé exposé
Double Slab of Exposed Cut Copper=Double dalle de cuivre taillé exposé
Stairs of Exposed Cut Copper=Escalier de cuivre taillé exposé
Waxed Slab of Exposed Cut Copper=Dalle de cuivre taillé exposé ciré
Waxed Double Slab of Exposed Cut Copper=Double dalle de cuivre taillé exposé ciré
Waxed Stairs of Exposed Cut Copper=Escalier de cuivre taillé exposé ciré
Slab of Weathered Cut Copper=Dalle de cuivre taillé érodé
Double Slab of Weathered Cut Copper=Double dalle de cuivre taillé érodé
Stairs of Weathered Cut Copper=Escalier de cuivre taillé érodé
Waxed Slab of Weathered Cut Copper=Dalle de cuivre taillé érodé ciré
Waxed Double Slab of Weathered Cut Copper=Double dalle de cuivre taillé érodé ciré
Waxed Stairs of Weathered Cut Copper=Escalier de cuivre taillé érodé ciré
Slab of Oxidized Cut Copper=Dalle de cuivre taillé oxydé
Double Slab of Oxidized Cut Copper=Double dalle de cuivre taillé oxydé
Stairs of Oxidized Cut Copper=Escalier de cuivre taillé oxydé
Waxed Slab of Oxidized Cut Copper=Dalle de cuivre taillé oxydé ciré
Waxed Double Slab of Oxidized Cut Copper=Double dalle de cuivre taillé oxydé ciré
Waxed Stairs of Oxidized Cut Copper=Escalier de cuivre taillé oxydé ciré
Copper Door=
Copper Trapdoor=
Waxed Copper Door=
Waxed Copper Trapdoor=
Exposed Copper Door=
Exposed Copper Trapdoor=
Waxed Exposed Copper Door=
Waxed Exposed Copper Trapdoor=
Weathered Copper Door=
Weathered Copper Trapdoor=
Waxed Weathered Copper Door=
Waxed Weathered Copper Trapdoor=
Oxidized Copper Door=
Oxidized Copper Trapdoor=
Waxed Oxidized Copper Door=
Waxed Oxidized Copper Trapdoor=
Copper Button=
Waxed Copper Button=
Exposed Copper Button=
Waxed Exposed Copper Button=
Weathered Copper Button=
Waxed Weathered Copper Button=
Oxidized Copper Button=
Waxed Oxidized Copper Button=
Copper Pressure Plate=
Waxed Copper Pressure Plate=
Exposed Copper Pressure Plate=
Waxed Exposed Copper Pressure Plate=
Weathered Copper Pressure Plate=
Waxed Weathered Copper Pressure Plate=
Oxidized Copper Pressure Plate=
Waxed Oxidized Copper Pressure Plate=
Copper Bars=
Waxed Copper Bars=
Exposed Copper Bars=
Waxed Exposed Copper Bars=
Weathered Copper Bars=
Waxed Weathered Copper Bars=
Oxidized Copper Bars=
Waxed Oxidized Copper Bars=
Copper Ingot=Lingot de cuivre
Molten Raw Copper. It is used to craft blocks.=Cuivre brut fondu. Utilisé pour fabriquer des blocs.
Raw Copper=Cuivre brut
Raw Copper. Mine a Copper Ore to get it.=Cuivre brut. Creuser dans du minerai de cuivre pour l'obtenir.
Copper Ore=Minerai de cuivre
Some copper contained in stone, it is pretty common and can be found below sea level.=Un peu de cuivre se trouve dans la pierre, il est plutôt répandu et peut être trouvé sous le niveau de la mer.
Block of Raw Copper=Bloc de cuivre brut
A block used for compact raw copper storage.=Un bloc utilisé pour le stockage compact de cuivre brut.

View File

@ -1,57 +1,140 @@
# textdomain: mcl_copper
A block of copper is mostly a decorative block.=銅ブロックは、そのほとんどが装飾ブロックです。
A block used for compact raw copper storage.=銅の粗鉱をコンパクトに保管するのに使えるブロックです。
Block of Copper=銅ブロック
Waxed Block of Copper=錆止め済み銅ブロック
Block of Raw Copper=銅の粗鉱ブロック
Copper Ingot=銅インゴット
Copper Ore=銅鉱石
Cut copper is a decorative block.=溝入り銅は、装飾ブロックです。
Cut Copper=溝入り銅
Waxed Cut Copper=錆止め済み溝入り銅
Double Slab of Cut Copper=溝入り銅の2重スラブ
Double Slab of Exposed Cut Copper=少し酸化した溝入り銅の2重スラブ
Double Slab of Oxidized Cut Copper=殆ど酸化した溝入り銅の2重スラブ
Double Slab of Weathered Cut Copper=半ば酸化した溝入り銅の2重スラブ
Waxed Double Slab of Cut Copper=錆止め済み溝入り銅の2重スラブ
Waxed Double Slab of Exposed Cut Copper=少し酸化した錆止め済み溝入り銅の2重スラブ
Waxed Double Slab of Oxidized Cut Copper=殆ど酸化した錆止め済み溝入り銅の2重スラブ
Waxed Double Slab of Weathered Cut Copper=半ば酸化した錆止め済み溝入り銅の2重スラブ
Exposed copper is a decorative block.=少し酸化した銅は、装飾ブロックです。
Exposed Copper=少し酸化した銅
Waxed Exposed Copper=少し酸化した錆止め済み銅
Exposed cut copper is a decorative block.=少し酸化した溝入り銅は、装飾ブロックです。
Exposed Cut Copper=少し酸化した溝入り銅
Waxed Exposed Cut Copper=少し酸化した錆止め済み溝入り銅
Molten Raw Copper. It is used to craft blocks.=溶けた未処理の銅。ブロックのクラフトに使われます。
Oxidized copper is a decorative block.=殆ど酸化した銅は、装飾ブロックです。
Oxidized Copper=殆ど酸化した銅
Waxed Oxidized Copper=殆ど酸化した錆止め済み銅
Oxidized cut copper is a decorative block.=殆ど酸化した溝入り銅は、装飾ブロックです。
Oxidized Cut Copper=殆ど酸化した溝入り銅
Waxed 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=半ば酸化した溝入り銅のスラブ
Waxed Slab of Cut Copper=錆止め済み溝入り銅のスラブ
Waxed Slab of Exposed Cut Copper=少し酸化した錆止め済み溝入り銅のスラブ
Waxed Slab of Oxidized Cut Copper=殆ど酸化した錆止め済み溝入り銅のスラブ
Waxed 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=半ば酸化した溝入り銅の階段
Waxed Stairs of Cut Copper=錆止め済み溝入り銅の階段
Waxed Stairs of Exposed Cut Copper=少し酸化した錆止め済み溝入り銅の階段
Waxed Stairs of Oxidized Cut Copper=殆ど酸化した錆止め済み溝入り銅の階段
Waxed Stairs of Weathered Cut Copper=半ば酸化した錆止め済み溝入り銅の階段
Weathered copper is a decorative block.=半ば酸化した銅は、装飾ブロックです。
Weathered Copper=半ば酸化した銅
Waxed Weathered Copper=半ば酸化した錆止め済み銅
Weathered cut copper is a decorative block.=半ば酸化した溝入り銅は、装飾ブロックです。
Oxidized Copper=殆ど酸化した銅
Waxed Oxidized Copper=殆ど酸化した錆止め済み銅
Cut Copper=溝入り銅
Waxed Cut Copper=錆止め済み溝入り銅
Exposed Cut Copper=少し酸化した溝入り銅
Waxed Exposed Cut Copper=少し酸化した錆止め済み溝入り銅
Weathered Cut Copper=半ば酸化した溝入り銅
Waxed Weathered Cut Copper=半ば酸化した錆止め済み溝入り銅
Oxidized Cut Copper=殆ど酸化した溝入り銅
Waxed Oxidized Cut Copper=殆ど酸化した錆止め済み溝入り銅
Copper Grate=
Waxed Copper Grate=
Exposed Copper Grate=
Waxed Exposed Copper Grate=
Weathered Copper Grate=
Waxed Weathered Copper Grate=
Oxidized Copper Grate=
Waxed Oxidized Copper Grate=
Chiseled Copper=
Waxed Chiseled Copper=
Exposed Chiseled Copper=
Waxed Exposed Chiseled Copper=
Weathered Chiseled Copper=
Waxed Weathered Chiseled Copper=
Oxidized Chiseled Copper=
Waxed Oxidized Chiseled Copper=
Copper Bulb=
Waxed Copper Bulb=
Exposed Copper Bulb=
Waxed Exposed Copper Bulb=
Weathered Copper Bulb=
Waxed Weathered Copper Bulb=
Oxidized Copper Bulb=
Waxed Oxidized Copper Bulb=
(Lit)=
(Powered)=
(Lit and Powered)=
A block of copper is mostly a decorative block.=銅ブロックは、そのほとんどが装飾ブロックです。
Exposed copper is a decorative block.=少し酸化した銅は、装飾ブロックです。
Weathered copper is a decorative block.=半ば酸化した銅は、装飾ブロックです。
Oxidized copper is a decorative block.=殆ど酸化した銅は、装飾ブロックです。
Cut copper is a decorative block.=溝入り銅は、装飾ブロックです。
Exposed cut copper is a decorative block.=少し酸化した溝入り銅は、装飾ブロックです。
Weathered cut copper is a decorative block.=半ば酸化した溝入り銅は、装飾ブロックです。
Oxidized cut copper is a decorative block.=殆ど酸化した溝入り銅は、装飾ブロックです。
Copper grate is a decorative block.=
Exposed copper grate is a decorative block.=
Weathered copper grate is a decorative block.=
Oxidized copper grate is a decorative block.=
Chiseled copper is a decorative block.=
Exposed chiseled copper is a decorative block.=
Weathered chiseled copper is a decorative block.=
Oxidized chiseled copper is a decorative block.=
Copper bulb is a decorative block and a light source when lited.=
Exposed copper bulb is a decorative block and a light source when lited.=
Weathered copper bulb is a decorative block and a light source when lited.=
Oxidized copper bulb is a decorative block and a light source when lited.=
Copper bulb is a decorative block and a light source.=
Exposed copper bulb is a decorative block and a light source.=
Weathered copper bulb is a decorative block and a light source.=
Oxidized copper bulb is a decorative block and a light source.=
Slab of Cut Copper=溝入り銅のスラブ
Double Slab of Cut Copper=溝入り銅の2重スラブ
Stairs of Cut Copper=溝入り銅の階段
Waxed Slab of Cut Copper=錆止め済み溝入り銅のスラブ
Waxed Double Slab of Cut Copper=錆止め済み溝入り銅の2重スラブ
Waxed Stairs of Cut Copper=錆止め済み溝入り銅の階段
Slab of Exposed Cut Copper=少し酸化した溝入り銅のスラブ
Double Slab of Exposed Cut Copper=少し酸化した溝入り銅の2重スラブ
Stairs of Exposed Cut Copper=少し酸化した溝入り銅の階段
Waxed Slab of Exposed Cut Copper=少し酸化した錆止め済み溝入り銅のスラブ
Waxed Double Slab of Exposed Cut Copper=少し酸化した錆止め済み溝入り銅の2重スラブ
Waxed Stairs of Exposed Cut Copper=少し酸化した錆止め済み溝入り銅の階段
Slab of Weathered Cut Copper=半ば酸化した溝入り銅のスラブ
Double Slab of Weathered Cut Copper=半ば酸化した溝入り銅の2重スラブ
Stairs of Weathered Cut Copper=半ば酸化した溝入り銅の階段
Waxed Slab of Weathered Cut Copper=半ば酸化した錆止め済み溝入り銅のスラブ
Waxed Double Slab of Weathered Cut Copper=半ば酸化した錆止め済み溝入り銅の2重スラブ
Waxed Stairs of Weathered Cut Copper=半ば酸化した錆止め済み溝入り銅の階段
Slab of Oxidized Cut Copper=殆ど酸化した溝入り銅のスラブ
Double Slab of Oxidized Cut Copper=殆ど酸化した溝入り銅の2重スラブ
Stairs of Oxidized Cut Copper=殆ど酸化した溝入り銅の階段
Waxed Slab of Oxidized Cut Copper=殆ど酸化した錆止め済み溝入り銅のスラブ
Waxed Double Slab of Oxidized Cut Copper=殆ど酸化した錆止め済み溝入り銅の2重スラブ
Waxed Stairs of Oxidized Cut Copper=殆ど酸化した錆止め済み溝入り銅の階段
Copper Door=
Copper Trapdoor=
Waxed Copper Door=
Waxed Copper Trapdoor=
Exposed Copper Door=
Exposed Copper Trapdoor=
Waxed Exposed Copper Door=
Waxed Exposed Copper Trapdoor=
Weathered Copper Door=
Weathered Copper Trapdoor=
Waxed Weathered Copper Door=
Waxed Weathered Copper Trapdoor=
Oxidized Copper Door=
Oxidized Copper Trapdoor=
Waxed Oxidized Copper Door=
Waxed Oxidized Copper Trapdoor=
Copper Button=
Waxed Copper Button=
Exposed Copper Button=
Waxed Exposed Copper Button=
Weathered Copper Button=
Waxed Weathered Copper Button=
Oxidized Copper Button=
Waxed Oxidized Copper Button=
Copper Pressure Plate=
Waxed Copper Pressure Plate=
Exposed Copper Pressure Plate=
Waxed Exposed Copper Pressure Plate=
Weathered Copper Pressure Plate=
Waxed Weathered Copper Pressure Plate=
Oxidized Copper Pressure Plate=
Waxed Oxidized Copper Pressure Plate=
Copper Bars=
Waxed Copper Bars=
Exposed Copper Bars=
Waxed Exposed Copper Bars=
Weathered Copper Bars=
Waxed Weathered Copper Bars=
Oxidized Copper Bars=
Waxed Oxidized Copper Bars=
Copper Ingot=銅インゴット
Molten Raw Copper. It is used to craft blocks.=溶けた未処理の銅。ブロックのクラフトに使われます。
Raw Copper=銅の粗鉱
Raw Copper. Mine a Copper Ore to get it.=未処理の銅。銅鉱石を採掘すると手に入ります。
Copper Ore=銅鉱石
Some copper contained in stone, it is pretty common and can be found below sea level.=石に含まれる銅は ごく一般的で、海面下の高さで見られます。
Block of Raw Copper=銅の粗鉱ブロック
A block used for compact raw copper storage.=銅の粗鉱をコンパクトに保管するのに使えるブロックです。

View File

@ -1,57 +1,140 @@
# textdomain: mcl_copper
A block of copper is mostly a decorative block.=Um bloco de cobre é principalmente um bloco decorativo.
A block used for compact raw copper storage.=Um bloco usado para armazenar minério de cobre compactado.
Block of Copper=Bloco de Cobre
Waxed Block of Copper=Bloco de Cobre Encerado
Block of Raw Copper=Bloco de Cobre Crú
Copper Ingot=Lingote de Cobre
Copper Ore=Minério de Cobre
Cut copper is a decorative block.=Cobre lapidado é um bloco decorativo
Cut Copper=Cobre Lapidado
Waxed Cut Copper=Cobre Lapidado Encerado
Double Slab of Cut Copper=Laje Dupla de Cobre Lapidado
Double Slab of Exposed Cut Copper=Laje Dupla de Cobre Lapidado Exposto
Double Slab of Oxidized Cut Copper=Laje Dupla de Cobre Lapidado Oxidado
Double Slab of Weathered Cut Copper=Laje Dupla de Cobre Lapidado Desgastado
Waxed Double Slab of Cut Copper=Laje Dupla de Cobre Lapidado Encerado
Waxed Double Slab of Exposed Cut Copper=Laje Dupla de Cobre Lapidado Exposto Encerado
Waxed Double Slab of Oxidized Cut Copper=Laje Dupla de Cobre Lapidado Oxidado Encerado
Waxed Double Slab of Weathered Cut Copper=Laje Dupla de Cobre Lapidado Desgastado Encerado
Exposed copper is a decorative block.=Cobre exposto é um bloco decorativo.
Exposed Copper=Cobre Exposto
Waxed Exposed Copper=Cobre Exposto Encerado
Exposed cut copper is a decorative block.=Cobre lapidado encerado é um bloco decorativo.
Exposed Cut Copper=Cobre Lapidado Exposto
Waxed Exposed Cut Copper=Cobre Lapidado Exposto Encerado
Molten Raw Copper. It is used to craft blocks.=Minério de Cobre Fundido. É utilizado para fabricar blocos.
Oxidized copper is a decorative block.=Cobre oxidado é um bloco decorativo.
Oxidized Copper=Cobre Oxidado
Waxed Oxidized Copper=Cobre Oxidado Encerado
Oxidized cut copper is a decorative block.=Cobre lapidado oxidado é um bloco decorativo.
Oxidized Cut Copper=Cobre Lapidado Oxidado
Waxed Oxidized Cut Copper=Cobre Lapidado Oxidado Encerado
Raw Copper. Mine a Copper Ore to get it.=Cobre Crú. Minere um minério de cobre para obtê-lo.
Raw Copper=Cobre Crú
Slab of Cut Copper=Laje de Cobre Lapidado
Slab of Exposed Cut Copper=Laje de Cobre Lapidado Exposto
Slab of Oxidized Cut Copper=Laje de Cobre Lapidado Oxidado
Slab of Weathered Cut Copper=Laje de Cobre Lapidado Desgastado
Waxed Slab of Cut Copper=Laje de Cobre Lapidado Encerado
Waxed Slab of Exposed Cut Copper=Laje de Cobre Lapidado Exposto Encerado
Waxed Slab of Oxidized Cut Copper=Laje de Cobre Lapidado Oxidado Encerado
Waxed Slab of Weathered Cut Copper=Laje de Cobre Lapidado Desgastado Encerado
Some copper contained in stone, it is pretty common and can be found below sea level.=Um pouco de cobre contido em rocha, é bem comum e pode ser encontrado abaixo do nível do mar.
Stairs of Cut Copper=Escadas de Cobre Lapidado
Stairs of Exposed Cut Copper=Escadas de Cobre Lapidado Exposto
Stairs of Oxidized Cut Copper=Escadas de Cobre Lapidado Oxidado
Stairs of Weathered Cut Copper=Escadas de Cobre Lapidado Desgastado
Waxed Stairs of Cut Copper=Escadas de Cobre Lapidado Encerado
Waxed Stairs of Exposed Cut Copper=Escadas de Cobre Lapidado Exposto Encerado
Waxed Stairs of Oxidized Cut Copper=Escadas de Cobre Lapidado Oxidado Encerado
Waxed Stairs of Weathered Cut Copper=Escadas de Cobre Lapidado Desgastado Encerado
Weathered copper is a decorative block.=Cobre desgastado é um bloco decorativo.
Weathered Copper=Cobre Desgastado
Waxed Weathered Copper=Cobre Desgastado Encerado
Weathered cut copper is a decorative block.=Cobre lapidado desgastado é um bloco decorativo.
Oxidized Copper=Cobre Oxidado
Waxed Oxidized Copper=Cobre Oxidado Encerado
Cut Copper=Cobre Lapidado
Waxed Cut Copper=Cobre Lapidado Encerado
Exposed Cut Copper=Cobre Lapidado Exposto
Waxed Exposed Cut Copper=Cobre Lapidado Exposto Encerado
Weathered Cut Copper=Cobre Lapidado Desgastado
Waxed Weathered Cut Copper=Cobre Lapidado Desgastado Encerado
Oxidized Cut Copper=Cobre Lapidado Oxidado
Waxed Oxidized Cut Copper=Cobre Lapidado Oxidado Encerado
Copper Grate=Grade de Cobre
Waxed Copper Grate=Grade de Cobre Encerada
Exposed Copper Grate=Grade de Cobre Exposto
Waxed Exposed Copper Grate=Grade de Cobre Exposto Encerada
Weathered Copper Grate=Grade de Cobre Desgastado
Waxed Weathered Copper Grate=Grade de Cobre Desgastado Encerada
Oxidized Copper Grate=Grade de Cobre Oxidado
Waxed Oxidized Copper Grate=Grade de Cobre Oxidado Encerada
Chiseled Copper=Cobre Talhado
Waxed Chiseled Copper=Cobre Talhado Encerado
Exposed Chiseled Copper=Cobre Talhado Exposto
Waxed Exposed Chiseled Copper=Cobre Talhado Exposto Encerado
Weathered Chiseled Copper=Cobre Talhado Desgastado
Waxed Weathered Chiseled Copper=Cobre Talhado Desgastado Encerado
Oxidized Chiseled Copper=Cobre Talhado Oxidado
Waxed Oxidized Chiseled Copper=Cobre Talhado Oxidado Encerado
Copper Bulb=Bulbo de Cobre
Waxed Copper Bulb=Bulbo de Cobre Encerado
Exposed Copper Bulb=Bulbo de Cobre Exposto
Waxed Exposed Copper Bulb=Bulbo de Cobre Exposto Encerado
Weathered Copper Bulb=Bulbo de Cobre Desgastado
Waxed Weathered Copper Bulb=Bulbo de Cobre Desgastado Encerado
Oxidized Copper Bulb=Bulbo de Cobre Oxidado
Waxed Oxidized Copper Bulb=Bulbo de Cobre Oxidado Encerado
(Lit)=(Aceso)
(Powered)=(Energizado)
(Lit and Powered)=(Aceso e Energizado)
A block of copper is mostly a decorative block.=Um bloco de cobre é principalmente um bloco decorativo.
Exposed copper is a decorative block.=Cobre exposto é um bloco decorativo.
Weathered copper is a decorative block.=Cobre desgastado é um bloco decorativo.
Oxidized copper is a decorative block.=Cobre oxidado é um bloco decorativo.
Cut copper is a decorative block.=Cobre lapidado é um bloco decorativo
Exposed cut copper is a decorative block.=Cobre lapidado encerado é um bloco decorativo.
Weathered cut copper is a decorative block.=Cobre lapidado desgastado é um bloco decorativo.
Oxidized cut copper is a decorative block.=Cobre lapidado oxidado é um bloco decorativo.
Copper grate is a decorative block.=Grade de cobre é um bloco decorativo.
Exposed copper grate is a decorative block.=Grade de cobre exposto é um bloco decorativo.
Weathered copper grate is a decorative block.=Grade de cobre de desgastado é um bloco decorativo.
Oxidized copper grate is a decorative block.=Grade de cobre oxidado é um bloco decorativo.
Chiseled copper is a decorative block.=Cobre talhado é um bloco decorativo.
Exposed chiseled copper is a decorative block.=Cobre talhado exposto é um bloco decorativo.
Weathered chiseled copper is a decorative block.=Cobre talhado desgastado é um bloco decorativo.
Oxidized chiseled copper is a decorative block.=Cobre talhado oxidado é um bloco decorativo.
Copper bulb is a decorative block and a light source when lited.=Bulbo de cobre é um bloco decorativo e uma fonte de luz quando aceso.
Exposed copper bulb is a decorative block and a light source when lited.=Bulbo de cobre exposto é um bloco decorativo e uma fonte de luz quando aceso.
Weathered copper bulb is a decorative block and a light source when lited.=Bulbo de cobre desgastado é um bloco decorativo e uma fonte de luz quando aceso.
Oxidized copper bulb is a decorative block and a light source when lited.=Bulbo de cobre oxidado é um bloco decorativo e uma fonte de luz quando aceso.
Copper bulb is a decorative block and a light source.=Bulbo de cobre é um bloco decorativo e uma fonte de luz.
Exposed copper bulb is a decorative block and a light source.=Bulbo de cobre exposto é um bloco decorativo e uma fonte de luz.
Weathered copper bulb is a decorative block and a light source.=Bulbo de cobre desgastado é um bloco decorativo e uma fonte de luz.
Oxidized copper bulb is a decorative block and a light source.=Bulbo de cobre oxidado é um bloco decorativo e uma fonte de luz.
Slab of Cut Copper=Laje de Cobre Lapidado
Double Slab of Cut Copper=Laje Dupla de Cobre Lapidado
Stairs of Cut Copper=Escadas de Cobre Lapidado
Waxed Slab of Cut Copper=Laje de Cobre Lapidado Encerado
Waxed Double Slab of Cut Copper=Laje Dupla de Cobre Lapidado Encerado
Waxed Stairs of Cut Copper=Escadas de Cobre Lapidado Encerado
Slab of Exposed Cut Copper=Laje de Cobre Lapidado Exposto
Double Slab of Exposed Cut Copper=Laje Dupla de Cobre Lapidado Exposto
Stairs of Exposed Cut Copper=Escadas de Cobre Lapidado Exposto
Waxed Slab of Exposed Cut Copper=Laje de Cobre Lapidado Exposto Encerado
Waxed Double Slab of Exposed Cut Copper=Laje Dupla de Cobre Lapidado Exposto Encerado
Waxed Stairs of Exposed Cut Copper=Escadas de Cobre Lapidado Exposto Encerado
Slab of Weathered Cut Copper=Laje de Cobre Lapidado Desgastado
Double Slab of Weathered Cut Copper=Laje Dupla de Cobre Lapidado Desgastado
Stairs of Weathered Cut Copper=Escadas de Cobre Lapidado Desgastado
Waxed Slab of Weathered Cut Copper=Laje de Cobre Lapidado Desgastado Encerado
Waxed Double Slab of Weathered Cut Copper=Laje Dupla de Cobre Lapidado Desgastado Encerado
Waxed Stairs of Weathered Cut Copper=Escadas de Cobre Lapidado Desgastado Encerado
Slab of Oxidized Cut Copper=Laje de Cobre Lapidado Oxidado
Double Slab of Oxidized Cut Copper=Laje Dupla de Cobre Lapidado Oxidado
Stairs of Oxidized Cut Copper=Escadas de Cobre Lapidado Oxidado
Waxed Slab of Oxidized Cut Copper=Laje de Cobre Lapidado Oxidado Encerado
Waxed Double Slab of Oxidized Cut Copper=Laje Dupla de Cobre Lapidado Oxidado Encerado
Waxed Stairs of Oxidized Cut Copper=Escadas de Cobre Lapidado Oxidado Encerado
Copper Door=Porta de Cobre
Copper Trapdoor=Alçapão de Cobre
Waxed Copper Door=Porta de Cobre Encerada
Waxed Copper Trapdoor=Alçapão de Cobre Encerado
Exposed Copper Door=Porta de Cobre Exposto
Exposed Copper Trapdoor=Alçapão de Cobre Exposto
Waxed Exposed Copper Door=Porta de Cobre Exposto Encerada
Waxed Exposed Copper Trapdoor=Alçapão de Cobre Exposto Encerado
Weathered Copper Door=Porta de Cobre Desgastado
Weathered Copper Trapdoor=Alçapão de Cobre Desgastado
Waxed Weathered Copper Door=Porta de Cobre Desgastado Encerada
Waxed Weathered Copper Trapdoor=Alçapão de Cobre Desgastado Encerado
Oxidized Copper Door=Porta de Cobre Oxidado
Oxidized Copper Trapdoor=Alçapão de Cobre Oxidado
Waxed Oxidized Copper Door=Porta de Cobre Oxidado Encerada
Waxed Oxidized Copper Trapdoor=Alçapão de Cobre Oxidado Encerado
Copper Button=
Waxed Copper Button=
Exposed Copper Button=
Waxed Exposed Copper Button=
Weathered Copper Button=
Waxed Weathered Copper Button=
Oxidized Copper Button=
Waxed Oxidized Copper Button=
Copper Pressure Plate=
Waxed Copper Pressure Plate=
Exposed Copper Pressure Plate=
Waxed Exposed Copper Pressure Plate=
Weathered Copper Pressure Plate=
Waxed Weathered Copper Pressure Plate=
Oxidized Copper Pressure Plate=
Waxed Oxidized Copper Pressure Plate=
Copper Bars=
Waxed Copper Bars=
Exposed Copper Bars=
Waxed Exposed Copper Bars=
Weathered Copper Bars=
Waxed Weathered Copper Bars=
Oxidized Copper Bars=
Waxed Oxidized Copper Bars=
Copper Ingot=Lingote de Cobre
Molten Raw Copper. It is used to craft blocks.=Minério de Cobre Fundido. É utilizado para fabricar blocos.
Raw Copper=Cobre Crú
Raw Copper. Mine a Copper Ore to get it.=Cobre Crú. Minere um minério de cobre para obtê-lo.
Copper Ore=Minério de Cobre
Some copper contained in stone, it is pretty common and can be found below sea level.=Um pouco de cobre contido em rocha, é bem comum e pode ser encontrado abaixo do nível do mar.
Block of Raw Copper=Bloco de Cobre Crú
A block used for compact raw copper storage.=Um bloco usado para armazenar minério de cobre compactado.

View File

@ -1,57 +1,140 @@
# textdomain: mcl_copper
A block of copper is mostly a decorative block.=Медный блок — это декоративный блок.
A block used for compact raw copper storage.=Блок используется для компактного хранения необработанной меди.
Block of Copper=Медный блок
Waxed Block of Copper=Вощёный медный блок
Block of Raw Copper=Блок необработанной меди
Copper Ingot=Медный слиток
Copper Ore=Медная руда
Cut copper is a decorative block.=Резной медный блок это декоративный блок.
Cut Copper=Резной медный блок
Waxed 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=Двойная плита из состаренного резного медного блока
Waxed Double Slab of Cut Copper=Вощёная двойная плита из резного медного блока
Waxed Double Slab of Exposed Cut Copper=Вощёная двойная плита из потемневшего резного медного блока
Waxed Double Slab of Oxidized Cut Copper=Вощёная двойная плита из окисленного резного медного блока
Waxed Double Slab of Weathered Cut Copper=Вощёная двойная плита из состаренного резного медного блока
Exposed copper is a decorative block.=Потемневший медный блок это декоративный блок.
Exposed Copper=Потемневший медный блок
Waxed Exposed Copper=Вощёный потемневший медный блок
Exposed cut copper is a decorative block.=Потемневший резной медный блок это декоративный блок.
Exposed Cut Copper=Потемневший резной медный блок
Waxed Exposed Cut Copper=Вощёный потемневший резной медный блок
Molten Raw Copper. It is used to craft blocks.=Медный слиток. Используется для крафта блоков.
Oxidized copper is a decorative block.=Окисленный медный блок это декоративный блок.
Oxidized Copper=Окисленный медный блок
Waxed Oxidized Copper=Вощёный окисленный медный блок
Oxidized cut copper is a decorative block.=Окисленный резной медный блок это декоративный блок.
Oxidized Cut Copper=Окисленный резной медный блок
Waxed 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=Плита из состаренного резного медного блока
Waxed Slab of Cut Copper=Вощёная плита из резного медного блока
Waxed Slab of Exposed Cut Copper=Вощёная плита из потемневшего резного медного блока
Waxed Slab of Oxidized Cut Copper=Вощёная плита из окисленного резного медного блока
Waxed 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=Ступени из состаренного резного медного блока
Waxed Stairs of Cut Copper=Вощёные ступени из резного медного блока
Waxed Stairs of Exposed Cut Copper=Вощёные ступени из потемневшего резного медного блока
Waxed Stairs of Oxidized Cut Copper=Вощёные ступени из окисленного резного медного блока
Waxed Stairs of Weathered Cut Copper=Вощёные ступени из состаренного резного медного блока
Weathered copper is a decorative block.=Состаренный медный блок это декоративный блок.
Weathered Copper=Состаренный медный блок
Waxed Weathered Copper=Вощёный состаренный медный блок
Weathered cut copper is a decorative block.=Состаренный резной медный блок это декоративный блок.
Oxidized Copper=Окисленный медный блок
Waxed Oxidized Copper=Вощёный окисленный медный блок
Cut Copper=Резной медный блок
Waxed Cut Copper=Вощёный резной медный блок
Exposed Cut Copper=Потемневший резной медный блок
Waxed Exposed Cut Copper=Вощёный потемневший резной медный блок
Weathered Cut Copper=Состаренный резной медный блок
Waxed Weathered Cut Copper=Вощёный состаренный резной медный блок
Oxidized Cut Copper=Окисленный резной медный блок
Waxed Oxidized Cut Copper=Вощёный окисленный резной медный блок
Copper Grate=
Waxed Copper Grate=
Exposed Copper Grate=
Waxed Exposed Copper Grate=
Weathered Copper Grate=
Waxed Weathered Copper Grate=
Oxidized Copper Grate=
Waxed Oxidized Copper Grate=
Chiseled Copper=
Waxed Chiseled Copper=
Exposed Chiseled Copper=
Waxed Exposed Chiseled Copper=
Weathered Chiseled Copper=
Waxed Weathered Chiseled Copper=
Oxidized Chiseled Copper=
Waxed Oxidized Chiseled Copper=
Copper Bulb=
Waxed Copper Bulb=
Exposed Copper Bulb=
Waxed Exposed Copper Bulb=
Weathered Copper Bulb=
Waxed Weathered Copper Bulb=
Oxidized Copper Bulb=
Waxed Oxidized Copper Bulb=
(Lit)=
(Powered)=
(Lit and Powered)=
A block of copper is mostly a decorative block.=Медный блок — это декоративный блок.
Exposed copper is a decorative block.=Потемневший медный блок это декоративный блок.
Weathered copper is a decorative block.=Состаренный медный блок это декоративный блок.
Oxidized copper is a decorative block.=Окисленный медный блок это декоративный блок.
Cut copper is a decorative block.=Резной медный блок это декоративный блок.
Exposed cut copper is a decorative block.=Потемневший резной медный блок это декоративный блок.
Weathered cut copper is a decorative block.=Состаренный резной медный блок это декоративный блок.
Oxidized cut copper is a decorative block.=Окисленный резной медный блок это декоративный блок.
Copper grate is a decorative block.=
Exposed copper grate is a decorative block.=
Weathered copper grate is a decorative block.=
Oxidized copper grate is a decorative block.=
Chiseled copper is a decorative block.=
Exposed chiseled copper is a decorative block.=
Weathered chiseled copper is a decorative block.=
Oxidized chiseled copper is a decorative block.=
Copper bulb is a decorative block and a light source when lited.=
Exposed copper bulb is a decorative block and a light source when lited.=
Weathered copper bulb is a decorative block and a light source when lited.=
Oxidized copper bulb is a decorative block and a light source when lited.=
Copper bulb is a decorative block and a light source.=
Exposed copper bulb is a decorative block and a light source.=
Weathered copper bulb is a decorative block and a light source.=
Oxidized copper bulb is a decorative block and a light source.=
Slab of Cut Copper=Плита из резного медного блока
Double Slab of Cut Copper=Двойная плита из резного медного блока
Stairs of Cut Copper=Ступени из резного медного блока
Waxed Slab of Cut Copper=Вощёная плита из резного медного блока
Waxed Double Slab of Cut Copper=Вощёная двойная плита из резного медного блока
Waxed Stairs of Cut Copper=Вощёные ступени из резного медного блока
Slab of Exposed Cut Copper=Плита из потемневшего резного медного блока
Double Slab of Exposed Cut Copper=Двойная плита из потемневшего резного медного блока
Stairs of Exposed Cut Copper=Ступени из потемневшего резного медного блока
Waxed Slab of Exposed Cut Copper=Вощёная плита из потемневшего резного медного блока
Waxed Double Slab of Exposed Cut Copper=Вощёная двойная плита из потемневшего резного медного блока
Waxed Stairs of Exposed Cut Copper=Вощёные ступени из потемневшего резного медного блока
Slab of Weathered Cut Copper=Плита из состаренного резного медного блока
Double Slab of Weathered Cut Copper=Двойная плита из состаренного резного медного блока
Stairs of Weathered Cut Copper=Ступени из состаренного резного медного блока
Waxed Slab of Weathered Cut Copper=Вощёная плита из состаренного резного медного блока
Waxed Double Slab of Weathered Cut Copper=Вощёная двойная плита из состаренного резного медного блока
Waxed Stairs of Weathered Cut Copper=Вощёные ступени из состаренного резного медного блока
Slab of Oxidized Cut Copper=Плита из окисленного резного медного блока
Double Slab of Oxidized Cut Copper=Двойная плита из окисленного резного медного блока
Stairs of Oxidized Cut Copper=Ступени из окисленного резного медного блока
Waxed Slab of Oxidized Cut Copper=Вощёная плита из окисленного резного медного блока
Waxed Double Slab of Oxidized Cut Copper=Вощёная двойная плита из окисленного резного медного блока
Waxed Stairs of Oxidized Cut Copper=Вощёные ступени из окисленного резного медного блока
Copper Door=
Copper Trapdoor=
Waxed Copper Door=
Waxed Copper Trapdoor=
Exposed Copper Door=
Exposed Copper Trapdoor=
Waxed Exposed Copper Door=
Waxed Exposed Copper Trapdoor=
Weathered Copper Door=
Weathered Copper Trapdoor=
Waxed Weathered Copper Door=
Waxed Weathered Copper Trapdoor=
Oxidized Copper Door=
Oxidized Copper Trapdoor=
Waxed Oxidized Copper Door=
Waxed Oxidized Copper Trapdoor=
Copper Button=
Waxed Copper Button=
Exposed Copper Button=
Waxed Exposed Copper Button=
Weathered Copper Button=
Waxed Weathered Copper Button=
Oxidized Copper Button=
Waxed Oxidized Copper Button=
Copper Pressure Plate=
Waxed Copper Pressure Plate=
Exposed Copper Pressure Plate=
Waxed Exposed Copper Pressure Plate=
Weathered Copper Pressure Plate=
Waxed Weathered Copper Pressure Plate=
Oxidized Copper Pressure Plate=
Waxed Oxidized Copper Pressure Plate=
Copper Bars=
Waxed Copper Bars=
Exposed Copper Bars=
Waxed Exposed Copper Bars=
Weathered Copper Bars=
Waxed Weathered Copper Bars=
Oxidized Copper Bars=
Waxed Oxidized Copper Bars=
Copper Ingot=Медный слиток
Molten Raw Copper. It is used to craft blocks.=Медный слиток. Используется для крафта блоков.
Raw Copper=Необработанная медь
Raw Copper. Mine a Copper Ore to get it.=Необработанная медь. Добудьте медную руду, чтобы получить её.
Copper Ore=Медная руда
Some copper contained in stone, it is pretty common and can be found below sea level.=Залежи медной руды находятся в камне, медь довольно распространена и может быть найдена ниже уровня моря.
Block of Raw Copper=Блок необработанной меди
A block used for compact raw copper storage.=Блок используется для компактного хранения необработанной меди.

View File

@ -1,57 +1,140 @@
# textdomain: mcl_copper
A block of copper is mostly a decorative block.=
A block used for compact raw copper storage.=
Block of Copper=
Waxed Block of Copper=
Block of Raw Copper=
Copper Ingot=
Copper Ore=
Cut copper is a decorative block.=
Cut Copper=
Waxed 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=
Waxed Double Slab of Cut Copper=
Waxed Double Slab of Exposed Cut Copper=
Waxed Double Slab of Oxidized Cut Copper=
Waxed Double Slab of Weathered Cut Copper=
Exposed copper is a decorative block.=
Exposed Copper=
Waxed Exposed Copper=
Exposed cut copper is a decorative block.=
Exposed Cut Copper=
Waxed Exposed Cut Copper=
Molten Raw Copper. It is used to craft blocks.=
Oxidized copper is a decorative block.=
Oxidized Copper=
Waxed Oxidized Copper=
Oxidized cut copper is a decorative block.=
Oxidized Cut Copper=
Waxed 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=
Waxed Slab of Cut Copper=
Waxed Slab of Exposed Cut Copper=
Waxed Slab of Oxidized Cut Copper=
Waxed 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=
Waxed Stairs of Cut Copper=
Waxed Stairs of Exposed Cut Copper=
Waxed Stairs of Oxidized Cut Copper=
Waxed Stairs of Weathered Cut Copper=
Weathered copper is a decorative block.=
Weathered Copper=
Waxed Weathered Copper=
Weathered cut copper is a decorative block.=
Oxidized Copper=
Waxed Oxidized Copper=
Cut Copper=
Waxed Cut Copper=
Exposed Cut Copper=
Waxed Exposed Cut Copper=
Weathered Cut Copper=
Waxed Weathered Cut Copper=
Oxidized Cut Copper=
Waxed Oxidized Cut Copper=
Copper Grate=
Waxed Copper Grate=
Exposed Copper Grate=
Waxed Exposed Copper Grate=
Weathered Copper Grate=
Waxed Weathered Copper Grate=
Oxidized Copper Grate=
Waxed Oxidized Copper Grate=
Chiseled Copper=
Waxed Chiseled Copper=
Exposed Chiseled Copper=
Waxed Exposed Chiseled Copper=
Weathered Chiseled Copper=
Waxed Weathered Chiseled Copper=
Oxidized Chiseled Copper=
Waxed Oxidized Chiseled Copper=
Copper Bulb=
Waxed Copper Bulb=
Exposed Copper Bulb=
Waxed Exposed Copper Bulb=
Weathered Copper Bulb=
Waxed Weathered Copper Bulb=
Oxidized Copper Bulb=
Waxed Oxidized Copper Bulb=
(Lit)=
(Powered)=
(Lit and Powered)=
A block of copper is mostly a decorative block.=
Exposed copper is a decorative block.=
Weathered copper is a decorative block.=
Oxidized copper is a decorative block.=
Cut copper is a decorative block.=
Exposed cut copper is a decorative block.=
Weathered cut copper is a decorative block.=
Oxidized cut copper is a decorative block.=
Copper grate is a decorative block.=
Exposed copper grate is a decorative block.=
Weathered copper grate is a decorative block.=
Oxidized copper grate is a decorative block.=
Chiseled copper is a decorative block.=
Exposed chiseled copper is a decorative block.=
Weathered chiseled copper is a decorative block.=
Oxidized chiseled copper is a decorative block.=
Copper bulb is a decorative block and a light source when lited.=
Exposed copper bulb is a decorative block and a light source when lited.=
Weathered copper bulb is a decorative block and a light source when lited.=
Oxidized copper bulb is a decorative block and a light source when lited.=
Copper bulb is a decorative block and a light source.=
Exposed copper bulb is a decorative block and a light source.=
Weathered copper bulb is a decorative block and a light source.=
Oxidized copper bulb is a decorative block and a light source.=
Slab of Cut Copper=
Double Slab of Cut Copper=
Stairs of Cut Copper=
Waxed Slab of Cut Copper=
Waxed Double Slab of Cut Copper=
Waxed Stairs of Cut Copper=
Slab of Exposed Cut Copper=
Double Slab of Exposed Cut Copper=
Stairs of Exposed Cut Copper=
Waxed Slab of Exposed Cut Copper=
Waxed Double Slab of Exposed Cut Copper=
Waxed Stairs of Exposed Cut Copper=
Slab of Weathered Cut Copper=
Double Slab of Weathered Cut Copper=
Stairs of Weathered Cut Copper=
Waxed Slab of Weathered Cut Copper=
Waxed Double Slab of Weathered Cut Copper=
Waxed Stairs of Weathered Cut Copper=
Slab of Oxidized Cut Copper=
Double Slab of Oxidized Cut Copper=
Stairs of Oxidized Cut Copper=
Waxed Slab of Oxidized Cut Copper=
Waxed Double Slab of Oxidized Cut Copper=
Waxed Stairs of Oxidized Cut Copper=
Copper Door=
Copper Trapdoor=
Waxed Copper Door=
Waxed Copper Trapdoor=
Exposed Copper Door=
Exposed Copper Trapdoor=
Waxed Exposed Copper Door=
Waxed Exposed Copper Trapdoor=
Weathered Copper Door=
Weathered Copper Trapdoor=
Waxed Weathered Copper Door=
Waxed Weathered Copper Trapdoor=
Oxidized Copper Door=
Oxidized Copper Trapdoor=
Waxed Oxidized Copper Door=
Waxed Oxidized Copper Trapdoor=
Copper Button=
Waxed Copper Button=
Exposed Copper Button=
Waxed Exposed Copper Button=
Weathered Copper Button=
Waxed Weathered Copper Button=
Oxidized Copper Button=
Waxed Oxidized Copper Button=
Copper Pressure Plate=
Waxed Copper Pressure Plate=
Exposed Copper Pressure Plate=
Waxed Exposed Copper Pressure Plate=
Weathered Copper Pressure Plate=
Waxed Weathered Copper Pressure Plate=
Oxidized Copper Pressure Plate=
Waxed Oxidized Copper Pressure Plate=
Copper Bars=
Waxed Copper Bars=
Exposed Copper Bars=
Waxed Exposed Copper Bars=
Weathered Copper Bars=
Waxed Weathered Copper Bars=
Oxidized Copper Bars=
Waxed Oxidized Copper Bars=
Copper Ingot=
Molten Raw Copper. It is used to craft blocks.=
Raw Copper=
Raw Copper. Mine a Copper Ore to get it.=
Copper Ore=
Some copper contained in stone, it is pretty common and can be found below sea level.=
Block of Raw Copper=
A block used for compact raw copper storage.=

View File

@ -1,4 +1,4 @@
name = mcl_copper
author = NO11
author = NO11, JoseDouglas26, teknomunk
depends = mcl_core, mcl_sounds, mcl_stairs, mcl_util, mcl_oxidation, mcl_stonecutter
description = Adds Copper Ore, blocks and items.

View File

@ -1,5 +1,364 @@
local S = minetest.get_translator("mcl_copper")
--- Function to set drop (only useful for copper bulbs that are not available in the creative inventory).
--- To have a special drop, the block definition must contain the "drop" parameter.
--- "old_name" must be a string containing the name of the node that will receive the special drop
--- (for example, the lit copper bulb that should drop the unlit copper bulb).
--- "index_name" contains the name of the dropped block (in the case of the previous example, name must
--- be bulb_off to define the drop as the unlit and unpowered bulb).
---@param drop string|nil
---@param old_name string
---@param index_name string
---@return string|nil
local function set_drop(drop, old_name, index_name)
if drop and old_name and index_name then
drop = "mcl_copper:"..old_name:gsub(index_name, drop)
end
return drop
end
--- Function used to set special groups for some blocks based on its names.
--- "oxidizable" is the group that indicates that the block can oxidize.
--- "waxed" is the group that indicates that the block can not oxidize.
--- Doors and trapdoors they will be part of groups related to mesecon, indicating that mesecon
--- (redstone) has an effect on them.
---@param name string
---@param groups table
---@return table|nil
local function set_groups(name, groups)
local groups = table.copy(groups)
if name and groups then
if name:find("waxed") then
groups.waxed = 1
elseif not name:find("oxidized") then
groups.oxidizable = 1
end
if name:find("door") then
groups.building_block = 0
groups.mesecon_effector_on = 1
end
else
return nil
end
return groups
end
--- Function to set the light level for copper bulbs. Calculated based on the index passed to the function.
--- "light_source" must be a integer which is the maximum desired light level. "index" must be a integer
--- as well. "index" is used to define the level of oxidation of the bulb, as the light level decreases
--- as the degree of oxidation advances.
---@param light_source integer
---@param index integer
---@return integer
local function set_light_level(light_source, index)
local ceil, floor_5, floor_7 = math.ceil(index / 2), math.floor(index / 5), math.floor(index / 7)
if light_source then
light_source = light_source - 3 * (ceil - 1) - floor_5 - floor_7
end
return light_source
end
--- Function used to set tiles for blocks. "tiles" must be a table with 4 values as waxed variants
--- use the same textures as the unwaxed versions. "index" must be an integer that must be, at most,
--- twice the number of textures in the table (8 as the maximum value).
---@param tiles table
---@param index integer
---@return string|nil
local function set_tiles(tiles, index)
if not tiles or not index then
return
end
return tiles[math.ceil(index / 2)]
end
--- Function used to register all blocks on the oxidation chain, including the waxed variants for each
--- block. It also registers some special blocks like doors, trapdoors, slabs and stairs. "name" should
--- be a string containing the subname of the block. "definitions" must be a table that contains only
--- particular definitions for each block, such as the light level for copper bulbs or the "allfaces"
--- drawtype for copper grates. Some nodes contain a special definition to define the registration of
--- some other blocks (copper slabs and ladders are based on cut copper blocks).
---@param name string
---@param definitions table
local function register_copper_variants(name, definitions)
local names, oxidized_variant, stripped_variant, waxed_variant, tiles
-- Handling the inconsistency of the original itemstrings.
if name ~= "cut" then
names = {
name, "waxed_"..name,
name.."_exposed", "waxed_"..name.."_exposed",
name.."_weathered", "waxed_"..name.."_weathered",
name.."_oxidized", "waxed_"..name.."_oxidized"
}
else
names = {
"block_"..name, "waxed_block_"..name,
"block_exposed_"..name, "waxed_block_exposed_"..name,
"block_weathered_"..name, "waxed_block_weathered_"..name,
"block_oxidized_"..name, "waxed_block_oxidized_"..name
}
end
-- Also handling the inconsistency of the original texture names.
if name == "block" then
tiles = {
"mcl_copper_block.png",
"mcl_copper_exposed.png",
"mcl_copper_weathered.png",
"mcl_copper_oxidized.png"
}
else
tiles = {
"mcl_copper_block_"..name..".png",
"mcl_copper_exposed_"..name..".png",
"mcl_copper_weathered_"..name..".png",
"mcl_copper_oxidized_"..name..".png"
}
end
-- Registering the 8 nodes in the oxidation chain.
for i = 1, #names do
-- Defining whether the block is waxed and defining its stripped variant (its non-oxidized
-- variant, which must precede the waxed variant in the name table).
if names[i]:find("waxed") then
stripped_variant = "mcl_copper:"..names[i-1]
else
-- While the "oxidized" variant is not found, this snippet defines the oxidized variant of
-- the block.
if not names[i]:find("oxidized") then
oxidized_variant = "mcl_copper:"..names[i+2]
end
-- Defining the stripped variant with the exception of the first block in the chain
-- (and the waxed ones that were defined before).
if i ~= 1 then
stripped_variant = "mcl_copper:"..names[i-2]
end
-- Defining the waxed variant for unwaxed variants.
waxed_variant = "mcl_copper:"..names[i+1]
end
-- Registering the blocks.
minetest.register_node("mcl_copper:"..names[i], {
description = mcl_copper.copper_descs[name][i],
drawtype = definitions.drawtype or "normal",
drop = set_drop(definitions.drop, names[i], name),
groups = set_groups(names[i], definitions.groups),
is_ground_content = false,
light_source = set_light_level(definitions.light_source, i),
mesecons = definitions.mesecons,
paramtype = definitions.paramtype or "none",
paramtype2 = definitions.paramtype2 or "none",
sounds = mcl_sounds.node_sound_metal_defaults(),
sunlight_propagates = definitions.sunlight_propagates or false,
tiles = {set_tiles(tiles, i)},
_doc_items_longdesc = mcl_copper.copper_longdescs[name][math.ceil(i/2)],
_mcl_blast_resistance = 6,
_mcl_hardness = 3,
_mcl_oxidized_variant = oxidized_variant,
_mcl_stripped_variant = stripped_variant,
_mcl_waxed_variant = waxed_variant,
})
-- Defining blocks that use mcl_stairs.
if definitions._mcl_stairs then
local subname = mcl_copper.stairs_subnames[name][i]
mcl_stairs.register_slab(subname, "mcl_copper:"..names[i], set_groups(subname, definitions.groups),
{set_tiles(tiles, i), set_tiles(tiles, i), set_tiles(tiles, i)},
mcl_copper.stairs_descs[subname][1], nil, nil, nil,
mcl_copper.stairs_descs[subname][2]
)
mcl_stairs.register_stair(subname, "mcl_copper:"..names[i], set_groups(subname, definitions.groups),
{set_tiles(tiles, i), set_tiles(tiles, i), set_tiles(tiles, i),
set_tiles(tiles, i), set_tiles(tiles, i), set_tiles(tiles, i)},
mcl_copper.stairs_descs[subname][3], nil, nil, nil, "woodlike"
)
end
-- Defining blocks that use mcl_doors.
if definitions._mcl_doors then
local itemimg, lowertext, uppertext, frontimg, sideimg
-- Defining the special groups for doors and trapdoors.
local door_groups = set_groups(names[i]:gsub(name, "door"), definitions.groups)
local trapdoor_groups = set_groups(names[i]:gsub(name, "trapdoor"), definitions.groups)
-- Managing the textures related to doors and trapdoors, as well as the texture of the item
-- for each door. As with the other blocks, the waxed variant uses the same textures as the
-- unwaxed variants.
-- itemimg -> item image for the doors on inventory;
-- lowertext / uppertext -> lower and bottom textures for the doors;
-- frontimg / sideimg -> front and side textures for the trapdoors;
if i % 2 == 1 then
itemimg = "mcl_copper_item_"..names[i]:gsub(name, "door")..".png"
lowertext = "mcl_copper_"..names[i]:gsub(name, "door").."_lower.png"
uppertext = "mcl_copper_"..names[i]:gsub(name, "door").."_upper.png"
frontimg = "mcl_copper_"..names[i]:gsub(name, "trapdoor")..".png"
sideimg = "mcl_copper_"..names[i]:gsub(name, "trapdoor").."_side.png"
else
itemimg = "mcl_copper_item_"..names[i-1]:gsub(name, "door")..".png"
lowertext = "mcl_copper_"..names[i-1]:gsub(name, "door").."_lower.png"
uppertext = "mcl_copper_"..names[i-1]:gsub(name, "door").."_upper.png"
frontimg = "mcl_copper_"..names[i-1]:gsub(name, "trapdoor")..".png"
sideimg = "mcl_copper_"..names[i-1]:gsub(name, "trapdoor").."_side.png"
end
-- Registering doors.
mcl_doors:register_door("mcl_copper:"..names[i]:gsub(name, "door"), {
description = mcl_copper.doors_descs[i][1],
groups = door_groups,
inventory_image = itemimg,
only_redstone_can_open = false,
sounds = mcl_sounds.node_sound_metal_defaults(),
sound_close = "doors_steel_door_close",
sound_open = "doors_steel_door_open",
tiles_bottom = lowertext,
tiles_top = uppertext,
_mcl_blast_resistance = 3,
_mcl_hardness = 3
})
-- Registering trapdoors.
mcl_doors:register_trapdoor("mcl_copper:"..names[i]:gsub(name, "trapdoor"), {
description = mcl_copper.doors_descs[i][2],
groups = trapdoor_groups,
only_redstone_can_open = false,
sounds = mcl_sounds.node_sound_metal_defaults(),
sound_close = "doors_steel_door_close",
sound_open = "doors_steel_door_open",
tile_front = frontimg,
tile_side = sideimg,
wield_image = frontimg,
_mcl_blast_resistance = 3,
_mcl_hardness = 3
})
end
-- Registering buttons.
if definitions._mesecons_buttons then
mesecon.register_button(
names[i]:gsub("block", "copper"),
mcl_copper.button_descs[i],
set_tiles(tiles, i),
nil,
mcl_sounds.node_sound_metal_defaults(),
set_groups(names[i], {handy = 1, pickaxey = 1}),
math.ceil(i / 2) * 0.5,
true,
nil,
"mesecons_button_push"
)
end
-- Registering pressure plates.
if definitions._mesecons_pp then
mesecon.register_pressure_plate(
"mcl_copper:pressure_plate_"..names[i]:gsub("block", "copper"),
mcl_copper.pp_descs[i],
{set_tiles(tiles, i)},
{set_tiles(tiles, i)},
set_tiles(tiles, i),
nil,
nil,
mcl_sounds.node_sound_metal_defaults(),
set_groups(names[i], {pickaxey = 1}),
{player = true, mob = true}
)
end
-- Registering copper bars.
if definitions._xpanes then
local top_img = set_tiles(tiles, i):gsub("mcl_", "xpanes_top_")
local side_img = set_tiles(tiles, i):gsub("mcl_", "xpanes_pane_")
xpanes.register_pane("bars_"..names[i]:gsub("block", "copper"), {
description = mcl_copper.bars_descs[i],
textures = {side_img, side_img, top_img},
inventory_image = side_img,
wield_image = side_img,
groups = set_groups(names[i], {pickaxey = 1}),
sounds = mcl_sounds.node_sound_metal_defaults(),
recipe = nil,
_mcl_blast_resistance = 6,
_mcl_hardness = 3
})
end
end
end
-- Using the function above to register the copper blocks.
register_copper_variants("block", {
groups = {pickaxey = 2, building_block = 1},
-- Copper blocks are no longer the manufacturing material for doors but this definition will be
-- maintained here to avoid individual registration of 16 blocks.
-- Same for buttons, pressure plates and panes.
_mcl_doors = true,
_mesecons_buttons = true,
_mesecons_pp = true,
_xpanes = true
})
-- Using the function above to register the cut copper blocks.
register_copper_variants("cut", {
groups = {pickaxey = 2, building_block = 1},
_mcl_stairs = true,
})
-- Using the function above to register the copper grates.
register_copper_variants("grate", {
drawtype = "allfaces",
groups = {pickaxey = 2, building_block = 1, disable_suffocation = 1},
paramtype = "light",
sunlight_propagates = true,
})
--[[
register_copper_variants("chiseled", {
groups = {pickaxey = 2, building_block = 1}
})
register_copper_variants("bulb_off", {
groups = {pickaxey = 2, building_block = 1},
mesecons = {
effector = {
action_on = function (pos, node)
minetest.swap_node(pos, {name = node.name:gsub("bulb_off", "bulb_powered_on")})
end
},
},
})
register_copper_variants("bulb_on", {
drop = "bulb_off",
groups = {pickaxey = 2, building_block = 1, not_in_creative_inventory = 1},
light_source = 14,
mesecons = {
effector = {
action_on = function (pos, node)
minetest.swap_node(pos, {name = node.name:gsub("bulb_on", "bulb_powered_off")})
end
},
},
paramtype = "light"
})
register_copper_variants("bulb_powered_off", {
drop = "bulb_off",
groups = {pickaxey = 2, building_block = 1, not_in_creative_inventory = 1},
mesecons = {
effector = {
action_off = function (pos, node)
minetest.swap_node(pos, {name = node.name:gsub("bulb_powered_off", "bulb_off")})
end
}
}
})
register_copper_variants("bulb_powered_on", {
drop = "bulb_off",
groups = {pickaxey = 2, building_block = 1, not_in_creative_inventory = 1},
light_source = 14,
mesecons = {
effector = {
action_off = function (pos, node)
minetest.swap_node(pos, {name = node.name:gsub("bulb_powered_on", "bulb_on")})
end
}
},
paramtype = "light"
})
]]
-- Registering specific blocks.
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."),
@ -19,324 +378,8 @@ minetest.register_node("mcl_copper:block_raw", {
_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, blast_furnace_smeltable = 1 },
groups = {pickaxey = 2, building_block = 1, blast_furnace_smeltable = 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, oxidizable = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 3,
_mcl_oxidized_variant = "mcl_copper:block_exposed",
_mcl_waxed_variant = "mcl_copper:waxed_block",
})
minetest.register_node("mcl_copper:waxed_block", {
description = S("Waxed 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, waxed = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 3,
_mcl_stripped_variant = "mcl_copper:block",
})
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, oxidizable = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_oxidized_variant = "mcl_copper:block_weathered",
_mcl_waxed_variant = "mcl_copper:waxed_block_exposed",
_mcl_stripped_variant = "mcl_copper:block",
})
minetest.register_node("mcl_copper:waxed_block_exposed", {
description = S("Waxed 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, waxed = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_stripped_variant = "mcl_copper:block_exposed",
})
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, oxidizable = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_oxidized_variant = "mcl_copper:block_oxidized",
_mcl_waxed_variant = "mcl_copper:waxed_block_weathered",
_mcl_stripped_variant = "mcl_copper:block_exposed",
})
minetest.register_node("mcl_copper:waxed_block_weathered", {
description = S("Waxed 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, waxed = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_stripped_variant = "mcl_copper:block_weathered",
})
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_waxed_variant = "mcl_copper:waxed_block_oxidized",
_mcl_stripped_variant = "mcl_copper:block_weathered",
})
minetest.register_node("mcl_copper:waxed_block_oxidized", {
description = S("Waxed 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, waxed = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_stripped_variant = "mcl_copper:block_oxidized",
})
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, oxidizable = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_oxidized_variant = "mcl_copper:block_exposed_cut",
_mcl_waxed_variant = "mcl_copper:waxed_block_cut",
})
minetest.register_node("mcl_copper:waxed_block_cut", {
description = S("Waxed 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, waxed = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_stripped_variant = "mcl_copper:block_cut",
})
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, oxidizable = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_waxed_variant = "mcl_copper:waxed_block_exposed_cut",
_mcl_oxidized_variant = "mcl_copper:block_weathered_cut",
_mcl_stripped_variant = "mcl_copper:block_cut",
})
minetest.register_node("mcl_copper:waxed_block_exposed_cut", {
description = S("Waxed 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, waxed = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_stripped_variant = "mcl_copper:block_exposed_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, oxidizable = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_stripped_variant = "mcl_copper:block_exposed_cut",
_mcl_oxidized_variant = "mcl_copper:block_oxidized_cut",
_mcl_waxed_variant = "mcl_copper:waxed_block_weathered_cut",
})
minetest.register_node("mcl_copper:waxed_block_weathered_cut", {
description = S("Waxed 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, waxed = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_stripped_variant = "mcl_copper:block_weathered_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_stripped_variant = "mcl_copper:block_weathered_cut",
_mcl_waxed_variant = "mcl_copper:waxed_block_oxidized_cut",
})
minetest.register_node("mcl_copper:waxed_block_oxidized_cut", {
description = S("Waxed 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, waxed = 1},
sounds = mcl_sounds.node_sound_metal_defaults(),
_mcl_blast_resistance = 6,
_mcl_hardness = 5,
_mcl_stripped_variant = "mcl_copper:block_oxidized_cut",
})
mcl_stairs.register_slab("copper_cut", "mcl_copper:block_cut",
{pickaxey = 2, oxidizable = 1},
{"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("waxed_copper_cut", "mcl_copper:waxed_block_cut",
{pickaxey = 2, waxed = 1},
{"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"},
S("Waxed Slab of Cut Copper"),
nil, nil, nil,
S("Waxed Double Slab of Cut Copper"))
mcl_stairs.register_slab("copper_exposed_cut", "mcl_copper:block_exposed_cut",
{pickaxey = 2, oxidizable = 1},
{"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("waxed_copper_exposed_cut", "mcl_copper:waxed_block_exposed_cut",
{pickaxey = 2, waxed = 1},
{"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"},
S("Waxed Slab of Exposed Cut Copper"),
nil, nil, nil,
S("Waxed Double Slab of Exposed Cut Copper"))
mcl_stairs.register_slab("copper_weathered_cut", "mcl_copper:block_weathered_cut",
{pickaxey = 2, oxidizable = 1},
{"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_slab("waxed_copper_weathered_cut", "mcl_copper:waxed_block_weathered_cut",
{pickaxey = 2, waxed = 1},
{"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"},
S("Waxed Slab of Weathered Cut Copper"),
nil, nil, nil,
S("Waxed Double Slab of Weathered 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("waxed_copper_oxidized_cut", "mcl_copper:waxed_block_oxidized_cut",
{pickaxey = 2, waxed = 1},
{"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"},
S("Waxed Slab of Oxidized Cut Copper"),
nil, nil, nil,
S("Waxed Double Slab of Oxidized Cut Copper"))
mcl_stairs.register_stair("copper_cut", "mcl_copper:block_cut",
{pickaxey = 2, oxidizable = 1},
{"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("waxed_copper_cut", "mcl_copper:waxed_block_cut",
{pickaxey = 2, waxed = 1},
{"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("Waxed Stairs of Cut Copper"),
nil, 6, nil,
"woodlike")
mcl_stairs.register_stair("copper_exposed_cut", "mcl_copper:block_exposed_cut",
{pickaxey = 2, oxidizable = 1},
{"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("waxed_copper_exposed_cut", "mcl_copper:waxed_block_exposed_cut",
{pickaxey = 2, waxed = 1},
{"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("Waxed Stairs of Exposed Cut Copper"),
nil, 6, nil,
"woodlike")
mcl_stairs.register_stair("copper_weathered_cut", "mcl_copper:block_weathered_cut",
{pickaxey = 2, oxidizable = 1},
{"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")
mcl_stairs.register_stair("waxed_copper_weathered_cut", "mcl_copper:waxed_block_weathered_cut",
{pickaxey = 2, waxed = 1},
{"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("Waxed Stairs of Weathered 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("waxed_copper_oxidized_cut", "mcl_copper:waxed_block_oxidized_cut",
{pickaxey = 2, waxed = 1},
{"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("Waxed Stairs of Oxidized Cut Copper"),
nil, 6, nil,
"woodlike")

View File

@ -111,7 +111,7 @@ for _, p in pairs(deepslate_ores) do
end
if copper_mod then
register_deepslate_ore("Copper", "mcl_copper:raw_copper", "mcl_copper:copper_ingot", 4, 4)
register_deepslate_ore("Copper", "mcl_copper:raw_copper", "mcl_copper:copper_ingot", 3, 4)
end
local redstone_timer = 68.28

View File

@ -8,23 +8,34 @@ local S = minetest.get_translator(minetest.get_current_modname())
local alldirs = { { x = 0, y = 0, z = 1 }, { x = 1, y = 0, z = 0 }, { x = 0, y = 0, z = -1 }, { x = -1, y = 0, z = 0 }, { x = 0, y = -1, z = 0 }, { x = 0, y = 1, z = 0 } }
-- Waxing Function
function mcl_honey.wax_block(pos, node, player, itemstack)
function mcl_honey.wax_block(pos, node, player, itemstack, pointed_thing)
-- prevent modification of protected nodes.
if mcl_util.check_position_protection(pos, player) then
return
end
if mcl_util.check_position_protection(pos, player) then return end
-- Make sure we aren't trying to wax an unknown node
local def = minetest.registered_nodes[node.name]
if not def then return itemstack end
if def and def._mcl_waxed_variant then
node.name = def._mcl_waxed_variant
else
return
-- Do right-click action if a handler exists and the player isn't sneaking
if def.on_rightclick and not ( player and player:get_player_control().sneak ) then
return def.on_rightclick(pos, node, player, itemstack, pointed_thing)
end
-- We shouldn't try to wax blocks that don't have a waxed variant
if not def._mcl_waxed_variant then return end
-- Wax the node
node.name = def._mcl_waxed_variant
minetest.set_node(pos, node)
minetest.swap_node(pos, node)
-- Call the node's waxed hook
local hook = def._mcl_on_wax
if hook then hook(pos, node, def) end
-- Handle the award
awards.unlock(player:get_player_name(), "mcl:wax_on")
-- Deal with the honeycomb
if not minetest.is_creative_enabled(player:get_player_name()) then
itemstack:take_item()
end
@ -46,7 +57,7 @@ minetest.register_craftitem("mcl_honey:honeycomb", {
local pos = pointed_thing.under
-- wax the block. This is the only viable usage of honeycomb's on_place. If it "fails" to wax, then nothing is changed.
return mcl_honey.wax_block(pos, node, placer, itemstack)
return mcl_honey.wax_block(pos, node, placer, itemstack, pointed_thing)
end,
})

View File

@ -638,7 +638,7 @@ function mcl_itemframes.create_base_definitions()
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
groups = { dig_immediate = 3, deco_block = 1, dig_by_piston = 1, container = 1, attached_node_facedir = 1 },
groups = { dig_immediate = 3, deco_block = 1, dig_by_piston = 1, container = 1, supported_node_facedir = 1 },
sounds = mcl_sounds.node_sound_defaults(),
node_placement_prediction = "",

View File

@ -266,7 +266,7 @@ minetest.register_node("mcl_mangrove:river_water_logged_roots",rwlroots)
minetest.register_node("mcl_mangrove:mangrove_mud_roots", {
description = S("Muddy Mangrove Roots"),
_tt_help = S("crafted with Mud and Mangrove roots"),
_tt_help = S("Crafted with Mud and Mangrove roots"),
_doc_items_longdesc = S("Muddy Mangrove Roots is a block from mangrove swamp.It drowns player a bit inside it."),
tiles = {
"mcl_mud.png^mcl_mangrove_roots_top.png",

View File

@ -21,7 +21,7 @@ water logged mangrove roots=racines de palétuvier immergées
Mangrove roots, despite being a full block, can be waterlogged and do not flow water out=Les racines de palétuvier sont un bloc plein mais qui peut être immergé et ne remplace pas l'eau.
These cannot be crafted yet only occure when get in contact of water.=Elles ne peuvent être fabriquées mais se forment au contact de l'eau.
Muddy Mangrove Roots=Racines de palétuvier boueuses
crafted with Mud and Mangrove roots=fabriqué avec de la boue et des racines de palétuvier
Crafted with Mud and Mangrove roots=Fabriqué avec de la boue et des racines de palétuvier
Muddy Mangrove Roots is a block from mangrove swamp.It drowns player a bit inside it.=Les racines de palétuvier boueuses sont un bloc du marécage de la mangrove. Il noie un joueur à l'intérieur.
Mangrove Door=Porte en palétuvier
Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.=Les portes en bois sont des barrières hautes à 2 blocs qui peuvent être ouvertes ou fermées à la main et par un signal redstone.

View File

@ -21,7 +21,7 @@ water logged mangrove roots=水没したマングローブの根
Mangrove roots, despite being a full block, can be waterlogged and do not flow water out=マングローブの根は、フルブロックであるにもかかわらず水没することがあり、水が流出しない
These cannot be crafted yet only occure when get in contact of water.=これはクラフトできないものの、水と接触したときだけ発生します。
Muddy Mangrove Roots=泥に塗れたマングローブの根
crafted with Mud and Mangrove roots=泥とマングローブの根で作られたもの
Crafted with Mud and Mangrove roots=泥とマングローブの根で作られたもの
Muddy Mangrove Roots is a block from mangrove swamp.It drowns player a bit inside it.=泥に塗れたマングローブの根は、マングローブの沼地から1ブロックの場所にあります。
Mangrove Door=マングローブのドア
Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.=木製のドアは、高さ2ブロックの障壁で、手やレッドストーンの信号で開閉できます。

View File

@ -21,7 +21,7 @@ water logged mangrove roots=Raízes de Mangue Alagadas
Mangrove roots, despite being a full block, can be waterlogged and do not flow water out=Raízes de mangue, mesmo sendo um bloco inteiro, podem ser alagadas e não escorre água delas.
These cannot be crafted yet only occure when get in contact of water.=Essas não podem ser fabricadas ainda ocorrendo apenas quando tem contato com a água.
Muddy Mangrove Roots=Raízes Barrentas de Mangue
crafted with Mud and Mangrove roots=Fabricadas com barro e raízes de mangue
Crafted with Mud and Mangrove roots=Fabricadas com barro e raízes de mangue
Muddy Mangrove Roots is a block from mangrove swamp.It drowns player a bit inside it.=Raízes barrentas de mangue é um bloco dos pântanos de mangue. Afunda o jogador um pouco para dentro de si.
Mangrove Door=Porta de Mangue
Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.=Portas de madeira são barreiras de 2 blocos de altura as quais podem ser abertas ou fechadas pela mão e por um sinal de redstone.

View File

@ -21,7 +21,7 @@ water logged mangrove roots=Затопленные мангровые корни
Mangrove roots, despite being a full block, can be waterlogged and do not flow water out=Мангровые корни, не смотря на то что это полный блок, может быть затоплен и не выпускать воду наружу.
These cannot be crafted yet only occure when get in contact of water.=Нельзя скрафтить, появляется только при контакте с водой.
Muddy Mangrove Roots=Грязные мангровые корни
crafted with Mud and Mangrove roots=Крафтится с помощью грязи и мангровых корней
Crafted with Mud and Mangrove roots=Крафтится с помощью грязи и мангровых корней
Muddy Mangrove Roots is a block from mangrove swamp.It drowns player a bit inside it.=Грязные мангровые корни это блок из мангровых болот. Игрок немного погружается внутрь них.
Mangrove Door=Мангровая дверь
Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.=Деревянные двери это преграды высотой в 2 блока, которые можно открывать и закрывать вручную и по сигналу редстоуна.

View File

@ -21,7 +21,7 @@ water logged mangrove roots=
Mangrove roots, despite being a full block, can be waterlogged and do not flow water out=
These cannot be crafted yet only occure when get in contact of water.=
Muddy Mangrove Roots=
crafted with Mud and Mangrove roots=
Crafted with Mud and Mangrove roots=
Muddy Mangrove Roots is a block from mangrove swamp.It drowns player a bit inside it.=
Mangrove Door=
Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.=

View File

@ -66,6 +66,33 @@ This section describes parts of the API related to defining and managing effects
`mcl_potions.get_effect(object, effect_name)` - returns a table containing values of the effect of the ID `effect_name` on the `object` if the object has the named effect, `false` otherwise.
* table returned by the above function is like this:
```lua
effect = {
dur = float -- duration of the effect in seconds, may be infinite
timer = float -- how much of the duration (in seconds) has already elapsed
no_particles = bool -- if this is true, no particles signifying this effect will appear
-- player-only fields
hud_index = int -- position in the HUD used by this effect (icon, level, timer) - probably meaningless outside mcl_potions
-- optional fields
factor = float -- power of the effect if the effect uses factor; this may mean different things depending on the effect
step = float -- how often (in seconds) the on_step() function of the effect is executed, if it exists
hit_timer = float -- how much of the step (in seconds) has already elapsed
-- effect-specific fields
-- effects in mcl_potions have their own fields here, for now external effects can't add any here
blocked = bool -- used by conduit power
high = bool -- used by nausea
vignette = int -- handle to the HUD vignette of the effect, used by effects that use one
absorb = float -- "HP" of the absorption effect
waypoints = table -- used by glowing, indexed by player ObjectRef, contains HUD handles for the glowing waypoints
flash = float -- used by darkness, denotes vision range modifier
flashdir = bool -- used by darkness, denotes whether vision range is increasing (or decreasing)
}
```
`mcl_potions.get_effect_level(object, effect_name)` returns the level of the effect of the ID `effect_name` on the `object`. If the effect has no levels, returns `1`. If the object doesn't have the effect, returns `0`. If the effect is not registered, returns `nil`.
@ -120,6 +147,7 @@ This section describes parts of the API related to defining and managing effects
#### Internally registered effects
You can't register effects going by these names, because they are already used:
* `invisibility`
* `poison`
* `regeneration`

View File

@ -372,7 +372,9 @@ mcl_potions.register_effect({
playerphysics.add_physics_factor(object, "gravity", "mcl_potions:slow_falling", 0.5)
end,
on_step = function(dtime, object, factor, duration)
local vel = object:get_velocity().y
local vel = object:get_velocity()
if not vel then return end
vel = vel.y
if vel < -3 then object:add_velocity(vector.new(0,-3-vel,0)) end
end,
on_end = function(object)
@ -430,7 +432,9 @@ mcl_potions.register_effect({
return S("moves body upwards at @1 nodes/s", factor)
end,
on_step = function(dtime, object, factor, duration)
local vel = object:get_velocity().y
local vel = object:get_velocity()
if not vel then return end
vel = vel.y
if vel<factor then object:add_velocity(vector.new(0,factor,0)) end
end,
particle_color = "#420E7E",
@ -457,6 +461,7 @@ mcl_potions.register_effect({
end,
on_end = function(object)
local meta = object:get_meta()
if not meta then return end
meta:set_int("night_vision", 0)
mcl_weather.skycolor.update_sky_color({object})
end,
@ -499,7 +504,9 @@ mcl_potions.register_effect({
mcl_weather.skycolor.update_sky_color({object})
end,
on_end = function(object)
object:get_meta():set_int("darkness", 0)
local meta = object:get_meta()
if not meta then return end
meta:set_int("darkness", 0)
mcl_weather.skycolor.update_sky_color({object})
object:set_sky({fog = {
fog_distance = -1,

View File

@ -1,27 +1,283 @@
# textdomain: mcl_potions
<effect> <duration> [<factor>]=<effet> <durée> [<facteur>]
Invisibility=Invisibilité
body is invisible=le corps est invisible
Poison=Poison
-1 HP / @1 s=-1 PV / @1 s
Regeneration=Régénération
+1 HP / @1 s=+1 PV / @1 s
Strength=Force
+@1% melee damage=+@1% dégâts de mêlée
Weakness=Faiblesse
-@1% melee damage=-@1% dégâts de mêlée
Water Breathing=Respiration aquatique
limitless breathing under water=respiration illimitée sous l'eau
Dolphin's Grace=Grâce du dauphin
swimming gracefully=nage gracieuse
Leaping=Saut
+@1% jumping power=+@1% puissance de saut
-@1% jumping power=-@1% puissance de saut
Slow Falling=Chute lente
decreases gravity effects=diminue les effets de la gravité
Swiftness=Rapidité
+@1% running speed=+@1% vitesse de course
Slowness=Lenteur
-@1% running speed=-@1% vitesse de course
Levitation=Lévitation
moves body upwards at @1 nodes/s=déplace le corps vers le haut à @1 nœuds/s
Night Vision=Vision nocturne
improved vision during the night=améliore la vision durant la nuit
Darkness=Obscurité
surrounded by darkness=entouré d'obscurité
not seeing anything beyond @1 nodes=ne vois rien au-delà de @1 nœuds
Glowing=Surbrillance
more visible at all times=plus visible en permanence
Health Boost=Bonus de santé
HP increased by @1=PV augmentés de @1
Absorption=Absorption
absorbs up to @1 incoming damage=absorbe jusqu'à @1 dégâts reçus
Fire Resistance=Résistance au feu
resistance to fire damage=resistance aux dégâts du feu
Resistance=Résistance
resist @1% of incoming damage=résiste à @1% des dégâts reçus
Luck=Chance
Bad Luck=Malchance
Bad Omen=Mauvais présage
danger is imminent=un danger est imminent
Hero of the Village=Héros du village
Withering=Dépérissement
-1 HP / @1 s, can kill=-1 PV / @1 s, peut tuer
Frost=Gel
-1 HP / 1 s, can kill, -@1% running speed=-1 PV / @1 s, peut tuer, -@1% vitesse de course
Blindness=Cécité
impaired sight=déficience visuelle
Nausea=Nausée
not feeling very well...=ne se sent pas très bien
frequency: @1 / 1 s=fréquence : @1 / 1 s
Food Poisoning=Intoxication alimentaire
exhausts by @1 per second=s'épuise de @1 par seconde
Saturation=Saturation
saturates by @1 per second=sature de @1 par seconde
Haste=Célérité
+@1% mining and attack speed=+@1% de vitesse d'attaque et de minage
Fatigue=Fatigue
-@1% mining and attack speed=-@1% de vitesse d'attaque et de minage
Conduit Power=Force de conduit
+@1% mining and attack speed in water=+@1% de vitesse d'attaque et de minage sous l'eau
<effect>|heal|list|clear|remove <duration|heal-amount|effect>|INF [<level>] [<factor>] [NOPART]=<effet>|heal|list|clear|remove <durée|quantité-soin|effet>|INF [<niveau>] [<facteur>] [NOPART]
Add a status effect to yourself. Arguments: <effect>: name of status effect. Passing "list" as effect name lists available effects. Passing "heal" as effect name heals (or harms) by amount designed by the next parameter. Passing "clear" as effect name removes all effects. Passing "remove" as effect name removes the effect named by the next parameter. <duration>: duration in seconds. Passing "INF" as duration makes the effect infinite. (<heal-amount>: amount of healing when the effect is "heal", passing a negative value subtracts health. <effect>: name of a status effect to be removed when using "remove" as the previous parameter.) <level>: effect power determinant, bigger level results in more powerful effect for effects that depend on the level (no changes for other effects), defaults to 1, pass F to use low-level factor instead. <factor>: effect strength modifier, can mean different things depending on the effect, no changes for effects that do not depend on level/factor. NOPART at the end means no particles will be shown for this effect.=Ajoute un effet de statut à vous-même. Arguments : <effet> : nom de l'effet de statut. Utiliser "list" comme nom d'effet liste les effets disponibles. Utiliser "heal" comme nom d'effet soigne (ou blesse) d'un nombre défini par le paramètre suivant. Utiliser "clear" comme nom d'effet enleve tous les effets. Utiliser "remove" comme nom d'effet enlève l'effet nommé dans le paramètre suivant. <durée> : durée en secondes. Utiliser "INF" comme durée rends l'effet infini. (<quantité-soin> : quantité de soin lorsque l'effet est "heal", utiliser une valeur négative enlève de la santé. <effet> : nom de l'effet de statut à enlever lors de l'utilisation de "remove" comme paramètre précédent.) <niveau> : détermine la puissance de l'effet, un niveau plus élevé se traduit par un effet plus puissant pour les effets qui dépendent du niveau (aucun changement pour les autres effets), défaut à 1, utiliser F pour utiliser un facteur de bas niveau à la place. <facteur> : effet modificateur de force, peut avoir différentes significations en fonction de l'effet, pas de changement pour les effets qui ne dépendent pas du niveau/facteur. NOPART à la fin signifie qu'aucune particule ne sera affichée pour cet effet.
Missing effect parameter!=Paramètre d'effet manquant !
Missing or invalid heal amount parameter!=Paramètre de quantité de soin manquant ou invalide !
Player @1 healed by @2 HP.=Joueur @1 soigné de @2 PV.
Player @1 harmed by @2 HP.=Joueur @1 blessé de @2 PV.
Effects cleared for player @1=Effets effacés pour le joueur @1
Removed effect @1 from player @2=Effet @1 enlevé pour le joueur @2
@1 is not an available status effect.=@1 n'est pas un effet de statut disponible.
Missing or invalid duration parameter!=Paramètre de durée manquant ou invalide !
Invalid level parameter!=Paramètre de niveau invalide !
Missing or invalid factor parameter when level is F!=Paramètre de facteur manquant ou invalide quand le niveau est F!
@1 effect given to player @2 for @3 seconds with factor of @4.=Effet @1 donné au joueur @2 pour @3 seconds avec un facteur de @4.
@1 effect given to player @2 for @3 seconds.=Effet @1 donné au joueur @2 pour @3 seconds.
Giving effect @1 to player @2 failed.=L'attribution de l'effet @1 au joueur @2 a échoué.
@1 effect on level @2 given to player @3 for @4 seconds.=Effet @1 de niveau @2 donné au joueur @3 pendant @4 secondes.
A throwable potion that will shatter on impact, where it gives all nearby players and mobs a status effect or a set of status effects.=Une potion jetable qui se brisera à l'impact, où elle donne à tous les joueurs et créatures proches un effet de statut ou un ensemble d'effets de statut.
Use the “Punch” key to throw it.=Utilisez la touche "Frapper" pour la lancer.
A throwable potion that will shatter on impact, where it creates a magic cloud that lingers around for a while. Any player or mob inside the cloud will receive the potion's effect or set of effects, possibly repeatedly.=Une potion jetable qui se brisera à l'impact, où elle crée un nuage magique qui persiste pendant un moment. Tout joueur ou mob à l'intérieur du nuage recevra l'effet de la potion ou un ensemble d'effets, peut-être à plusieurs reprises.
This particular arrow is tipped and will give an effect when it hits a player or mob.=Cette flèche particulière est enchantée et donnera un effet lorsqu'elle touche un joueur ou un mob.
Use the “Place” key to drink it.=Utilisez la touche "Utiliser" pour la boire.
Drinking a potion gives you a particular effect or set of effects.=Boire une potion vous donne un effet particulier ou un ensemble d'effets.
@1 Potion @2=@1 potion @2
@1 Potion=Potion @1
Potion @1=Potion @1
Strange Potion=Potion étrange
Splash @1=@1 jetable
Lingering @1=@1 persistante
@1 Arrow @2=@1 flèche @2
@1 Arrow=Flèche @1
Arrow @1=Flèche @1
Strange Tipped Arrow=Flèche à pointe étrange
Mighty=puissante
of Trolling=de trollage
Dragon's Breath=Souffle du dragon
This item is used in brewing and can be combined with splash potions to create lingering potions.=Cet objet est utilisé dans le brassage et peut être combiné avec des potions jetables pour créer des potions persistantes.
Awkward=étrange
No effect=Aucun effet
Has an awkward taste and is used for brewing potions.=A un goût étrange et est utilisée pour préparer des potions.
Mundane=banale
Has a terrible taste and is not really useful for brewing potions.=A un goût terrible et n'est pas vraiment utile pour préparer des potions.
Thick=épaisse
Has a bitter taste and may be useful for brewing potions.=A un goût amer et peut être utile pour préparer des potions.
of Healing=de guérison
+@1 HP=+@1 PV
Instantly heals.=Guérit instantanément
of Harming=de dégâts
-@1 HP=-@1 PV
Instantly deals damage.=Inflige des dégâts instantanément.
of Night Vision=de vision nocturne
Increases the perceived brightness of light under a dark sky.=Augmente la luminosité de la lumière perçue sous un ciel sombre.
of Swiftness=de rapidité
Increases walking speed.=Augmente la vitesse de marche.
of Slowness=de lenteur
Decreases walking speed.=Diminue la vitesse de marche.
of Leaping=de saut
Increases jump strength.=Augmente la force de saut.
of Withering=de dépérissement
Applies the withering effect which deals damage at a regular interval and can kill.=Applique l'effet de dépérissement qui inflige des dégâts à intervalles réguliers et peut tuer.
of Poison=de poison
Applies the poison effect which deals damage at a regular interval.=Applique l'effet de poison qui inflige des dégâts à intervalles réguliers.
of Regeneration=de régénération
Regenerates health over time.=Régénère la santé au fil du temps.
of Invisibility=d'invisibilité
Grants invisibility.=Confère l'invisibilité.
of Water Breathing=de respiration aquatique
Grants limitless breath underwater.=Confère une respiration illimitée sous l'eau.
of Fire Resistance=de résistance au feu
Grants immunity to damage from heat sources like fire.=Confère une immunité aux dégâts causés par des sources de chaleur comme le feu.
of Strength=de force
Increases attack power.=Augmente la puissance d'attaque.
of Weakness=de faiblesse
Decreases attack power.=Diminue la puissance d'attaque.
of Slow Falling=de chute lente
Instead of falling, you descend gracefully.=Au lieu de tomber, vous descendez avec grâce.
of Levitation=de lévitation
Floats body slowly upwards.=Le corps flotte lentement vers le haut.
of Darkness=d'obscurité
Surrounds with darkness.=Entoure d'obscurité.
of Glowing=de surbrillance
Highlights for others to see.=Mise en valeur pour que les autres voient.
of Health Boost=de bonus de santé
Increases health.=Augmente la santé.
of Absorption=d'absorption
Absorbs some incoming damage.=Absorbe les dégâts reçus.
of Resistance=de résistance
Decreases damage taken.=Diminue les dégâts subis.
of Stone Cloak=de manteau de pierre
Decreases damage taken at the cost of speed.=Diminue les dégâts subis au détriment de la vitesse.
of Luck=de chance
Increases luck.=Augmente la chance.
of Bad Luck=de malchance
Decreases luck.=Diminue la chance.
of Frost=de gel
Freezes...=Gèle...
of Blindness=de cécité
Impairs sight.=Altére la vue.
of Nausea=de nausée
Disintegrates senses.=Désintègre les sens.
of Food Poisoning=d'intoxication alimentaire
Moves bowels too fast.=Déplace les intestins trop rapidement.
of Saturation=de saturation
Satisfies hunger.=Satisfait la faim.
of Haste=de célérité
Increases digging and attack speed.=Augmente la vitesse de creusage et d'attaque.
of Fatigue=de fatigue
Decreases digging and attack speed.=Diminue la vitesse de creusage et d'attaque.
Ominous=funeste
Attracts danger.=Attire le danger.
Unknown Potion=Potion inconnue
Right-click to identify=Clic droit pour identifier
Unknown Tipped Arrow=Flèche à pointe inconnue
Add a status effect to yourself. Arguments: <effect>: name of status effect, e.g. poison. <duration>: duration in seconds. <factor>: effect strength multiplier (1 @= 100%)=Ajoutez-vous un effet de statut. Arguments: <effet>: nom de l'effet de statut, par ex. poison. <duration>: durée en secondes. <facteur>: multiplicateur de force d'effet (1 @= 100%)
Missing effect parameter!=Paramètre d'effet manquant!
Missing or invalid duration parameter!=Paramètre durée manquant ou invalide!
Invalid factor parameter!=Paramètre facteur invalide!
@1 is not an available status effect.=@1 n'est pas un effet disponible.
Fermented Spider Eye=Oeil d'araignée fermenté
Try different combinations to create potions.=Essayez différentes combinaisons pour créer des potions.
Glass Bottle=Bouteille en verre
Liquid container=Récipient de liquide
A glass bottle is used as a container for liquids and can be used to collect water directly.=Une bouteille en verre est utilisée comme récipient pour les liquides et peut être utilisée pour collecter l'eau directement.
A glass bottle is used as a container for liquids and can be used to collect water directly.=Une bouteille en verre est utilisée comme récipient pour les liquides et peut être utilisée pour recueillir l'eau directement.
To collect water, use it on a cauldron with water (which removes a level of water) or any water source (which removes no water).=Pour collecter l'eau, poser la sur un chaudron avec de l'eau (qui enlève un niveau d'eau) ou toute source d'eau (qui n'enlève pas d'eau).
To collect water, use it on a cauldron with water (which removes a level of water) or any water source (which removes no water).=Pour récolter l'eau, utilisez la sur un chaudron avec de l'eau (qui enlève un niveau d'eau) ou toute source d'eau (qui n'enlève pas d'eau).
Water Bottle=Bouteille d'eau
Water bottles can be used to fill cauldrons. Drinking water has no effect.=Les bouteilles d'eau peuvent être utilisées pour remplir les chaudrons. L'eau potable n'a aucun effet.
Water bottles can be used to fill cauldrons. Drinking water has no effect.=Les bouteilles d'eau peuvent être utilisées pour remplir les chaudrons. Boire l'eau n'a aucun effet.
Use the “Place” key to drink. Place this item on a cauldron to pour the water into the cauldron.=Utilisez la touche "Utiliser" pour boire. Placez cet article sur un chaudron pour verser l'eau dans le chaudron.
River Water Bottle=Bouteille d'eau de rivière
River water bottles can be used to fill cauldrons. Drinking it has no effect.=Les bouteilles d'eau de rivière peuvent être utilisées pour remplir les chaudrons. Le boire n'a aucun effet.
River water bottles can be used to fill cauldrons. Drinking it has no effect.=Les bouteilles d'eau de rivière peuvent être utilisées pour remplir les chaudrons. La boire n'a aucun effet.
Use the “Place” key to drink. Place this item on a cauldron to pour the river water into the cauldron.=Utilisez la touche "Utiliser" pour boire. Placez cet objet sur un chaudron pour verser l'eau de la rivière dans le chaudron.
@ -37,79 +293,3 @@ A throwable water bottle that will shatter on impact, where it creates a cloud o
Glistering Melon=Melon étincelant
This shiny melon is full of tiny gold nuggets and would be nice in an item frame. It isn't edible and not useful for anything else.=Ce melon brillant est plein de minuscules pépites d'or et serait bien dans un cadre d'objet. Il n'est pas comestible et n'est utile à rien d'autre.
A throwable potion that will shatter on impact, where it creates a magic cloud that lingers around for a while. Any player or mob inside the cloud will receive the potion's effect, possibly repeatedly.=Une potion jetable qui se brisera à l'impact, où elle crée un nuage magique qui persiste pendant un moment. Tout joueur ou mob à l'intérieur du nuage recevra l'effet de la potion, peut-être à plusieurs reprises.
Use the “Punch” key to throw it.=Utilisez la touche "Frapper" pour le lancer.
Use the “Place” key to drink it.=Utilisez la touche "Utiliser" pour le boire.
Drinking a potion gives you a particular effect.=Boire une potion vous donne un effet particulier.
1 HP/@1s | @2=1 PV/@1s | @2
@1 HP=@1 PV
@1 Potion=Potion @1
Splash @1 Potion=Potion @1 jetable
Lingering @1 Potion=Potion @1 persistante
Arrow of @1=Flêche de @1
II= II
IV= IV
@1 Potion@2=@1 Potion@2
Splash @1@2 Potion=Potion @1@2 jetable
Lingering @1@2 Potion=Potion @1@2 persistante
Arrow of @1@2=Flêche de @1@2
@1 + Potion=@1 + Potion
Splash @1 + Potion=Potion @1 + jetable
Lingering @1 + Potion=Potion @1 + persistante
Arrow of @1 +=Flêche de @1 +
Awkward Potion=Potion étrange
Awkward Splash Potion=Potion étrange jetable
Awkward Lingering Potion=Potion étrange persistante
Has an awkward taste and is used for brewing potions.=A un goût étrange et est utilisé pour préparer des potions.
Mundane Potion=Potion banale
Mundane Splash Potion=Potion banale jetable
Mundane Lingering Potion=Potion banale persistante
Has a terrible taste and is not useful for brewing potions.=A un goût terrible et n'est pas utile pour préparer des potions.
Thick Potion=Potion épaisse
Thick Splash Potion=Potion épaisse jetable
Thick Lingering Potion=Potion épaisse persistante
Has a bitter taste and is not useful for brewing potions.=A un goût amer et n'est pas utile pour préparer des potions.
Dragon's Breath=Souffle du dragon
This item is used in brewing and can be combined with splash potions to create lingering potions.=Cet objet est utilisé dans le brassage et peut être combiné avec des potions d'éclaboussures pour créer des potions persistantes.
Healing=Guérison
+4 HP=+4 PV
+8 HP=+8 PV
Instantly heals.=Guérit instantanément.
Harming=Dégâts
-6 HP=-6 PV
-12 HP=-12 PV
Instantly deals damage.=Donne des dégâts instantanément.
Night Vision=Vision Nocturne
Increases the perceived brightness of light under a dark sky.=Augmente la luminosité perçue de la lumière sous un ciel sombre.
Swiftness=Rapidité
Increases walking speed.=Augmente la vitesse de marche.
Slowness=Lenteur
Decreases walking speed.=Diminue la vitesse de marche.
Leaping=Saut
Increases jump strength.=Augmente la force de saut.
Poison=Poison
Applies the poison effect which deals damage at a regular interval.=Applique l'effet de poison qui inflige des dégâts à intervalle régulier.
Regeneration=Régénération
Regenerates health over time.=Régénère la santé au fil du temps.
Invisibility=Invisibilité
Grants invisibility.=Accorde l'invisibilité.
Water Breathing=Respiration aquatique
Grants limitless breath underwater.=Donne une respiration illimitée sous l'eau.
Fire Resistance=Résistance au feu
Grants immunity to damage from heat sources like fire.=Confère une immunité aux dégâts causés par des sources de chaleur comme le feu.
Weakness=Faiblesse
Weakness +=Faiblesse +
Strength=Force
Strength II=Force II
Strength +=Force +
Try different combinations to create potions.=Essayez différentes combinaisons pour créer des potions.
No effect=Aucun effet
A throwable potion that will shatter on impact, where it gives all nearby players and mobs a status effect.=Une potion jetable qui se brisera à l'impact, où elle donne à tous les joueurs et créatures proches un effet de statut.
This particular arrow is tipped and will give an effect when it hits a player or mob.=Cette flèche particulière est enchantée et donnera un effet lorsqu'elle touche un joueur ou un mob.

View File

@ -393,7 +393,7 @@ local function make_stripped_trunk(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" then return end
local node = minetest.get_node(pointed_thing.under)
local node_name = minetest.get_node(pointed_thing.under).name
local node_name = node.name
local noddef = minetest.registered_nodes[node_name]
@ -413,6 +413,9 @@ local function make_stripped_trunk(itemstack, placer, pointed_thing)
if noddef._mcl_stripped_variant == nil then
return itemstack
else
local hook = noddef._mcl_on_strip
if hook then hook(pointed_thing.under, node, noddef) end
minetest.swap_node(pointed_thing.under, {name=noddef._mcl_stripped_variant, param2=node.param2})
if minetest.get_item_group(node_name, "waxed") ~= 0 then
awards.unlock(placer:get_player_name(), "mcl:wax_off")

View File

@ -159,10 +159,12 @@ function xpanes.register_pane(name, def)
_mcl_silk_touch_drop = def._mcl_silk_touch_drop and {"xpanes:" .. name .. "_flat"},
})
minetest.register_craft({
output = "xpanes:" .. name .. "_flat 16",
recipe = def.recipe
})
if def.recipe then
minetest.register_craft({
output = "xpanes:" .. name .. "_flat 16",
recipe = def.recipe
})
end
if mod_doc and def._doc_items_create_entry ~= false then
doc.add_entry_alias("nodes", "xpanes:" .. name .. "_flat", "nodes", "xpanes:" .. name)

View File

@ -0,0 +1,168 @@
## 0.87 The Prismatic release
### Contributors
#### New Developers
* rudzik8
* teknomunk
#### New Contributors
* PrWalterB
* michaljmalinowski
* nixnoxus
* Potiron
* Tuxilio
* Impulse
* Doods
* SOS-Games
* Bram
* qoheniac
### Game rename
Based on months of collecting suggestions, analysis and vetting of possible names, community voting and discussion between developers, the rename of the game has reached its conclusion! The project has been renamed to **VoxeLibre**.
Along with this, a documentation update has been conducted by Herowl, teknomunk and rudzik8. Make sure to check out the updated Contributing Guidelines!
### Potions and Effects redo
After more than half a year of work, it is finally here! The whole system has been rewritten from the ground up by Herowl. New effects, potions and brewing recipes have been added. Potion tooltips have been reworked. In the HUD you can now see more information about what effects you have at the moment, including level and duration. Beacon has also received more effects and is now quite functional.
A few new items to be used as brewing ingredients have been added. For now you can obtain them from fishing and trading with villagers. Those items will be made obtainable from other sources and will get more uses, hopefully in the next release. The functionality of some effects is not complete and they are also not obtainable yet (hero of the village and conduit power).
Some of the old potions and tipped arrows don't work with the new API and have to be converted. To avoid constant rechecking of all inventories, they have been bound to placeholder definitions. What this means is that if you notice weird potions or arrows marked with question marks, you will have to right-click them to run the conversion. A small price to pay for less lag, right?
Improved support of mobs by the effects and potions, including effects being properly saved on mobs. Despite that, some effects still don't work with mobs, because the mobs' code doesn't support them properly:
* the following effects don't work with mobs at all: water breathing, dolphin's grace, leaping, swiftness, slowness, slow falling, night vision, darkness, frost, health boost, absorption, fire resistance, resistance, luck, bad luck, blindness, nausea, food poisoning, saturation, haste, fatigue, conduit power
* the following effects should work with mobs: invisibility, regeneration, poison, withering, strength, weakness, levitation, glowing
* the following effects have no effect on mobs (but can be applied with the API): bad omen, hero of the village
While not everything is available in game, a great API (documented in the module) has been exposed for modders, allowing adding new effects and potions. Potions can now have all sorts of custom effects and multiple effects at once. Effects and potions can now have indefinitely many levels and potentially infinite duration, available with the `/effect` command and the modding API. Effects can still (and even more so than before!) be fine-tuned with factors and abnormal levels, which can sometimes give unexpected results, but it's all left up to modders.
### Nether Portals rewrite
Another large rework! Thanks to emptyshore, portals to (and from) the Nether now work better than ever, connecting properly to each other. They shouldn't cause unwelcome surprises either, stranding you where you never expected to go, and shouldn't teleport you up into the skies.
### Mob spawning system
An update by Bakawun improved the mob spawning, optimizing it and making the randomness work better, as well as properly taking into account set spawn chances. This update also changed the mob spawn chances and ratios.
Another improvement to the system was made by teknomunk, who wrote a new system for spawn position calculation. This enables overhead spawning, among other things allowing for some mob farms to work.
Also, light and height checking of Slimes has been fixed by Codiac, so they should no longer spawn in large numbers in inappropriate places.
### Mob improvements
Not only did mob spawning get improved, but mobs themselves did too.
Rover is a new mob, replacing the enderman. Along with this rework by Herowl and teknomunk, node picking code was refactored and generalized, paving the way for more mobs visibly holding actual items in the future.
Stalker is another new mob, replacing the creeper. This rework completed by Herowl contains a new camouflage mechanic and otherwise a new look at a well-known concept.
Ghast received a great update by Bakawun and Herowl. Its hitbox should now work properly, and deflecting the fireballs should work properly again too. Also the achievement for killing a Ghast with a ghast fireball should now be granted properly.
Sounds for Hoglin/Zoglin, Piglin and skeletons have been updated by Bakawun and should now be used properly.
Strider received a few fixes by nixnoxus. Breeding, attracting and riding should now work.
### Eating animation
Eating is no longer instant in survival mode, but delayed instead with the new system designed by Eliy21.
To signify it properly, Herowl added an animation visible in the first-person mode.
### New blocks
* Colored End Rod variants by Herowl.
* Colored Redstone Lamps by Herowl.
* Glazed Terracotta Pillars by Potiron.
* Compressed Cobblestone by SmokeyDope.
* Clovers and Four-leaf Clovers by Herowl.
* Hollow logs by JoseDouglas26 and Herowl
### Capes
Thanks to the changes by chmodsayshello and rudzik8, you can now pick a cape in the character skin customization UI. Thanks for the "Minetest" cape texture to QwertyDragon.
### Colored leather armor
Leather armor can now be colored (and washed) thanks to AFCMS and Herowl. Aside of the crafting recipes, this added a command and a modding API for this.
### Cherry blossom particles
The particles of the cherry blossom, which fall from the cherry leaves, have been vastly improved by Wbjitscool and Herowl. Plant some cherry trees and behold the new animation and the wind direction changing 3 times a game day.
### Signs text editing
Now you can edit the text on signs by right-clicking ("place") on a sign placed in the world, all thanks to Araca.
### Tool durability tooltips
Yet another feature from Araca, tooltips for tools (and weapons) will now display how much durability they have remaining. Now you have more precise info than just the wearbar!
### Creative inventory fixes
Items can't be moved around in the creative inventory, tabs there have proper tooltips and searching works on Android with Minetest 5.8+ all thanks to rudzik8.
### Help UI Mobs section
A "Mobs" section added to the Help UI by SOS-Games. Translations may be missing.
### Texture pack converter
One of our tools, the Python script allowing conversion of Minecraft resource packs (texture-wise) to the Minetest format to work with our game, has received a great update by Impulse and Doods. It should now work with packs from newer versions, but keep in mind that not everything can be automated and the packs may still require some manual fixes (and additions, if you want to cover all of our own features that have no equivalents in Minecraft).
### New Translation
* Occitan by PrWalterB
### Translation updates
* Spanish by megustanlosfrijoles
* French by syl
* Polish by Herowl
* German by Tuxilio, Herowl and qoheniac
* Syntax fixes in translation files by megustanlosfrijoles
### Other changes
* Melon and pumpkin generation by michaljmalinowski
* Golden rails accelerate carts properly by nixnoxus
* Elytra Animation works again by MrRar
* Mobs aggro disabled when damage is disabled by emptyshore
* Fortune enchantment on hoes works by JoseDouglas26
* Typo in pumpkin.lua fixed by SmokeyDope
* Node rotation at placement improvements by JoseDouglas26
* Nylium reverting to netherrack by JoseDouglas26
* Hunger debug setting exposed properly by SmokeyDope
* Nether vine placement fixes by SmokeyDope
* Survival inventory tabs API fixes by Impulse
* Cactus damaging mobs by Eliy21
* Sweet berry bush slowdown decreased by Eliy21
* Fixed scaffolding placement replacing other blocks without a trace by JoseDouglas26
* Nodes fireproofing and missing plank recipes added by Doods
* End Rods now use a proper mesh model by Herowl
* Piglin bartering improvements by nixnoxus
* Hopper item movement improved by teknomunk
* Partial item stack pickup by teknomunk
* Bone meal node protection check by CyberMango
* Undeclared variable usage fixed by nixnoxus
* Biome check when spawning override (API, Skyblock support) by AncientMariner
* Reimported tga_encoder as subtree (this allows support of some mods) by Herowl
* Bed placement and destruction fixes by teknomunk
* Item tooltip shouldn't be modified needlessly (this fixes some bugs causing items to not stack properly) by Herowl
* Beds now properly ignore players in other dimensions by nixnoxus
* Stray pixels in leather cap texture removed by SmokeyDope
* Allow lecterns to be placed on sides of blocks by JoseDouglas26
* Fix warnings by JoseDouglas26
* Experience from trading by nixnoxus
* Boats easier to destroy with punching by Eliy21
* Horse and Donkey animation fix by Bakawun
* Villagers won't eat shulker boxes (independent of their food content) anymore by teknomunk
* Beds now properly ignore players in the wrong dimensions when counting by nixnoxus
* Shears now wear properly when harvesting comb from a beehive by teknomunk
* Improved compatibility with mapgen mods by Bram
* Item frame attachment fixed by rudzik8
* Stray pixels in sweet berry textures removed by rudzik8
* Warning related to milk bucket fixed by teknomunk
* Seed is now logged when entering a world by Nicu
* Startup warnings from mcl_stonecutter fixed by Herowl
* Sleeping GUI improved by Nicu
* Description capitalization fix by syl
### Special thanks
* To emptyshore, for the in-depth research and testing of the Mob Spawning System rework, as well as his aforementioned Nether Portals system rework.
### Crash fixes
* Damage animation related crash by Herowl
* Shields-related crash by Impulse
* Elytra-related crash by Herowl
* Damage animation and player invulnerability related crash by Eliy21
* Rocket explosion related crash by Herowl
* New game load crash by AncientMariner
* XP orbs related crash by teknomunk
* Ghast fireball related crash by Araca
* Crash related to server restart while a player is dead by teknomunk
* Crashes related to the new effects API - by teknomunk and Herowl

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

View File

@ -4,7 +4,7 @@
local colors = {
["Creator of MineClone"] = "0x0A9400",
["Creator of MineClone2"] = "0xFBF837",
["Creator of VoxeLibre"] = "0xFBF837",
["Maintainers"] = "0xFF51D5",
["Developers"] = "0xF84355",
["Past Developers"] = "0xF84355",