milan2018_v3.2
Milan2018 2 years ago
parent a93cc7d75f
commit 73fcbaf1b2

@ -1,13 +0,0 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.{lua,luacheckrc}]
indent_style = tab
indent_size = 4

@ -1,24 +0,0 @@
name: build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-python@master
- run: |
sudo apt-get update -qq
sudo apt-get install -qqq luarocks
- name: Install pre-commit
run: pip3 install pre-commit
- name: Install LuaCheck
run: luarocks install --local luacheck
- name: Run LuaCheck using pre-commit
run: |
pre-commit run --all-files
$HOME/.luarocks/bin/luacheck .

@ -1,35 +1,14 @@
std = "lua51+minetest"
unused_args = false
allow_defined_top = true
max_line_length = 999
stds.minetest = {
read_globals = {
"DIR_DELIM",
"minetest",
"core",
"dump",
"vector",
"nodeupdate",
"VoxelManip",
"VoxelArea",
"PseudoRandom",
"ItemStack",
"default",
table = {
fields = {
"copy",
},
},
}
}
read_globals = {
"DIR_DELIM",
"minetest", "core",
"dump",
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"intllib",
"protector",
"isprotect",
"IsPlayerNodeOwner",
"HasOwner",
"getLastOwner",
"GetNodeOwnerName",
"default",
}

@ -1,10 +0,0 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: fix-byte-order-marker
- id: end-of-file-fixer
- id: trailing-whitespace
- id: mixed-line-ending
args: [--fix=lf]

@ -7,76 +7,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased]
### Changed
- Refactored recipe override mechanism to avoid re-coding recipes
when we only want to change the amount produced.
- [Realigned rail recipe to the changes made in Minetest Game.](https://github.com/minetest-mods/moreblocks/pull/169)
- All rail recipes (standard, power, break) were boosted by 50%.
### Fixed
- [Fixed strange placement behavior for non-default Stairs+ nodes.](https://github.com/minetest-mods/moreblocks/pull/168)
- [Fixed stairs placement over oddly-shaped nodes.](https://github.com/minetest-mods/moreblocks/pull/166)
## [2.1.0] - 2020-12-14
### Added
- Clean Glass versions of Trap and (Super) Glowing Glass.
- Compressed desert cobblestone.
### Changed
- Revised placing strategy that takes into account which side of the face
(top/bottom for horizontal, left/right for vertical placement) is being clicked.
Aux (sprint/special, default E) key can be used to place the node with the orientation
it would have if placed from the other side.
When placing nodes next to nodes of the same gategory (e.g.slab to slab) the other
node's orientation is copied, flipping it placing on top or below an upright or
upside-down node. In this case the aux key will disable the special processing of
same-category nodes.
### Fixed
- Revised minetest_game crafting recipe overrides to match Minetest 5.0.0 and later.
### Removed
- Legacy Stairs+ conversion code.
- It was only required to import worlds last edited before Q3 2013.
## [2.0.0] - 2019-11-25
### Added
- Stairs+ nodes for ice.
- `settingtypes.txt` file to allow configuring settings in the main menu.
- Polish translation.
### Changed
- The minimum supported Minetest version is now 5.0.0.
- Stairs+ nodes now emit one light level less compared to full nodes to make up
for their smaller visual size.
### Fixed
- Fixed a recipe conflict that made Centered Wooden Tiles impossible to craft.
## [1.3.0] - 2019-03-23
### Changed
- Stairs+ are now displayed in the creative inventory by default.
- Localization files now use the gettext `.po` format.
- Updated intllib support to avoid using deprecated functions.
### Fixed
- Node rotation now works correctly when placing Stairs+ nodes.
- Stairs+ glasslike nodes' textures are now easier to see.
## [1.2.0] - 2018-11-24
### Added
@ -97,13 +27,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Changed
- New crafting recipes for:
- New craft for:
- Stone Tile
- Circle Stone Bricks
- Stairs+:
- Moved definitions to `stairsplus.defs` table into a separate file.
- Moved recipe definitions to `stairsplus.register_recipes` function
into a separate file.
- Move definitions to `stairsplus.defs` table in a separate file
- Move recipe definitions to `stairsplus.register_recipes` function in a separate file
## [1.1.0] - 2017-10-04
@ -123,15 +52,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Straw
- Tin Block
- Wool (all colors)
- Other mods can now get a list of all the defined Stairs+ shapes.
- Other mods can now get a list of all the defined Stairs+ shapes
## 1.0.0 - 2017-02-19
- Initial versioned release.
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v2.1.0...HEAD
[2.1.0]: https://github.com/minetest-mods/moreblocks/compare/v2.0.0...v2.1.0
[2.0.0]: https://github.com/minetest-mods/moreblocks/compare/v1.3.0...v2.0.0
[1.3.0]: https://github.com/minetest-mods/moreblocks/compare/v1.2.0...v1.3.0
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.2.0...HEAD
[1.2.0]: https://github.com/minetest-mods/moreblocks/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...v1.1.0

@ -1,6 +1,6 @@
# zlib license
Copyright © 2011-2020 Hugo Locurcio and contributors
Copyright (c) 2011-2018 Hugo Locurcio and contributors
**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.**

@ -1,4 +1,4 @@
# More Blocks [![Build status](https://github.com/minetest-mods/moreblocks/workflows/build/badge.svg)](https://github.com/minetest-mods/moreblocks/actions)
# More Blocks
More Blocks for [Minetest](https://www.minetest.net/), a free and open source infinite
world block sandbox game.
@ -12,13 +12,15 @@ world block sandbox game.
To install More Blocks, clone this Git repository into your Minetest's `mods/`
directory:
```bash
```
git clone https://github.com/minetest-mods/moreblocks.git
```
You can also
[download a ZIP archive](https://github.com/minetest-mods/moreblocks/archive/master.zip)
of More Blocks.
of More Blocks. If you do so, you will need to extract the archive, then rename
the resulting folder from `moreblocks-master` to `moreblocks` this is
**absolutely** necessary to do, else, it won't work!
### Enable the mod
@ -41,30 +43,29 @@ This is the easiest way to enable More Blocks when playing in singleplayer
This is the recommended way to enable the mod on a server without using a GUI.
1. Make sure Minetest is not currently running (otherwise, it will overwrite
1. Make sure Minetest is not currently running (else, it will overwrite
the changes when exiting).
2. Open the world's `world.mt` file using a text editor.
3. Add the following line at the end of the file:
```text
```
load_mod_moreblocks = true
```
If the line is already present in the file, then replace `false` with `true`
on that line.
If the line is already present in the file, then replace `false` with `true` on that line.
4. Save the file, then start a game on the world you enabled More Blocks on.
5. More Blocks should now be running on your world.
## Version compatibility
More Blocks is currently primarily tested with Minetest 5.3.0.
More Blocks is currently primarily tested with Minetest 0.4.16.
It may or may not work with newer or older versions. Issues arising in older
versions than 5.0.0 will generally not be fixed.
versions than 0.4.16 will generally not be fixed.
## License
Copyright © 2011-2020 Hugo Locurcio and contributors
Copyright © 2011-2018 Hugo Locurcio and contributors
- More Blocks code is licensed under the zlib license, see
[`LICENSE.md`](LICENSE.md) for details.

@ -1,7 +1,7 @@
--[[
More Blocks: alias definitions
Copyright © 2011-2020 Hugo Locurcio and contributors.
Copyright (c) 2011-2018 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]

@ -1,12 +1,11 @@
--[[
More Blocks: circular saw
Copyright © 2011-2020 Hugo Locurcio, Sokomine and contributors.
Copyright (c) 2011-2018 Hugo Locurcio, Sokomine and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]
local S = moreblocks.S
local F = minetest.formspec_escape
local S = moreblocks.intllib
circular_saw = {}
@ -127,20 +126,15 @@ end
function circular_saw:reset(pos)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local owned_by = meta:get_string("owner")
if owned_by and owned_by ~= "" then
owned_by = (" (%s)"):format(S("owned by @1", meta:get_string("owner")))
else
owned_by = ""
end
inv:set_list("input", {})
inv:set_list("micro", {})
inv:set_list("output", {})
meta:set_int("anz", 0)
meta:set_string("infotext", S("Circular Saw is empty") .. owned_by)
meta:set_string("infotext",
S("Circular Saw is empty (owned by %s)")
:format(meta:get_string("owner") or ""))
end
@ -152,7 +146,7 @@ function circular_saw:update_inventory(pos, amount)
amount = meta:get_int("anz") + amount
-- The material is recycled automatically.
-- The material is recycled automaticly.
inv:set_list("recycle", {})
if amount < 1 then -- If the last block is taken out.
@ -170,17 +164,9 @@ function circular_saw:update_inventory(pos, amount)
end
local node_name = stack:get_name() or ""
local node_def = stack:get_definition()
local name_parts = circular_saw.known_nodes[node_name] or ""
local modname = name_parts[1] or ""
local material = name_parts[2] or ""
local owned_by = meta:get_string("owner")
if owned_by and owned_by ~= "" then
owned_by = (" (%s)"):format(S("owned by @1", meta:get_string("owner")))
else
owned_by = ""
end
inv:set_list("input", { -- Display as many full blocks as possible:
node_name.. " " .. math.floor(amount / 8)
@ -205,10 +191,8 @@ function circular_saw:update_inventory(pos, amount)
meta:set_int("anz", amount)
meta:set_string("infotext",
S("Circular Saw is working on @1",
node_def and node_def.description or material
) .. owned_by
)
S("Circular Saw is working on %s (owned by %s)")
:format(material, meta:get_string("owner") or ""))
end
@ -246,7 +230,7 @@ function circular_saw.allow_metadata_inventory_put(
local stackname = stack:get_name()
local count = stack:get_count()
-- Only allow those items that are offered in the output inventory to be recycled:
-- Only alow those items that are offered in the output inventory to be recycled:
if listname == "recycle" then
if not inv:contains_item("output", stackname) then
return 0
@ -345,7 +329,7 @@ function circular_saw.on_metadata_inventory_take(
end
-- If it is one of the offered stairs: find out how many
-- microblocks have to be subtracted:
-- microblocks have to be substracted:
if listname == "output" then
-- We do know how much each block at each position costs:
local cost = circular_saw.cost_in_microblocks[index]
@ -367,14 +351,14 @@ function circular_saw.on_construct(pos)
local fancy_inv = default.gui_bg..default.gui_bg_img..default.gui_slots
meta:set_string(
"formspec", "size[11,10]"..fancy_inv..
"label[0,0;" ..F(S("Input\nmaterial")).. "]" ..
"label[0,0;" ..S("Input\nmaterial").. "]" ..
"list[current_name;input;1.5,0;1,1;]" ..
"label[0,1;" ..F(S("Left-over")).. "]" ..
"label[0,1;" ..S("Left-over").. "]" ..
"list[current_name;micro;1.5,1;1,1;]" ..
"label[0,2;" ..F(S("Recycle\noutput")).. "]" ..
"label[0,2;" ..S("Recycle\noutput").. "]" ..
"list[current_name;recycle;1.5,2;1,1;]" ..
"field[0.3,3.5;1,1;max_offered;" ..F(S("Max")).. ":;${max_offered}]" ..
"button[1,3.2;1,1;Set;" ..F(S("Set")).. "]" ..
"field[0.3,3.5;1,1;max_offered;" ..S("Max").. ":;${max_offered}]" ..
"button[1,3.2;1,1;Set;" ..S("Set").. "]" ..
"list[current_name;output;2.8,0;8,6;]" ..
"list[current_player;main;1.5,6.25;8,4;]" ..
"listring[current_name;output]" ..
@ -443,14 +427,10 @@ minetest.register_node("moreblocks:circular_saw", {
after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos)
local owner = placer and placer:get_player_name() or ""
local owned_by = owner
if owner ~= "" then
owned_by = (" (%s)"):format(S("owned by @1", owner))
end
meta:set_string("owner", owner)
meta:set_string("infotext", S("Circular Saw is empty") .. owned_by)
meta:set_string("infotext",
S("Circular Saw is empty (owned by %s)")
:format(owner))
end,
-- The amount of items offered per shape can be configured:

@ -1,7 +1,7 @@
--[[
More Blocks: configuration handling
Copyright © 2011-2020 Hugo Locurcio and contributors.
Copyright (c) 2011-2018 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]
@ -26,4 +26,4 @@ local function setting(settingtype, name, default)
end
-- Show stairs/slabs/panels/microblocks in creative inventory (true or false):
setting("bool", "stairsplus_in_creative_inventory", true)
setting("bool", "stairsplus_in_creative_inventory", false)

@ -1,7 +1,7 @@
--[[
More Blocks: crafting recipes
Copyright © 2011-2020 Hugo Locurcio and contributors.
Copyright (c) 2011-2018 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]
@ -36,21 +36,19 @@ minetest.register_craft({
})
minetest.register_craft({
output = "moreblocks:wood_tile 9",
output = "moreblocks:wood_tile_center 9",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "moreblocks:wood_tile", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
-- This must be registered after `moreblocks:wood_tile` to avoid recipe conflicts,
-- since `moreblocks:wood_tile` is part of `group:wood`
minetest.register_craft({
output = "moreblocks:wood_tile_center 9",
output = "moreblocks:wood_tile 9",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "moreblocks:wood_tile", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
@ -348,36 +346,12 @@ minetest.register_craft({
recipe = {"moreblocks:sweeper", "default:glass"},
})
minetest.register_craft({
output = "moreblocks:trap_clean_glass",
type = "shapeless",
recipe = {"default:mese_crystal_fragment", "moreblocks:clean_glass"},
})
minetest.register_craft({
output = "moreblocks:trap_clean_glass",
type = "shapeless",
recipe = {"moreblocks:sweeper", "moreblocks:trap_glass"},
})
minetest.register_craft({
output = "moreblocks:glow_glass",
type = "shapeless",
recipe = {"default:torch", "default:glass"},
})
minetest.register_craft({
output = "moreblocks:clean_glow_glass",
type = "shapeless",
recipe = {"default:torch", "moreblocks:clean_glass"},
})
minetest.register_craft({
output = "moreblocks:clean_glow_glass",
type = "shapeless",
recipe = {"moreblocks:sweeper", "moreblocks:glow_glass"},
})
minetest.register_craft({
output = "moreblocks:trap_glow_glass",
type = "shapeless",
@ -390,26 +364,6 @@ minetest.register_craft({
recipe = {"default:mese_crystal_fragment", "moreblocks:glow_glass"},
})
-- several recipes are possible for the trap+clean+glow, we only present 3 of them
minetest.register_craft({
output = "moreblocks:trap_clean_glow_glass",
type = "shapeless",
recipe = {"default:mese_crystal_fragment", "moreblocks:clean_glow_glass"},
})
minetest.register_craft({
output = "moreblocks:trap_clean_glow_glass",
type = "shapeless",
recipe = {"default:mese_crystal_fragment", "moreblocks:clean_glass", "default:torch"},
})
minetest.register_craft({
output = "moreblocks:trap_clean_glow_glass",
type = "shapeless",
recipe = {"moreblocks:sweeper", "moreblocks:trap_glow_glass" },
})
minetest.register_craft({
output = "moreblocks:super_glow_glass",
type = "shapeless",
@ -422,24 +376,6 @@ minetest.register_craft({
recipe = {"default:torch", "moreblocks:glow_glass"},
})
minetest.register_craft({
output = "moreblocks:clean_super_glow_glass",
type = "shapeless",
recipe = {"default:torch", "default:torch", "moreblocks:clean_glass"},
})
minetest.register_craft({
output = "moreblocks:clean_super_glow_glass",
type = "shapeless",
recipe = {"default:torch", "moreblocks:clean_glow_glass"},
})
minetest.register_craft({
output = "moreblocks:clean_super_glow_glass",
type = "shapeless",
recipe = {"moreblocks:sweeper", "moreblocks:super_glow_glass"},
})
minetest.register_craft({
output = "moreblocks:trap_super_glow_glass",
@ -453,32 +389,6 @@ minetest.register_craft({
recipe = {"default:mese_crystal_fragment", "moreblocks:super_glow_glass"},
})
-- several recipes are possible for the trap+clean+glow, we only present 4 of them
minetest.register_craft({
output = "moreblocks:trap_clean_super_glow_glass",
type = "shapeless",
recipe = {"default:mese_crystal_fragment", "moreblocks:clean_super_glow_glass"},
})
minetest.register_craft({
output = "moreblocks:trap_clean_super_glow_glass",
type = "shapeless",
recipe = {"default:mese_crystal_fragment", "moreblocks:clean_glow_glass", "default:torch"},
})
minetest.register_craft({
output = "moreblocks:trap_clean_super_glow_glass",
type = "shapeless",
recipe = {"default:mese_crystal_fragment", "moreblocks:clean_glass", "default:torch", "default:torch"},
})
minetest.register_craft({
output = "moreblocks:trap_clean_super_glow_glass",
type = "shapeless",
recipe = {"moreblocks:sweeper", "moreblocks:trap_super_glow_glass" },
})
minetest.register_craft({
output = "moreblocks:coal_stone",
type = "shapeless",
@ -600,22 +510,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "moreblocks:desert_cobble_compressed",
recipe = {
{"default:desert_cobble", "default:desert_cobble", "default:desert_cobble"},
{"default:desert_cobble", "default:desert_cobble", "default:desert_cobble"},
{"default:desert_cobble", "default:desert_cobble", "default:desert_cobble"},
}
})
minetest.register_craft({
output = "default:desert_cobble 9",
recipe = {
{"moreblocks:desert_cobble_compressed"},
}
})
minetest.register_craft({
type = "cooking", output = "moreblocks:tar", recipe = "default:pine_tree",
})

@ -0,0 +1,6 @@
default
intllib?
stairs?
farming?
wool?
basic_materials?

@ -0,0 +1 @@
Adds various miscellaneous blocks to the game.

@ -3,18 +3,26 @@
** More Blocks **
By Calinou, with the help of ShadowNinja and VanessaE.
Copyright © 2011-2020 Hugo Locurcio and contributors.
Copyright (c) 2011-2018 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
=====================================================================
--]]
moreblocks = {}
local modpath = minetest.get_modpath("moreblocks")
local S
if minetest.global_exists("intllib") then
if intllib.make_gettext_pair then
S = intllib.make_gettext_pair()
else
S = intllib.Getter()
end
else
S = function(s) return s end
end
moreblocks.intllib = S
local S, NS = dofile(modpath .. "/intllib.lua")
moreblocks.S = S
moreblocks.NS = NS
local modpath = minetest.get_modpath("moreblocks")
dofile(modpath .. "/config.lua")
dofile(modpath .. "/circular_saw.lua")
@ -23,3 +31,7 @@ dofile(modpath .. "/nodes.lua")
dofile(modpath .. "/redefinitions.lua")
dofile(modpath .. "/crafting.lua")
dofile(modpath .. "/aliases.lua")
if minetest.settings:get_bool("log_mods") then
minetest.log("action", S("[moreblocks] loaded."))
end

@ -1,44 +0,0 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

@ -1,290 +0,0 @@
# German translation for More Blocks.
# Copyright © 2011-2020 Hugo Locurcio and contributors
# This file is distributed under the same license as the More Blocks package.
# Xanthin, 2014.
# CodeXP <codexp@gmx.net>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: More Blocks\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-13 12:37+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: CodeXP <codexp@gmx.net>\n"
"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: circular_saw.lua
msgid "Circular Saw"
msgstr "Kreissäge"
#: circular_saw.lua
msgid ""
"Input\n"
"material"
msgstr ""
"Ausgangs-\n"
"material"
#: circular_saw.lua
msgid "Left-over"
msgstr "Rest"
#: circular_saw.lua
msgid "Max"
msgstr "Anzahl"
#: circular_saw.lua
msgid ""
"Recycle\n"
"output"
msgstr ""
"Wiederver-\n"
"werten"
#: circular_saw.lua
msgid "Set"
msgstr "Ok"
#: circular_saw.lua
msgid "owned by @1"
msgstr "gehört @1"
#: circular_saw.lua
msgid "Circular Saw is empty"
msgstr "Kreissäge ist leer"
#: circular_saw.lua
msgid "Circular Saw is working on @1"
msgstr "Kreissäge arbeitet mit @1"
#: init.lua
msgid "[moreblocks] loaded."
msgstr "[moreblocks] geladen."
#: nodes.lua
msgid "Deprecated"
msgstr "veraltet"
#: nodes.lua
msgid "All-faces Acacia Tree"
msgstr "allseitiger Akazienbaumstamm"
#: nodes.lua
msgid "All-faces Aspen Tree"
msgstr "allseitiger Espenbaumstamm"
#: nodes.lua
msgid "All-faces Jungle Tree"
msgstr "allseitiger Tropenbaumstamm"
#: nodes.lua
msgid "All-faces Pine Tree"
msgstr "allseitiger Kieferbaumstamm"
#: nodes.lua
msgid "All-faces Tree"
msgstr "allseitiger Baumstamm"
#: nodes.lua
msgid "Cactus Brick"
msgstr "Kaktusziegel"
#: nodes.lua
msgid "Cactus Checker"
msgstr "Kaktus-Mosaik"
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr "Holzfliese mittig"
#: nodes.lua
msgid "Checker Stone Tile"
msgstr "Stein-Mosaik"
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr "Kreissteinziegel"
#: nodes.lua
msgid "Clean Glass"
msgstr "Klares Glas"
#: nodes.lua
msgid "Coal Checker"
msgstr "Kohlen-Mosaik"
#: nodes.lua
msgid "Coal Glass"
msgstr "Kohleglas"
#: nodes.lua
msgid "Coal Stone"
msgstr "Kohlestein"
#: nodes.lua
msgid "Coal Stone Bricks"
msgstr "Kohlesteinziegel"
#: nodes.lua
msgid "Compressed Cobblestone"
msgstr "Gepresster Kopfsteinpflaster"
#: nodes.lua
msgid "Compressed Desert Cobblestone"
msgstr ""
#: nodes.lua
msgid "Compressed Dirt"
msgstr "Gepresste Erde"
#: nodes.lua
msgid "Copper Patina Block"
msgstr "Kupfer Edelrostblock"
#: nodes.lua
msgid "Empty Shelf"
msgstr "Leeres Regal"
#: nodes.lua
msgid "Full Wooden Tile"
msgstr "Vollholzfliese"
#: nodes.lua
msgid "Glow Glass"
msgstr "Leuchtglas"
#: nodes.lua
msgid "Iron Checker"
msgstr "Metall-Mosaik"
#: nodes.lua
msgid "Iron Glass"
msgstr "metallisiertes Glas"
#: nodes.lua
msgid "Iron Stone"
msgstr "Eisenstein"
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr "Eisensteinziegel"
#: nodes.lua
msgid "Plankstone"
msgstr "Brettstein"
#: nodes.lua
msgid "Rope"
msgstr "Seil"
#: nodes.lua
msgid "Split Stone Tile"
msgstr "Geteilte Steinfliese"
#: nodes.lua
msgid "Stone Bricks"
msgstr "Steinziegel"
#: nodes.lua
msgid "Stone Tile"
msgstr "Steinfliese"
#: nodes.lua
msgid "Super Glow Glass"
msgstr "Superleuchtglas"
#: nodes.lua
msgid "Sweeper"
msgstr "Besen"
#: nodes.lua
msgid "Tar"
msgstr "Teer"
#: nodes.lua
msgid "Trap Desert Stone"
msgstr "Wüstensteinfalle"
#: nodes.lua
msgid "Trap Glass"
msgstr "Glasfalle"
#: nodes.lua
msgid "Trap Glow Glass"
msgstr "Leuchtglasfalle"
#: nodes.lua
msgid "Trap Obsidian"
msgstr "Obsidianfalle"
#: nodes.lua
msgid "Trap Obsidian Glass"
msgstr "Obsidianglasfalle"
#: nodes.lua
msgid "Trap Sandstone"
msgstr "Sandsteinfalle"
#: nodes.lua
msgid "Trap Stone"
msgstr "Steinfalle"
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr "Superleuchtglasfalle"
#: nodes.lua
msgid "Wooden Tile"
msgstr "Holzfliese"
#: nodes.lua
msgid "Offset Wooden Tile"
msgstr "Holzfliese versetzt"
#: nodes.lua
msgid "Downwards Wooden Tile"
msgstr "Holzfliese unten"
#: nodes.lua
msgid "Leftwards Wooden Tile"
msgstr "Holzfliese links"
#: nodes.lua
msgid "Rightwards Wooden Tile"
msgstr "Holzfliese rechts"
#: ownership.lua
msgid "Sorry, @1 owns that spot."
msgstr "Tut mir leid, dieser Bereich gehört @1."
#: ownership.lua
msgid "someone"
msgstr "jemand"
#: stairsplus/common.lua
#, lua-format
msgid "%s Microblock"
msgstr "%smikroblock"
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr "%splatte"
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr "%sneigung"
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr "%spaneel"
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr "%streppe"

@ -0,0 +1,67 @@
# Translation by Xanthin
###init.lua###
[moreblocks] loaded. = [moreblocks] geladen.
###nodes.lua###
Jungle Wood Fence = Tropenholzzaun
Empty Bookshelf = Leeres Buecherregal
Clean Glass = Klares Glas
Plankstone = Brettstein
Wooden Tile = Holzfliese
Full Wooden Tile = Vollholzfliese
Centered Wooden Tile = Holzfliese mittig
Up Wooden Tile = Holzfliese oben
Down Wooden Tile = Holzfliese unten
Left Wooden Tile = Holzfliese links
Right Wooden Tile = Holzfliese rechts
Circle Stone Bricks = Kreissteinziegel
Stone Tile = Steinfliese
Split Stone Tile = Geteilte Steinfliese
Glow Glass = Leuchtglas
Super Glow Glass = Superleuchtglas
Coal Glass = Kohleglas
Iron Glass = Eisenglas
Coal Checker = Karierte Kohle
Iron Checker = Kariertes Eisen
Trap Stone = Steinfalle
Trap Glass = Glasfalle
Trap Glow Glass = Leuchtglasfalle
Trap Super Glow Glass = Superleuchtglasfalle
Coal Stone = Kohlestein
Iron Stone = Eisenstein
Coal Stone Bricks = Kohlesteinziegel
Iron Stone Bricks = Eisensteinziegel
Cactus Checker = Karierter Kaktus
Cactus Brick = Kaktusziegel
Sweeper = Besen
Jungle Stick = Tropenholzstock
Rope = Seil
All-faces Tree = Baumscheibenstamm
###circular_saw.lua###
Circular Saw = Kreissaege
Circular saw, empty (owned by %s) = Kreissaege, leer (gehoert %s)
Circular saw, working with %s (owned by %s) = Kreissaege, arbeitet mit %s (gehoert %s)
Circular saw, empty = Kreissaege, leer
Circular saw is empty (owned by %s) = Kreissaege ist leer (gehoert %s)
Input\nmaterial = Ausgangs-\nmaterial
Left-over = Rest
Max = Anzahl
Set = Ok
Recycle\noutput = Wiederver-\nwerten
###./stairsplus/*###
%s Stairs = %streppe
%s Slab = %sstufe
%s Panel = %spaneel
%s Microblock = %smikroblock
%s Pane = %sscheibe
%s Fence = %szaun
###ownership.lua###
someone = jemand
Sorry, %s owns that spot. = Tut mir leid, %s gehoert diese Stelle.

@ -1,286 +0,0 @@
# Spanish translation for More Blocks.
# Copyright © 2011-2020 Hugo Locurcio and contributors
# This file is distributed under the same license as the More Blocks package.
# kaeza, 2013.
# CodeXP <codexp@gmx.net>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: More Blocks\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-13 12:37+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: CodeXP <codexp@gmx.net>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: circular_saw.lua
msgid "Circular Saw"
msgstr ""
#: circular_saw.lua
msgid ""
"Input\n"
"material"
msgstr ""
#: circular_saw.lua
msgid "Left-over"
msgstr ""
#: circular_saw.lua
msgid "Max"
msgstr ""
#: circular_saw.lua
msgid ""
"Recycle\n"
"output"
msgstr ""
#: circular_saw.lua
msgid "Set"
msgstr ""
#: circular_saw.lua
msgid "owned by @1"
msgstr ""
#: circular_saw.lua
msgid "Circular Saw is empty"
msgstr ""
#: circular_saw.lua
msgid "Circular Saw is working on @1"
msgstr ""
#: init.lua
msgid "[moreblocks] loaded."
msgstr "[moreblocks] cargado."
#: nodes.lua
msgid "Deprecated"
msgstr ""
#: nodes.lua
msgid "All-faces Acacia Tree"
msgstr ""
#: nodes.lua
msgid "All-faces Aspen Tree"
msgstr ""
#: nodes.lua
msgid "All-faces Jungle Tree"
msgstr ""
#: nodes.lua
msgid "All-faces Pine Tree"
msgstr ""
#: nodes.lua
msgid "All-faces Tree"
msgstr "Tronco de Árbol"
#: nodes.lua
msgid "Cactus Brick"
msgstr "Ladrillos de Cactus"
#: nodes.lua
msgid "Cactus Checker"
msgstr "Cuadros de Cactus"
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr "Parquet Centrado"
#: nodes.lua
msgid "Checker Stone Tile"
msgstr ""
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr "Bloques de Piedra Circulares"
#: nodes.lua
msgid "Clean Glass"
msgstr "Cristal Limpio"
#: nodes.lua
msgid "Coal Checker"
msgstr "Cuadros de Carbón"
#: nodes.lua
msgid "Coal Glass"
msgstr "Cristal con Carbón"
#: nodes.lua
msgid "Coal Stone"
msgstr "Carbón y Piedra"
#: nodes.lua
msgid "Coal Stone Bricks"
msgstr ""
#: nodes.lua
msgid "Compressed Cobblestone"
msgstr ""
#: nodes.lua
msgid "Compressed Desert Cobblestone"
msgstr ""
#: nodes.lua
msgid "Compressed Dirt"
msgstr ""
#: nodes.lua
msgid "Copper Patina Block"
msgstr ""
#: nodes.lua
msgid "Empty Shelf"
msgstr ""
#: nodes.lua
msgid "Full Wooden Tile"
msgstr "Parquet Completo"
#: nodes.lua
msgid "Glow Glass"
msgstr "Cristal Brillante"
#: nodes.lua
msgid "Iron Checker"
msgstr "Cuadros de Hierro"
#: nodes.lua
msgid "Iron Glass"
msgstr "Cristal con Hierro"
#: nodes.lua
msgid "Iron Stone"
msgstr "Hierro y Piedra"
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr ""
#: nodes.lua
msgid "Plankstone"
msgstr "Tablones de piedra"
#: nodes.lua
msgid "Rope"
msgstr "Soga"
#: nodes.lua
msgid "Split Stone Tile"
msgstr "Baldosas de Piedra Partida"
#: nodes.lua
msgid "Stone Bricks"
msgstr ""
#: nodes.lua
msgid "Stone Tile"
msgstr "Baldosa de Piedra"
#: nodes.lua
msgid "Super Glow Glass"
msgstr "Cristal Súper Brillante"
#: nodes.lua
msgid "Sweeper"
msgstr "Limpiador"
#: nodes.lua
msgid "Tar"
msgstr ""
#: nodes.lua
msgid "Trap Desert Stone"
msgstr ""
#: nodes.lua
msgid "Trap Glass"
msgstr "Cristal Trampa"
#: nodes.lua
msgid "Trap Glow Glass"
msgstr ""
#: nodes.lua
msgid "Trap Obsidian"
msgstr ""
#: nodes.lua
msgid "Trap Obsidian Glass"
msgstr ""
#: nodes.lua
msgid "Trap Sandstone"
msgstr ""
#: nodes.lua
msgid "Trap Stone"
msgstr "Piedra Trampa"
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr ""
#: nodes.lua
msgid "Wooden Tile"
msgstr "Parquet"
#: nodes.lua
msgid "Offset Wooden Tile"
msgstr ""
#: nodes.lua
msgid "Downwards Wooden Tile"
msgstr ""
#: nodes.lua
msgid "Leftwards Wooden Tile"
msgstr ""
#: nodes.lua
msgid "Rightwards Wooden Tile"
msgstr ""
#: ownership.lua
msgid "Sorry, @1 owns that spot."
msgstr ""
#: ownership.lua
msgid "someone"
msgstr ""
#: stairsplus/common.lua
#, lua-format
msgid "%s Microblock"
msgstr "Microbloque de %s"
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr "Losa de %s"
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr ""
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr "Panel de %s"
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr "Escalera de %s"

@ -0,0 +1,52 @@
# Translation by kaeza
[moreblocks] loaded. = [moreblocks] cargado.
Jungle Wooden Planks = Tablones de madera de jungla
Empty Bookshelf = Estante para libros vacío
Clean Glass = Cristal Limpio
Plankstone = Tablones de piedra
Wooden Tile = Parquet
Full Wooden Tile = Parquet Completo
Centered Wooden Tile = Parquet Centrado
Up Wooden Tile = Parquet Superior
Down Wooden Tile = Parquet Inferior
Left Wooden Tile = Parquet Izquierdo
Right Wooden Tile = Parquet Derecho
Circle Stone Bricks = Bloques de Piedra Circulares
Stone Tile = Baldosa de Piedra
Split Stone Tile = Baldosas de Piedra Partida
Glow Glass = Cristal Brillante
Super Glow Glass = Cristal Súper Brillante
Coal Glass = Cristal con Carbón
Iron Glass = Cristal con Hierro
Coal Checker = Cuadros de Carbón
Iron Checker = Cuadros de Hierro
Trap Stone = Piedra Trampa
Trap Glass = Cristal Trampa
Coal Stone = Carbón y Piedra
Iron Stone = Hierro y Piedra
Cactus Checker = Cuadros de Cactus
Cactus Brick = Ladrillos de Cactus
Sweeper = Limpiador
Jungle Stick = Varita de Madera de Jungla
Horizontal Tree = Tronco de árbol horizontal
Horizontal Jungle Tree = Tronco de árbol de la jungla horizontal
Rope = Soga
All-faces Tree = Tronco de Árbol
%s Stairs = Escalera de %s
%s Slab = Losa de %s
%s Panel = Panel de %s
%s Microblock = Microbloque de %s
Wooden = Madera
Papyrus = Papiro
Dry Shrub = Arbusto Desértico
Sapling = Brote de Árbol
Wooden Planks = Tablones de Madera
Ladder = Escalera de Mano
Glass = Cristal
%s Pane = Panel de %s
%s Fence = Valla de %s

@ -1,291 +0,0 @@
# French translation for More Blocks.
# Copyright © 2011-2020 Hugo Locurcio and contributors
# This file is distributed under the same license as the More Blocks package.
# Hugo Locurcio <hugo.locurcio@hugo.pro>, 2013-2019.
# Jat15, 2013.
# CodeXP <codexp@gmx.net>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: More Blocks\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-13 12:37+0200\n"
"PO-Revision-Date: 2019-03-20 21:10+0100\n"
"Last-Translator: Hugo Locurcio <hugo.locurcio@hugo.pro>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: circular_saw.lua
msgid "Circular Saw"
msgstr "Scie circulaire"
#: circular_saw.lua
msgid ""
"Input\n"
"material"
msgstr ""
"Matériau\n"
"d'entrée"
#: circular_saw.lua
msgid "Left-over"
msgstr "Reste"
#: circular_saw.lua
msgid "Max"
msgstr "Max"
#: circular_saw.lua
msgid ""
"Recycle\n"
"output"
msgstr ""
"Sortie à\n"
"recycler"
#: circular_saw.lua
msgid "Set"
msgstr "Définir"
#: circular_saw.lua
msgid "owned by @1"
msgstr "propriété de @1"
#: circular_saw.lua
msgid "Circular Saw is empty"
msgstr "Scie circulaire vide"
#: circular_saw.lua
msgid "Circular Saw is working on @1"
msgstr "Scie circulaire manipulant @1"
#: init.lua
msgid "[moreblocks] loaded."
msgstr "[moreblocks] a été chargé."
#: nodes.lua
msgid "Deprecated"
msgstr "déprécié"
#: nodes.lua
msgid "All-faces Acacia Tree"
msgstr "Tronc d'arbre d'acacia (toutes faces)"
#: nodes.lua
msgid "All-faces Aspen Tree"
msgstr "Tronc d'arbre de peuplier (toutes faces)"
#: nodes.lua
msgid "All-faces Jungle Tree"
msgstr "Tronc d'arbre de jungle (toutes faces)"
#: nodes.lua
msgid "All-faces Pine Tree"
msgstr "Tronc d'arbre de pin (toutes faces)"
#: nodes.lua
msgid "All-faces Tree"
msgstr "Tronc d'arbre (toutes faces)"
#: nodes.lua
msgid "Cactus Brick"
msgstr "Briques de cactus"
#: nodes.lua
msgid "Cactus Checker"
msgstr "Damier en cactus"
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr "Dalle en bois centrée"
#: nodes.lua
msgid "Checker Stone Tile"
msgstr "Damier de dalle en pierre"
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr "Briques en pierre circulaires"
#: nodes.lua
msgid "Clean Glass"
msgstr "Verre propre"
#: nodes.lua
msgid "Coal Checker"
msgstr "Damier en charbon"
#: nodes.lua
msgid "Coal Glass"
msgstr "Verre de charbon"
#: nodes.lua
msgid "Coal Stone"
msgstr "Pierre de charbon"
#: nodes.lua
msgid "Coal Stone Bricks"
msgstr "Briques en pierre de charbon"
#: nodes.lua
msgid "Compressed Cobblestone"
msgstr "Pierre taillée compressée"
#: nodes.lua
msgid "Compressed Desert Cobblestone"
msgstr ""
#: nodes.lua
msgid "Compressed Dirt"
msgstr "Terre compressée"
#: nodes.lua
msgid "Copper Patina Block"
msgstr "Bloc de patine de cuivre"
#: nodes.lua
msgid "Empty Shelf"
msgstr "Étagère vide"
#: nodes.lua
msgid "Full Wooden Tile"
msgstr "Dalle en bois complète"
#: nodes.lua
msgid "Glow Glass"
msgstr "Verre brillant"
#: nodes.lua
msgid "Iron Checker"
msgstr "Damier de fer"
#: nodes.lua
msgid "Iron Glass"
msgstr "Verre de fer"
#: nodes.lua
msgid "Iron Stone"