This commit is contained in:
Milan2018 2021-05-16 15:01:47 +02:00
parent a93cc7d75f
commit 73fcbaf1b2
83 changed files with 730 additions and 3345 deletions

View file

@ -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

View file

@ -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 .

View file

@ -1,35 +1,14 @@
std = "lua51+minetest"
unused_args = false unused_args = false
allow_defined_top = true 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 = { read_globals = {
"DIR_DELIM",
"minetest", "core",
"dump",
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"intllib", "intllib",
"protector", "default",
"isprotect",
"IsPlayerNodeOwner",
"HasOwner",
"getLastOwner",
"GetNodeOwnerName",
} }

View file

@ -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]

View file

@ -7,76 +7,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased] ## [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 ## [1.2.0] - 2018-11-24
### Added ### Added
@ -97,13 +27,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Changed ### Changed
- New crafting recipes for: - New craft for:
- Stone Tile - Stone Tile
- Circle Stone Bricks - Circle Stone Bricks
- Stairs+: - Stairs+:
- Moved definitions to `stairsplus.defs` table into a separate file. - Move definitions to `stairsplus.defs` table in a separate file
- Moved recipe definitions to `stairsplus.register_recipes` function - Move recipe definitions to `stairsplus.register_recipes` function in a separate file
into a separate file.
## [1.1.0] - 2017-10-04 ## [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 - Straw
- Tin Block - Tin Block
- Wool (all colors) - 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 ## 1.0.0 - 2017-02-19
- Initial versioned release. - Initial versioned release.
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v2.1.0...HEAD [Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.2.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
[1.2.0]: https://github.com/minetest-mods/moreblocks/compare/v1.1.0...v1.2.0 [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.1.0]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...v1.1.0

View file

@ -1,6 +1,6 @@
# zlib license # 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.** **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.**

View file

@ -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 More Blocks for [Minetest](https://www.minetest.net/), a free and open source infinite
world block sandbox game. 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/` To install More Blocks, clone this Git repository into your Minetest's `mods/`
directory: directory:
```bash ```
git clone https://github.com/minetest-mods/moreblocks.git git clone https://github.com/minetest-mods/moreblocks.git
``` ```
You can also You can also
[download a ZIP archive](https://github.com/minetest-mods/moreblocks/archive/master.zip) [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 ### 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. 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). the changes when exiting).
2. Open the world's `world.mt` file using a text editor. 2. Open the world's `world.mt` file using a text editor.
3. Add the following line at the end of the file: 3. Add the following line at the end of the file:
```text ```
load_mod_moreblocks = true load_mod_moreblocks = true
``` ```
If the line is already present in the file, then replace `false` with `true` If the line is already present in the file, then replace `false` with `true` on that line.
on that line.
4. Save the file, then start a game on the world you enabled More Blocks on. 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. 5. More Blocks should now be running on your world.
## Version compatibility ## 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 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 ## 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 - More Blocks code is licensed under the zlib license, see
[`LICENSE.md`](LICENSE.md) for details. [`LICENSE.md`](LICENSE.md) for details.

View file

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: alias definitions 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]

View file

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

View file

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: configuration handling 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -26,4 +26,4 @@ local function setting(settingtype, name, default)
end end
-- Show stairs/slabs/panels/microblocks in creative inventory (true or false): -- 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)

View file

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: crafting recipes 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -35,17 +35,6 @@ minetest.register_craft({
recipe = {"default:junglegrass", "default:cobble"}, recipe = {"default:junglegrass", "default:cobble"},
}) })
minetest.register_craft({
output = "moreblocks:wood_tile 9",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "group:wood", "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({ minetest.register_craft({
output = "moreblocks:wood_tile_center 9", output = "moreblocks:wood_tile_center 9",
recipe = { recipe = {
@ -55,6 +44,15 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "moreblocks:wood_tile 9",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "moreblocks:wood_tile", output = "moreblocks:wood_tile",
@ -348,36 +346,12 @@ minetest.register_craft({
recipe = {"moreblocks:sweeper", "default:glass"}, 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({ minetest.register_craft({
output = "moreblocks:glow_glass", output = "moreblocks:glow_glass",
type = "shapeless", type = "shapeless",
recipe = {"default:torch", "default:glass"}, 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({ minetest.register_craft({
output = "moreblocks:trap_glow_glass", output = "moreblocks:trap_glow_glass",
type = "shapeless", type = "shapeless",
@ -390,26 +364,6 @@ minetest.register_craft({
recipe = {"default:mese_crystal_fragment", "moreblocks:glow_glass"}, 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({ minetest.register_craft({
output = "moreblocks:super_glow_glass", output = "moreblocks:super_glow_glass",
type = "shapeless", type = "shapeless",
@ -422,24 +376,6 @@ minetest.register_craft({
recipe = {"default:torch", "moreblocks:glow_glass"}, 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({ minetest.register_craft({
output = "moreblocks:trap_super_glow_glass", output = "moreblocks:trap_super_glow_glass",
@ -453,32 +389,6 @@ minetest.register_craft({
recipe = {"default:mese_crystal_fragment", "moreblocks:super_glow_glass"}, 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({ minetest.register_craft({
output = "moreblocks:coal_stone", output = "moreblocks:coal_stone",
type = "shapeless", 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({ minetest.register_craft({
type = "cooking", output = "moreblocks:tar", recipe = "default:pine_tree", type = "cooking", output = "moreblocks:tar", recipe = "default:pine_tree",
}) })

6
moreblocks/depends.txt Normal file
View file

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

View file

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

View file

@ -3,18 +3,26 @@
** More Blocks ** ** More Blocks **
By Calinou, with the help of ShadowNinja and VanessaE. 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. Licensed under the zlib license. See LICENSE.md for more information.
===================================================================== =====================================================================
--]] --]]
moreblocks = {} 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") local modpath = minetest.get_modpath("moreblocks")
moreblocks.S = S
moreblocks.NS = NS
dofile(modpath .. "/config.lua") dofile(modpath .. "/config.lua")
dofile(modpath .. "/circular_saw.lua") dofile(modpath .. "/circular_saw.lua")
@ -23,3 +31,7 @@ dofile(modpath .. "/nodes.lua")
dofile(modpath .. "/redefinitions.lua") dofile(modpath .. "/redefinitions.lua")
dofile(modpath .. "/crafting.lua") dofile(modpath .. "/crafting.lua")
dofile(modpath .. "/aliases.lua") dofile(modpath .. "/aliases.lua")
if minetest.settings:get_bool("log_mods") then
minetest.log("action", S("[moreblocks] loaded."))
end

View file

@ -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

View file

@ -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"

67
moreblocks/locale/de.txt Normal file
View file

@ -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.

View file

@ -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"

52
moreblocks/locale/es.txt Normal file
View file

@ -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

View file

@ -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"
msgstr "Pierre de fer"
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr "Briques en pierre de fer"
#: nodes.lua
msgid "Plankstone"
msgstr "Pierre-bois"
#: nodes.lua
msgid "Rope"
msgstr "Corde"
#: nodes.lua
msgid "Split Stone Tile"
msgstr "Dalle en pierre découpée"
#: nodes.lua
msgid "Stone Bricks"
msgstr "Briques en pierre"
#: nodes.lua
msgid "Stone Tile"
msgstr "Dalle en pierre"
#: nodes.lua
msgid "Super Glow Glass"
msgstr "Verre très brillant"
#: nodes.lua
msgid "Sweeper"
msgstr "Balai"
#: nodes.lua
msgid "Tar"
msgstr "Bitume"
#: nodes.lua
msgid "Trap Desert Stone"
msgstr "Pierre du désert traversable"
#: nodes.lua
msgid "Trap Glass"
msgstr "Verre traversable"
#: nodes.lua
msgid "Trap Glow Glass"
msgstr "Verre brillant traversable"
#: nodes.lua
msgid "Trap Obsidian"
msgstr "Obsidienne traversable"
#: nodes.lua
msgid "Trap Obsidian Glass"
msgstr "Verre d'obsidienne traversable"
#: nodes.lua
msgid "Trap Sandstone"
msgstr "Grès traversable"
#: nodes.lua
msgid "Trap Stone"
msgstr "Pierre traversable"
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr "Verre très brillant traversable"
#: nodes.lua
msgid "Wooden Tile"
msgstr "Dalle en bois"
#: nodes.lua
msgid "Offset Wooden Tile"
msgstr "Dalle en bois décalée"
#: nodes.lua
msgid "Downwards Wooden Tile"
msgstr "Dalle en bois vers le bas"
#: nodes.lua
msgid "Leftwards Wooden Tile"
msgstr "Dalle en bois vers la gauche"
#: nodes.lua
msgid "Rightwards Wooden Tile"
msgstr "Dalle en bois vers la droite"
#: ownership.lua
msgid "Sorry, @1 owns that spot."
msgstr "Désolé, @1 possède cet endroit."
#: ownership.lua
msgid "someone"
msgstr "quelqu'un"
#: stairsplus/common.lua
#, lua-format
msgid "%s Microblock"
msgstr "Microbloc en %s"
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr "Demi-dalle en %s"
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr "Pente en %s"
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr "Barre en %s"
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr "Escaliers en %s"

72
moreblocks/locale/fr.txt Normal file
View file

@ -0,0 +1,72 @@
# Translation by Calinou
###init.lua###
[moreblocks] loaded. = [moreblocks] a été chargé.
Jungle Wooden Planks = Planches de bois de jungle
Empty Bookshelf = Ètagère vide
Clean Glass = Verre propre
Plankstone = Pierre-bois
Wooden Tile = Dalle en bois
Full Wooden Tile = Dalle en bois complète
Centered Wooden Tile = Dalle en bois centrée
Up Wooden Tile = Dalle en bois vers le haut
Down Wooden Tile = Dalle en bois vers le bas
Left Wooden Tile = Dalle en bois vers la gauche
Right Wooden Tile = Dalle en bois vers la droite
Circle Stone Bricks = Briques en pierre circulaires
Stone Tile = Dalle en pierre
Split Stone Tile = Dalle en pierre découpée
Glow Glass = Verre brillant
Super Glow Glass = Verre très brillant
Coal Glass = Verre de charbon
Iron Glass = Verre de fer
Coal Checker = Damier en charbon
Iron Checker = Damier en fer
Trap Stone = Pierre traversable
Trap Glass = Verre traversable
Trap Glow Glass = Verre brillant traversable
Trap Super Glow Glass = Verre très brillant traversable
Coal Stone = Pierre de charbon
Iron Stone = Pierre de fer
Coal Stone Bricks = Briques en pierre de charbon
Iron Stone Bricks = Briques en pierre de fer
Cactus Checker = Damier en cactus
Cactus Brick = Briques de cactus
Sweeper = Balai
Jungle Stick = Bâton en bois de jungle
Horizontal Tree = Tronc d'arbre horizontal
Horizontal Jungle Tree = Tronc d'arbre de jungle horizontal
Rope = Corde
All-faces Tree = Tronc d'arbre
###redefinition.lua###
Wooden = bois
Papyrus = Papyrus
Dry Shrub = Buisson mort
Sapling = Pousse d'arbre
Wooden Planks = Planches de bois
Ladder = Échelle
Glass = Verre
###circular_saw.lua###
Circular Saw = Scie circulaire
Circular saw, empty (owned by %s) = Scie circulaire, vide (propriété de %s)
Circular saw, working with %s (owned by %s) = Scie circulaire, manipule %s (propriété de %s)
Circular saw, empty = Scie circulaire, vide
Circular saw is empty (owned by %s) = Scie circulaire est vide (propriété de %s)
Input material = Entrée du matériel
Rest/microblocks = Reste/microbloc
Max: = Max:
Set = Fixer
Recycle output = Recyclage
###./stairsplus/*###
%s Stairs = Escaliers en %s
%s Slab = Demi-dalle en %s
%s Panel = Barre en %s
%s Microblock = Microbloc en %s
%s Pane = Panneau en %s
%s Fence = Barrière en %s

View file

@ -1,290 +0,0 @@
# Italian translation for More Blocks.
# Copyright © 2011-2020 Hugo Locurcio and contributors
# This file is distributed under the same license as the More Blocks package.
# Emon, 2016.
# 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: it\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 "Sega circolare"
#: circular_saw.lua
msgid ""
"Input\n"
"material"
msgstr ""
"Materiale\n"
"iniziale"
#: circular_saw.lua
msgid "Left-over"
msgstr "Scarto"
#: circular_saw.lua
msgid "Max"
msgstr "Max."
#: circular_saw.lua
msgid ""
"Recycle\n"
"output"
msgstr ""
"Ricicla\n"
"finale"
#: circular_saw.lua
msgid "Set"
msgstr "Imp."
#: circular_saw.lua
msgid "owned by @1"
msgstr ""
#: circular_saw.lua
msgid "Circular Saw is empty"
msgstr "Sega circolare, vuota"
#: circular_saw.lua
msgid "Circular Saw is working on @1"
msgstr "Sega circolare, in funzione su @1"
#: init.lua
msgid "[moreblocks] loaded."
msgstr "[moreblocks] caricato."
#: 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 "Albero su ogni lato"
#: nodes.lua
msgid "Cactus Brick"
msgstr "Mattoni di cactus"
#: nodes.lua
msgid "Cactus Checker"
msgstr "Scacchiera in cactus"
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr "Mattonella in legno centrata"
#: nodes.lua
msgid "Checker Stone Tile"
msgstr ""
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr "Mattoni concentrici in pietra"
#: nodes.lua
msgid "Clean Glass"
msgstr "Vetro pulito"
#: nodes.lua
msgid "Coal Checker"
msgstr "Scacchiera in carbone"
#: nodes.lua
msgid "Coal Glass"
msgstr "Vetro e carbone"
#: nodes.lua
msgid "Coal Stone"
msgstr "Pietra in carbone"
#: nodes.lua
msgid "Coal Stone Bricks"
msgstr "Mattoni di pietra in carbone"
#: 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 "Scaffale Vuoto"
#: nodes.lua
msgid "Full Wooden Tile"
msgstr "Mattonella in legno pieno"
#: nodes.lua
msgid "Glow Glass"
msgstr "Vetro luminoso"
#: nodes.lua
msgid "Iron Checker"
msgstr "Scacchiera in ferro"
#: nodes.lua
msgid "Iron Glass"
msgstr "Vetro e ferro"
#: nodes.lua
msgid "Iron Stone"
msgstr "Pietra in ferro"
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr "Mattoni di pietra in ferro"
#: nodes.lua
msgid "Plankstone"
msgstr "Pietra e legno"
#: nodes.lua
msgid "Rope"
msgstr "Corda"
#: nodes.lua
msgid "Split Stone Tile"
msgstr "Mattonella in pietra divisa"
#: nodes.lua
msgid "Stone Bricks"
msgstr ""
#: nodes.lua
msgid "Stone Tile"
msgstr "Mattonella in pietra"
#: nodes.lua
msgid "Super Glow Glass"
msgstr "Super vetro luminoso"
#: nodes.lua
msgid "Sweeper"
msgstr "Spazzola"
#: nodes.lua
msgid "Tar"
msgstr ""
#: nodes.lua
msgid "Trap Desert Stone"
msgstr ""
#: nodes.lua
msgid "Trap Glass"
msgstr "Vetro trappola"
#: nodes.lua
msgid "Trap Glow Glass"
msgstr "Vetro luminoso trappola"
#: 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 "Pietra trappola"
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr "Super vetro luminoso trappola"
#: nodes.lua
msgid "Wooden Tile"
msgstr "Mattonella in legno"
#: 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 "Spiacente, quel punto è di proprietà di @1"
#: ownership.lua
msgid "someone"
msgstr "qualcuno"
#: stairsplus/common.lua
#, lua-format
msgid "%s Microblock"
msgstr "Microblocco %s"
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr "Lastra - %s"
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr ""
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr "Pannello - %s"
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr "Scale - %s"

70
moreblocks/locale/it.txt Normal file
View file

@ -0,0 +1,70 @@
#
# Italian translation
# Translator: Emon
#
###init.lua###
[moreblocks] loaded. = [moreblocks] caricato.
###nodes.lua###
Jungle Wood Fence = Recinzione in legno della giungla
Empty Bookshelf = Libreria vuota
Clean Glass = Vetro pulito
Plankstone = Pietra e legno
Wooden Tile = Mattonella in legno
Full Wooden Tile = Mattonella in legno pieno
Centered Wooden Tile = Mattonella in legno centrata
Up Wooden Tile = Mattonella in legno verso l'alto
Down Wooden Tile = Mattonella in legno verso il basso
Left Wooden Tile = Mattonella in legno verso sinistra
Right Wooden Tile = Mattonella in legno verso destra
Circle Stone Bricks = Mattoni concentrici in pietra
Stone Tile = Mattonella in pietra
Split Stone Tile = Mattonella in pietra divisa
Glow Glass = Vetro luminoso
Super Glow Glass = Super vetro luminoso
Coal Glass = Vetro e carbone
Iron Glass = Vetro e ferro
Coal Checker = Scacchiera in carbone
Iron Checker = Scacchiera in ferro
Trap Stone = Pietra trappola
Trap Glass = Vetro trappola
Trap Glow Glass = Vetro luminoso trappola
Trap Super Glow Glass = Super vetro luminoso trappola
Coal Stone = Pietra in carbone
Iron Stone = Pietra in ferro
Coal Stone Bricks = Mattoni di pietra in carbone
Iron Stone Bricks = Mattoni di pietra in ferro
Cactus Checker = Scacchiera in cactus
Cactus Brick = Mattoni di cactus
Sweeper = Spazzola
Jungle Stick = Bastone in legno della giungla
Rope = Corda
All-faces Tree = Albero su ogni lato
###circular_saw.lua###
Circular Saw = Sega circolare
Circular saw, empty (owned by %s) = Sega circolare, vuota (di proprietà di %s)
Circular saw, working with %s (owned by %s) = Sega circolare, in funzione su %s (di proprietà di %s)
Circular saw, empty = Sega circolare, vuota
Circular saw is empty (owned by %s) = La sega circolare è vuota (di proprietà di %s)
Input\nmaterial = Materiale\niniziale
Left-over = Scarto
Max = Max.
Set = Imp.
Recycle\noutput = Ricicla\nfinale
###ownership.lua###
someone = qualcuno
Sorry, %s owns that spot. = Spiacente, quel punto è di proprietà di %s
###./stairsplus/*###
%s Stairs = Scale - %s
%s Slab = Lastra - %s
%s Panel = Pannello - %s
%s Microblock = Microblocco %s
%s Pane = Pannello - %s
%s Fence = Recinzione - %s

View file

@ -1,293 +0,0 @@
# Polish translation for More Blocks.
# Copyright © 2011-2020 Hugo Locurcio and contributors
# This file is distributed under the same license as the More Blocks package.
# mat9117, 2019
# 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: pl\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 "Piła tarczowa"
#: circular_saw.lua
msgid ""
"Input\n"
"material"
msgstr ""
"wejście\n"
"materiał"
#: circular_saw.lua
msgid "Left-over"
msgstr "Resztki"
#: circular_saw.lua
msgid "Max"
msgstr "Maks"
#: circular_saw.lua
msgid ""
"Recycle\n"
"output"
msgstr ""
"Przetwarzanie\n"
"Wyjście"
#: circular_saw.lua
msgid "Set"
msgstr "Ustaw"
#: circular_saw.lua
msgid "owned by @1"
msgstr "Należy do @1"
#: circular_saw.lua
msgid "Circular Saw is empty"
msgstr "Piła tarczowa jest pusta"
#: circular_saw.lua
msgid "Circular Saw is working on @1"
msgstr "Piła tarczowa pracuje na @1"
#: init.lua
msgid "[moreblocks] loaded."
msgstr "[moreblocks] załadowane."
#: nodes.lua
msgid "Deprecated"
msgstr "Przestarzałe"
#: nodes.lua
msgid "All-faces Acacia Tree"
msgstr "Wielostronna tekstura akacji"
#: nodes.lua
msgid "All-faces Aspen Tree"
msgstr "Wielostronna tekstura osiki"
#: nodes.lua
msgid "All-faces Jungle Tree"
msgstr "Wielostronna tekstura drzewa dżunglowego"
#: nodes.lua
msgid "All-faces Pine Tree"
msgstr "Wielostronna tekstura sosny"
#: nodes.lua
msgid "All-faces Tree"
msgstr "Wielostronna tekstura drzewa"
#: nodes.lua
msgid "Cactus Brick"
msgstr "Kaktusowa cegła"
#: nodes.lua
msgid "Cactus Checker"
msgstr "Kaktusowa szachownica"
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr "Wyśrodkowany drewniany kafelek"
#: nodes.lua
msgid "Checker Stone Tile"
msgstr "Kamienna szachownica"
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr "Okrągłe kamienne cegły"
#: nodes.lua
msgid "Clean Glass"
msgstr "Czyste szkło"
#: nodes.lua
msgid "Coal Checker"
msgstr "Węglowa szachownica"
#: nodes.lua
msgid "Coal Glass"
msgstr "Szkło węglowe"
#: nodes.lua
msgid "Coal Stone"
msgstr "Kamień węglowy"
#: nodes.lua
msgid "Coal Stone Bricks"
msgstr "Węglowe kamienne cegły"
#: nodes.lua
msgid "Compressed Cobblestone"
msgstr "Skompresowany bruk"
#: nodes.lua
msgid "Compressed Desert Cobblestone"
msgstr ""
#: nodes.lua
msgid "Compressed Dirt"
msgstr "Skompresowana ziemia"
#: nodes.lua
msgid "Copper Patina Block"
msgstr "Blok patynowanej miedzi"
#: nodes.lua
msgid "Empty Shelf"
msgstr "Pusta półka"
#: nodes.lua
msgid "Full Wooden Tile"
msgstr "Pełny drewniany kafelek"
#: nodes.lua
msgid "Glow Glass"
msgstr "Świecące szkło"
#: nodes.lua
msgid "Iron Checker"
msgstr "Żelazna szachownica"
#: nodes.lua
msgid "Iron Glass"
msgstr "Żelazne szkło"
#: nodes.lua
msgid "Iron Stone"
msgstr "Żelazny kamień"
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr "Żelazne kamienne cegły"
#: nodes.lua
msgid "Plankstone"
msgstr "Deskokamień"
#: nodes.lua
msgid "Rope"
msgstr "Lina"
#: nodes.lua
msgid "Split Stone Tile"
msgstr "Kamienny blok kafelkowy"
#: nodes.lua
msgid "Stone Bricks"
msgstr "Kamienne cegły"
#: nodes.lua
msgid "Stone Tile"
msgstr "Kamienny kafelek"
#: nodes.lua
msgid "Super Glow Glass"
msgstr "Super świecące szkło"
#: nodes.lua
msgid "Sweeper"
msgstr "Miotła"
#: nodes.lua
msgid "Tar"
msgstr "Smoła"
#: nodes.lua
msgid "Trap Desert Stone"
msgstr "Pułapka z pustynnego kamienia"
#: nodes.lua
msgid "Trap Glass"
msgstr "Szklana pułapka"
#: nodes.lua
msgid "Trap Glow Glass"
msgstr "Pułapka ze świecącego szkłą"
#: nodes.lua
msgid "Trap Obsidian"
msgstr "Obsydianowa pułapka"
#: nodes.lua
msgid "Trap Obsidian Glass"
msgstr "Pułapka z obsydianowego szkła"
#: nodes.lua
msgid "Trap Sandstone"
msgstr "Pułapka z piaskowca"
#: nodes.lua
msgid "Trap Stone"
msgstr "Kamienna pułapka"
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr "Pułapka z super świecącego szkła"
#: nodes.lua
msgid "Wooden Tile"
msgstr "Drewniany kafelek"
#: nodes.lua
msgid "Offset Wooden Tile"
msgstr ""
# @deprecated
#: nodes.lua
msgid "Downwards Wooden Tile"
msgstr "Dolny drewniany kafelek"
# @deprecated
#: nodes.lua
msgid "Leftwards Wooden Tile"
msgstr "Lewy drewniany kafelek"
# @deprecated
#: nodes.lua
msgid "Rightwards Wooden Tile"
msgstr "Prawy drewniany kafelek"
#: ownership.lua
msgid "Sorry, @1 owns that spot."
msgstr "Przykro mi, to miejsce należy do @1"
#: ownership.lua
msgid "someone"
msgstr "ktoś"
#: stairsplus/common.lua
#, lua-format
msgid "%s Microblock"
msgstr "%s Mikroblok"
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr "%s Płyta"
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr "%s Spad"
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr "%s Panel"
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr "%s Schody"

View file

@ -1,294 +0,0 @@
# Russian translation for MOREBLOCKS minetest mod.
# Copyright (C) 2018 Hugo Locurcio and contributors
# This file is distributed under the same license as the MOREBLOCKS package.
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: MOREBLOCKS MOD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-13 23:30+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: CodeXP <codexp@gmx.net>\n"
"Language-Team: \n"
"Language: \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 ""
"Входной\n"
"материал"
#: circular_saw.lua
msgid "Left-over"
msgstr "Остатки"
#: circular_saw.lua
msgid "Max"
msgstr "Кол."
#: circular_saw.lua
msgid ""
"Recycle\n"
"output"
msgstr ""
"Пере-\n"
"обработка"
#: circular_saw.lua
msgid "Set"
msgstr "ОК"
#: circular_saw.lua
msgid "owned by @1"
msgstr "принадлежит @1"
#: circular_saw.lua
msgid "Circular Saw is empty"
msgstr "циркулярная пила пустая"
#: circular_saw.lua
msgid "Circular Saw is working on @1"
msgstr "циркулярная пила, @1 в обработке"
#: init.lua
msgid "[MOD] moreblocks loaded."
msgstr "[MOD] moreblocks загружен."
#: 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 "всестороннее бревно дерева"
#: nodes.lua
msgid "Cactus Brick"
msgstr "кирпич из кактуса"
#: nodes.lua
msgid "Cactus Checker"
msgstr "мозаика из кактуса"
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr "деревянная мозаика (центр)"
#: nodes.lua
msgid "Checker Stone Tile"
msgstr "каменная мозаика"
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr "кольцевой камень"
#: nodes.lua
msgid "Clean Glass"
msgstr "чистое стекло"
#: nodes.lua
msgid "Coal Checker"
msgstr "угольная мозаика"
#: nodes.lua
msgid "Coal Glass"
msgstr "угольное стекло"
#: nodes.lua
msgid "Coal Stone"
msgstr "угольный камень"
#: 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 "деревянная мозаика"
#: nodes.lua
msgid "Glow Glass"
msgstr "светящееся стекло"
#: nodes.lua
msgid "Iron Checker"
msgstr "стальная мозаика"
#: nodes.lua
msgid "Iron Glass"
msgstr "металлизированное стекло"
#: nodes.lua
msgid "Iron Stone"
msgstr "железный камень"
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr "железно-каменный кирпич"
#: nodes.lua
msgid "Plankstone"
msgstr "дерево-каменная мозаика"
#: nodes.lua
msgid "Rope"
msgstr "верёвка"
#: nodes.lua
msgid "Split Stone Tile"
msgstr "каменная мозаика"
#: nodes.lua
msgid "Stone Bricks"
msgstr "каменный кирпич"
#: nodes.lua
msgid "Stone Tile"
msgstr "каменная плитка"
#: nodes.lua
msgid "Super Glow Glass"
msgstr "супер светящееся стекло"
#: nodes.lua
msgid "Sweeper"
msgstr "метёлка"
#: nodes.lua
msgid "Tar"
msgstr "смола"
#: nodes.lua
msgid "Trap Desert Stone"
msgstr "мнимый пустынный камень"
#: nodes.lua
msgid "Trap Glass"
msgstr "мнимое стекло"
#: 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 "мнимый камень"
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr "мнимое супер светящееся стекло"
#: nodes.lua
msgid "Wooden Tile"
msgstr "деревянная мозаика"
#: nodes.lua
msgid "Offset Wooden Tile"
msgstr "деревянная мозаика (сверху)"
# @deprecated
#: nodes.lua
msgid "Downwards Wooden Tile"
msgstr "деревянная мозаика (снизу)"
# @deprecated
#: nodes.lua
msgid "Leftwards Wooden Tile"
msgstr "деревянная мозаика (слева)"
# @deprecated
#: nodes.lua
msgid "Rightwards Wooden Tile"
msgstr "деревянная мозаика (справа)"
#: ownership.lua
msgid "Sorry, @1 owns that spot."
msgstr "Извините, это принадлежит @1."
#: ownership.lua
msgid "someone"
msgstr "кому-то"
#: stairsplus/common.lua
#, lua-format
msgid "%s Microblock"
msgstr "%s (микроблок)"
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr "%s (плита)"
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr "%s (наклон)"
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr "%s (панель)"
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr "%s (лестница)"

View file

@ -1,288 +0,0 @@
# Template translation for More Blocks.
# Copyright © 2011-2020 Hugo Locurcio and contributors
# This file is distributed under the same license as the More Blocks package.
# 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: \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 ""
#: 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 ""
#: nodes.lua
msgid "Cactus Brick"
msgstr ""
#: nodes.lua
msgid "Cactus Checker"
msgstr ""
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr ""
#: nodes.lua
msgid "Checker Stone Tile"
msgstr ""
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr ""
#: nodes.lua
msgid "Clean Glass"
msgstr ""
#: nodes.lua
msgid "Coal Checker"
msgstr ""
#: nodes.lua
msgid "Coal Glass"
msgstr ""
#: nodes.lua
msgid "Coal Stone"
msgstr ""
#: 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 ""
#: nodes.lua
msgid "Glow Glass"
msgstr ""
#: nodes.lua
msgid "Iron Checker"
msgstr ""
#: nodes.lua
msgid "Iron Glass"
msgstr ""
#: nodes.lua
msgid "Iron Stone"
msgstr ""
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr ""
#: nodes.lua
msgid "Plankstone"
msgstr ""
#: nodes.lua
msgid "Rope"
msgstr ""
#: nodes.lua
msgid "Split Stone Tile"
msgstr ""
#: nodes.lua
msgid "Stone Bricks"
msgstr ""
#: nodes.lua
msgid "Stone Tile"
msgstr ""
#: nodes.lua
msgid "Super Glow Glass"
msgstr ""
#: nodes.lua
msgid "Sweeper"
msgstr ""
#: nodes.lua
msgid "Tar"
msgstr ""
#: nodes.lua
msgid "Trap Desert Stone"
msgstr ""
#: nodes.lua
msgid "Trap Glass"
msgstr ""
#: 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 ""
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr ""
#: nodes.lua
msgid "Wooden Tile"
msgstr ""
#: nodes.lua
msgid "Offset Wooden Tile"
msgstr ""
# @deprecated
#: nodes.lua
msgid "Downwards Wooden Tile"
msgstr ""
# @deprecated
#: nodes.lua
msgid "Leftwards Wooden Tile"
msgstr ""
# @deprecated
#: 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 ""
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr ""
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr ""
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr ""
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr ""

View file

@ -0,0 +1,64 @@
###init.lua###
[moreblocks] loaded. =
###nodes.lua###
Jungle Wood Fence =
Empty Bookshelf =
Clean Glass =
Plankstone =
Wooden Tile =
Full Wooden Tile =
Centered Wooden Tile =
Up Wooden Tile =
Down Wooden Tile =
Left Wooden Tile =
Right Wooden Tile =
Circle Stone Bricks =
Stone Tile =
Split Stone Tile =
Glow Glass =
Super Glow Glass =
Coal Glass =
Iron Glass =
Coal Checker =
Iron Checker =
Trap Stone =
Trap Glass =
Trap Glow Glass =
Trap Super Glow Glass =
Coal Stone =
Iron Stone =
Coal Stone Bricks =
Iron Stone Bricks =
Cactus Checker =
Cactus Brick =
Sweeper =
Jungle Stick =
Rope =
All-faces Tree =
###circular_saw.lua###
Circular Saw =
Circular saw, empty (owned by %s) =
Circular saw, working with %s (owned by %s) =
Circular saw, empty =
Circular saw is empty (owned by %s) =
Input\nmaterial =
Left-over =
Max =
Set =
Recycle\noutput =
###ownership.lua###
someone =
Sorry, %s owns that spot. =
###./stairsplus/*###
%s Stairs =
%s Slab =
%s Panel =
%s Microblock =
%s Pane =
%s Fence =

View file

@ -1,288 +0,0 @@
# Template translation for More Blocks.
# Copyright © 2011-2020 Hugo Locurcio and contributors
# This file is distributed under the same license as the More Blocks package.
# IFRFSX <IFRFSX@protonmail.com>, 2020.
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: \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 ""
"输入\n"
"材料"
#: circular_saw.lua
msgid "Left-over"
msgstr "剩余材料"
#: circular_saw.lua
msgid "Max"
msgstr "最大值"
#: circular_saw.lua
msgid ""
"Recycle\n"
"output"
msgstr ""
"回收\n"
"输出物"
#: circular_saw.lua
msgid "Set"
msgstr "设置"
#: circular_saw.lua
msgid "owned by @1"
msgstr "属于@1所有"
#: circular_saw.lua
msgid "Circular Saw is empty"
msgstr "圆锯是空的"
#: circular_saw.lua
msgid "Circular Saw is working on @1"
msgstr "圆锯正在加工@1"
#: init.lua
msgid "[moreblocks] loaded."
msgstr "[moreblocks] 已加载"
#: 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 "全切面树木方块"
#: nodes.lua
msgid "Cactus Brick"
msgstr "仙人掌砖"
#: nodes.lua
msgid "Cactus Checker"
msgstr "仙人掌棋盘方块"
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr "居中的木瓦"
#: nodes.lua
msgid "Checker Stone Tile"
msgstr "棋盘石瓦"
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr "圆石砖"
#: nodes.lua
msgid "Clean Glass"
msgstr "干净的玻璃"
#: nodes.lua
msgid "Coal Checker"
msgstr "棋盘煤块"
#: nodes.lua
msgid "Coal Glass"
msgstr "煤玻璃"
#: nodes.lua
msgid "Coal Stone"
msgstr "煤炭石"
#: nodes.lua
msgid "Coal Stone Bricks"
msgstr "煤炭石砖"
#: nodes.lua
msgid "Compressed 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 "全木瓦"
#: nodes.lua
msgid "Glow Glass"
msgstr "发光玻璃"
#: nodes.lua
msgid "Iron Checker"
msgstr "棋盘铁方块"
#: nodes.lua
msgid "Iron Glass"
msgstr "铁玻璃"
#: nodes.lua
msgid "Iron Stone"
msgstr "铁石"
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr "铁石砖"
#: nodes.lua
msgid "Plankstone"
msgstr "板石"
#: nodes.lua
msgid "Rope"
msgstr "绳子"
#: nodes.lua
msgid "Split Stone Tile"
msgstr "裂石砖"
#: nodes.lua
msgid "Stone Bricks"
msgstr "石砖"
#: nodes.lua
msgid "Stone Tile"
msgstr "石瓦"
#: nodes.lua
msgid "Super Glow Glass"
msgstr "超级发光玻璃"
#: nodes.lua
msgid "Sweeper"
msgstr "清扫器"
#: nodes.lua
msgid "Tar"
msgstr "焦油"
#: nodes.lua
msgid "Trap Desert Stone"
msgstr "陷阱沙漠石"
#: nodes.lua
msgid "Trap Glass"
msgstr "陷阱玻璃"
#: 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 "陷阱石"
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr "陷阱超级发光玻璃"
#: nodes.lua
msgid "Wooden Tile"
msgstr "木瓦"
#: nodes.lua
msgid "Offset Wooden Tile"
msgstr "胶合木瓦"
# @deprecated
#: nodes.lua
msgid "Downwards Wooden Tile"
msgstr "向下的木瓦"
# @deprecated
#: nodes.lua
msgid "Leftwards Wooden Tile"
msgstr "向左的木瓦"
# @deprecated
#: nodes.lua
msgid "Rightwards Wooden Tile"
msgstr "向右的木瓦"
#: ownership.lua
msgid "Sorry, @1 owns that spot."
msgstr "抱歉,那个位置是@1的。"
#: ownership.lua
msgid "someone"
msgstr "某人"
#: stairsplus/common.lua
#, lua-format
msgid "%s Microblock"
msgstr "%s 小方块"
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr "%s 台阶"
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr "%s 斜坡"
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr "%s 嵌板"
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr "%s 楼梯"

View file

@ -1,288 +0,0 @@
# Template translation for More Blocks.
# Copyright © 2011-2020 Hugo Locurcio and contributors
# This file is distributed under the same license as the More Blocks package.
# IFRFSX <IFRFSX@protonmail.com>, 2020.
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: \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 ""
"輸入\n"
"材料"
#: circular_saw.lua
msgid "Left-over"
msgstr "剩餘材料"
#: circular_saw.lua
msgid "Max"
msgstr "最大值"
#: circular_saw.lua
msgid ""
"Recycle\n"
"output"
msgstr ""
"回收\n"
"輸出物"
#: circular_saw.lua
msgid "Set"
msgstr "設置"
#: circular_saw.lua
msgid "owned by @1"
msgstr "屬於@1所有"
#: circular_saw.lua
msgid "Circular Saw is empty"
msgstr "圓鋸是空的"
#: circular_saw.lua
msgid "Circular Saw is working on @1"
msgstr "圓鋸正在加工@1"
#: init.lua
msgid "[moreblocks] loaded."
msgstr "[moreblocks] 已加載"
#: 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 "全切面樹木方塊"
#: nodes.lua
msgid "Cactus Brick"
msgstr "仙人掌磚"
#: nodes.lua
msgid "Cactus Checker"
msgstr "仙人掌棋盤方塊"
#: nodes.lua
msgid "Centered Wooden Tile"
msgstr "居中的木瓦"
#: nodes.lua
msgid "Checker Stone Tile"
msgstr "棋盤石瓦"
#: nodes.lua
msgid "Circle Stone Bricks"
msgstr "圓石磚"
#: nodes.lua
msgid "Clean Glass"
msgstr "乾淨的玻璃"
#: nodes.lua
msgid "Coal Checker"
msgstr "棋盤煤塊"
#: nodes.lua
msgid "Coal Glass"
msgstr "煤玻璃"
#: nodes.lua
msgid "Coal Stone"
msgstr "煤炭石"
#: nodes.lua
msgid "Coal Stone Bricks"
msgstr "煤炭石磚"
#: nodes.lua
msgid "Compressed 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 "全木瓦"
#: nodes.lua
msgid "Glow Glass"
msgstr "發光玻璃"
#: nodes.lua
msgid "Iron Checker"
msgstr "棋盤鐵方塊"
#: nodes.lua
msgid "Iron Glass"
msgstr "鐵玻璃"
#: nodes.lua
msgid "Iron Stone"
msgstr "鐵石"
#: nodes.lua
msgid "Iron Stone Bricks"
msgstr "鐵石磚"
#: nodes.lua
msgid "Plankstone"
msgstr "板石"
#: nodes.lua
msgid "Rope"
msgstr "繩子"
#: nodes.lua
msgid "Split Stone Tile"
msgstr "裂石磚"
#: nodes.lua
msgid "Stone Bricks"
msgstr "石磚"
#: nodes.lua
msgid "Stone Tile"
msgstr "石瓦"
#: nodes.lua
msgid "Super Glow Glass"
msgstr "超級發光玻璃"
#: nodes.lua
msgid "Sweeper"
msgstr "清掃器"
#: nodes.lua
msgid "Tar"
msgstr "焦油"
#: nodes.lua
msgid "Trap Desert Stone"
msgstr "陷阱沙漠石"
#: nodes.lua
msgid "Trap Glass"
msgstr "陷阱玻璃"
#: 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 "陷阱石"
#: nodes.lua
msgid "Trap Super Glow Glass"
msgstr "陷阱超級發光玻璃"
#: nodes.lua
msgid "Wooden Tile"
msgstr "木瓦"
#: nodes.lua
msgid "Offset Wooden Tile"
msgstr "膠合木瓦"
# @deprecated
#: nodes.lua
msgid "Downwards Wooden Tile"
msgstr "向下的木瓦"
# @deprecated
#: nodes.lua
msgid "Leftwards Wooden Tile"
msgstr "向左的木瓦"
# @deprecated
#: nodes.lua
msgid "Rightwards Wooden Tile"
msgstr "向右的木瓦"
#: ownership.lua
msgid "Sorry, @1 owns that spot."
msgstr "抱歉,那個位置是@1的。"
#: ownership.lua
msgid "someone"
msgstr "某人"
#: stairsplus/common.lua
#, lua-format
msgid "%s Microblock"
msgstr "%s 小方塊"
#: stairsplus/common.lua stairsplus/slabs.lua
#, lua-format
msgid "%s Slab"
msgstr "%s 臺階"
#: stairsplus/common.lua
#, lua-format
msgid "%s Slope"
msgstr "%s 斜坡"
#: stairsplus/common.lua
#, lua-format
msgid "%s Panel"
msgstr "%s 嵌板"
#: stairsplus/common.lua
#, lua-format
msgid "%s Stairs"
msgstr "%s 樓梯"

View file

@ -1,8 +1 @@
name = moreblocks name = moreblocks
description = Adds various miscellaneous blocks to the game.
depends = default
optional_depends = intllib,stairs,farming,wool,basic_materials
min_minetest_version = 5.0.0
release = 6295
author = Calinou
title = More Blocks

View file

@ -1,11 +1,11 @@
--[[ --[[
More Blocks: node definitions More Blocks: node 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.S local S = moreblocks.intllib
local sound_dirt = default.node_sound_dirt_defaults() local sound_dirt = default.node_sound_dirt_defaults()
local sound_wood = default.node_sound_wood_defaults() local sound_wood = default.node_sound_wood_defaults()
@ -36,7 +36,6 @@ local function wood_tile_replace(itemstack, placer, pointed_thing)
return itemstack return itemstack
end end
local deprecated = (" (%s)"):format(S('Deprecated'))
local nodes = { local nodes = {
["wood_tile"] = { ["wood_tile"] = {
description = S("Wooden Tile"), description = S("Wooden Tile"),
@ -53,7 +52,7 @@ local nodes = {
sounds = sound_wood, sounds = sound_wood,
}, },
["wood_tile_flipped"] = { ["wood_tile_flipped"] = {
description = S("Wooden Tile") .. deprecated, description = S("Wooden Tile (Deprecated)"),
tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90", tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90",
"default_wood.png^moreblocks_wood_tile.png^[transformR90", "default_wood.png^moreblocks_wood_tile.png^[transformR90",
"default_wood.png^moreblocks_wood_tile.png^[transformR90", "default_wood.png^moreblocks_wood_tile.png^[transformR90",
@ -88,19 +87,19 @@ local nodes = {
no_stairs = true, no_stairs = true,
}, },
["wood_tile_down"] = { ["wood_tile_down"] = {
description = S("Downwards Wooden Tile") .. deprecated, description = S("Downwards Wooden Tile (Deprecated)"),
tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_offset.png^[transformR180"}, tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_offset.png^[transformR180"},
no_stairs = true, no_stairs = true,
on_place = wood_tile_replace on_place = wood_tile_replace
}, },
["wood_tile_left"] = { ["wood_tile_left"] = {
description = S("Leftwards Wooden Tile") .. deprecated, description = S("Leftwards Wooden Tile (Deprecated)"),
tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_offset.png^[transformR270"}, tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_offset.png^[transformR270"},
no_stairs = true, no_stairs = true,
on_place = wood_tile_replace on_place = wood_tile_replace
}, },
["wood_tile_right"] = { ["wood_tile_right"] = {
description = S("Rightwards Wooden Tile") .. deprecated, description = S("Rightwards Wooden Tile (Deprecated)"),
tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_offset.png^[transformR90"}, tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_offset.png^[transformR90"},
no_stairs = true, no_stairs = true,
on_place = wood_tile_replace on_place = wood_tile_replace
@ -175,12 +174,6 @@ local nodes = {
is_ground_content = false, is_ground_content = false,
sounds = sound_stone, sounds = sound_stone,
}, },
["desert_cobble_compressed"] = {
description = S("Compressed Desert Cobblestone"),
groups = {cracky = 1},
is_ground_content = false,
sounds = sound_stone,
},
["plankstone"] = { ["plankstone"] = {
description = S("Plankstone"), description = S("Plankstone"),
paramtype2 = "facedir", paramtype2 = "facedir",
@ -194,7 +187,6 @@ local nodes = {
description = S("Iron Glass"), description = S("Iron Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"default_glass.png^[colorize:#DEDEDE", "default_glass_detail.png^[colorize:#DEDEDE"}, tiles = {"default_glass.png^[colorize:#DEDEDE", "default_glass_detail.png^[colorize:#DEDEDE"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -205,7 +197,6 @@ local nodes = {
description = S("Coal Glass"), description = S("Coal Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"default_glass.png^[colorize:#828282", "default_glass_detail.png^[colorize:#828282"}, tiles = {"default_glass.png^[colorize:#828282", "default_glass_detail.png^[colorize:#828282"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -216,7 +207,6 @@ local nodes = {
description = S("Clean Glass"), description = S("Clean Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"moreblocks_clean_glass.png", "moreblocks_clean_glass_detail.png"}, tiles = {"moreblocks_clean_glass.png", "moreblocks_clean_glass_detail.png"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -316,7 +306,6 @@ local nodes = {
description = S("Trap Glass"), description = S("Trap Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"default_glass.png^moreblocks_trap_box_glass.png", "default_glass_detail.png"}, tiles = {"default_glass.png^moreblocks_trap_box_glass.png", "default_glass_detail.png"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -329,7 +318,6 @@ local nodes = {
description = S("Trap Obsidian Glass"), description = S("Trap Obsidian Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"default_obsidian_glass.png^moreblocks_trap_box_glass.png", "default_obsidian_glass_detail.png"}, tiles = {"default_obsidian_glass.png^moreblocks_trap_box_glass.png", "default_obsidian_glass_detail.png"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -349,19 +337,6 @@ local nodes = {
sounds = sound_stone, sounds = sound_stone,
no_stairs = true, no_stairs = true,
}, },
["trap_clean_glass"] = {
description = S("Trap Clean Glass"),
drawtype = "glasslike_framed_optional",
tiles = {"moreblocks_clean_glass.png^moreblocks_trap_box_glass.png", "moreblocks_clean_glass_detail.png"},
use_texture_alpha = true,
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
walkable = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = sound_glass,
no_stairs = true,
},
["trap_sandstone"] = { ["trap_sandstone"] = {
description = S("Trap Sandstone"), description = S("Trap Sandstone"),
drawtype = "glasslike_framed", drawtype = "glasslike_framed",
@ -412,19 +387,6 @@ local nodes = {
description = S("Glow Glass"), description = S("Glow Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"default_glass.png^[colorize:#E9CD61", "default_glass_detail.png^[colorize:#E9CD61"}, tiles = {"default_glass.png^[colorize:#E9CD61", "default_glass_detail.png^[colorize:#E9CD61"},
use_texture_alpha = true,
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
light_source = 11,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = sound_glass,
},
["clean_glow_glass"] = {
description = S("Clean Glow Glass"),
drawtype = "glasslike_framed_optional",
tiles = {"moreblocks_clean_glass.png^[colorize:#E9CD61", "moreblocks_clean_glass_detail.png^[colorize:#E9CD61"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -436,21 +398,6 @@ local nodes = {
description = S("Trap Glow Glass"), description = S("Trap Glow Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"default_glass.png^[colorize:#E9CD61^moreblocks_trap_box_glass.png", "default_glass_detail.png^[colorize:#E9CD61"}, tiles = {"default_glass.png^[colorize:#E9CD61^moreblocks_trap_box_glass.png", "default_glass_detail.png^[colorize:#E9CD61"},
use_texture_alpha = true,
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
light_source = 11,
walkable = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = sound_glass,
no_stairs = true,
},
["trap_clean_glow_glass"] = {
description = S("Trap Clean Glow Glass"),
drawtype = "glasslike_framed_optional",
tiles = {"moreblocks_clean_glass.png^[colorize:#E9CD61^moreblocks_trap_box_glass.png", "moreblocks_clean_glass_detail.png^[colorize:#E9CD61"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -464,19 +411,6 @@ local nodes = {
description = S("Super Glow Glass"), description = S("Super Glow Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"default_glass.png^[colorize:#FFFF78", "default_glass_detail.png^[colorize:#FFFF78"}, tiles = {"default_glass.png^[colorize:#FFFF78", "default_glass_detail.png^[colorize:#FFFF78"},
use_texture_alpha = true,
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
light_source = default.LIGHT_MAX,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = sound_glass,
},
["clean_super_glow_glass"] = {
description = S("Clean Super Glow Glass"),
drawtype = "glasslike_framed_optional",
tiles = {"moreblocks_clean_glass.png^[colorize:#FFFF78", "moreblocks_clean_glass_detail.png^[colorize:#FFFF78"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -488,21 +422,6 @@ local nodes = {
description = S("Trap Super Glow Glass"), description = S("Trap Super Glow Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
tiles = {"default_glass.png^[colorize:#FFFF78^moreblocks_trap_box_glass.png", "default_glass_detail.png^[colorize:#FFFF78"}, tiles = {"default_glass.png^[colorize:#FFFF78^moreblocks_trap_box_glass.png", "default_glass_detail.png^[colorize:#FFFF78"},
use_texture_alpha = true,
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
light_source = default.LIGHT_MAX,
walkable = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = sound_glass,
no_stairs = true,
},
["trap_clean_super_glow_glass"] = {
description = S("Trap Clean Super Glow Glass"),
drawtype = "glasslike_framed_optional",
tiles = {"moreblocks_clean_glass.png^[colorize:#FFFF78^moreblocks_trap_box_glass.png", "moreblocks_clean_glass_detail.png^[colorize:#FFFF78"},
use_texture_alpha = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
@ -540,21 +459,6 @@ for name, def in pairs(nodes) do
def.tiles = def.tiles or {"moreblocks_" ..name.. ".png"} def.tiles = def.tiles or {"moreblocks_" ..name.. ".png"}
minetest.register_node("moreblocks:" ..name, def) minetest.register_node("moreblocks:" ..name, def)
minetest.register_alias(name, "moreblocks:" ..name) minetest.register_alias(name, "moreblocks:" ..name)
def_copy = table.copy(def)
-- Use the primary tile for all sides of cut glasslike nodes.
-- This makes them easier to see
if
#def_copy.tiles > 1 and
def_copy.drawtype and
def_copy.drawtype == "glasslike_framed" or
def_copy.drawtype == "glasslike_framed_optional"
then
def.tiles = {def_copy.tiles[1]}
end
if not def.no_stairs then if not def.no_stairs then
local groups = {} local groups = {}
for k, v in pairs(def.groups) do groups[k] = v end for k, v in pairs(def.groups) do groups[k] = v end

View file

@ -1,11 +1,11 @@
--[[ --[[
More Blocks: ownership handling More Blocks: ownership 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.S local S = moreblocks.gettext
function moreblocks.node_is_owned(pos, placer) function moreblocks.node_is_owned(pos, placer)
local ownername = false local ownername = false
@ -33,7 +33,7 @@ function moreblocks.node_is_owned(pos, placer)
end end
if ownername ~= false then if ownername ~= false then
minetest.chat_send_player( placer:get_player_name(), S("Sorry, @1 owns that spot.", ownername) ) minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) )
return true return true
else else
return false return false

View file

@ -1,82 +1,49 @@
--[[ --[[
More Blocks: redefinitions of default stuff More Blocks: redefinitions of default stuff
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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local modname = minetest.get_current_modname() -- Redefinitions of some default crafting recipes:
-- Redefine some of the default crafting recipes to be more productive minetest.register_craft({
output = "default:sign_wall 4",
-- Auxiliary function: take a recipe as returned by get_all_craft_recipes recipe = {
-- and turn it into a table that can be used to clear a craft or declare a new one {"default:wood", "default:wood", "default:wood"},
local reconstruct_internal_craft = function(recipe) {"default:wood", "default:wood", "default:wood"},
local recp = { {"", "default:stick", ""},
{ "", "", "" },
{ "", "", "" },
{ "", "", "" },
} }
for idx, item in pairs(recipe.items) do })
local row = math.ceil(idx / recipe.width)
local col = idx - (row-1)*recipe.width
recp[row][col] = item
end
return recp
end
-- Change the amount produced by recipe by apply func to the old amount minetest.register_craft({
local change_recipe_amount = function(product, recipe, func) output = "default:ladder 4",
local recp = reconstruct_internal_craft(recipe) recipe = {
{"default:stick", "", "default:stick"},
{"default:stick", "default:stick", "default:stick"},
{"default:stick", "", "default:stick"},
}
})
local oldamount = tonumber(recipe.output:match(" [0-9]+$") or "1") minetest.clear_craft({
recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"}
}
})
minetest.register_craft({
output = "default:paper 4",
recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"},
}
})
local newamount = func(oldamount) minetest.register_craft({
output = "default:rail 24",
-- remove old crafting recipe recipe = {
local redo = { recipe = recp } {"default:steel_ingot", "", "default:steel_ingot"},
minetest.clear_craft(redo) {"default:steel_ingot", "default:stick", "default:steel_ingot"},
{"default:steel_ingot", "", "default:steel_ingot"},
-- new output }
redo.output = ("%s %d"):format(product, newamount)
minetest.register_craft(redo)
minetest.log("action", ("[MOD]%s: recipe for %s production: %d => %d"):format(modname, product, oldamount, newamount))
end
local increase_craft_production = function(product, func)
local recipes = minetest.get_all_craft_recipes(product)
for _, r in pairs(recipes) do
if r.type == "normal" or r.method == "normal" then
change_recipe_amount(product, r, func)
end
end
end
-- Increase the crafting production according to the rules from the table, which is in the form:
-- {
-- { detector, amount changing function }
-- { detector, amount changing function }
-- }
-- TODO: consider exporting this function to other mods
local increase_craft_production_table = function(map_table)
for product, _ in pairs(minetest.registered_items) do
for _, tab in pairs(map_table) do
local detector = tab[1]
local func = tab[2]
if detector(product) then
increase_craft_production(product, func)
-- only apply one boost
break
end
end
end
end
increase_craft_production_table({
{ function(n) return n:match('^default:sign_wall') end, function(old) return old + 1 end },
{ function(n) return n == 'default:paper' end, function(old) return old*4 end },
{ function(n) return n:match('^carts:.*rail$') or n:match('^default:.*rail$') end, function(old) return old + old/2 end },
}) })
minetest.register_craft({ minetest.register_craft({

View file

@ -1,3 +0,0 @@
# If enabled, Stairs+ nodes will be displayed in the inventory when playing in creative mode.
# Disabling this can speed up loading times for clients as fewer nodes need to be registered in the creative inventory.
moreblocks.stairsplus_in_creative_inventory (Display Stairs+ nodes in creative inventory) bool true

View file

@ -6,7 +6,7 @@
This also registers the node with the circular saw. This also registers the node with the circular saw.
Example: Example:
```lua ```lua
stairsplus:register_all("moreblocks", "wood", "default:wood", { stairsplus:register_all("moreblocks", "wood", "defaut:wood", {
description = "Wooden", description = "Wooden",
tiles = {"default_wood.png"}, tiles = {"default_wood.png"},
groups = {oddly_breakabe_by_hand=1}, groups = {oddly_breakabe_by_hand=1},

View file

@ -0,0 +1,70 @@
--[[
More Blocks: alias definitions
Copyright (c) 2011-2018 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]
local function register_stairsplus_alias(modname, origname, newname)
minetest.register_alias(modname.. ":slab_" ..origname, "moreblocks:slab_" ..newname)
minetest.register_alias(modname.. ":slab_" ..origname.. "_inverted", "moreblocks:slab_" ..newname.. "_inverted")
minetest.register_alias(modname.. ":slab_" ..origname.. "_wall", "moreblocks:slab_" ..newname.. "_wall")
minetest.register_alias(modname.. ":slab_" ..origname.. "_quarter", "moreblocks:slab_" ..newname.. "_quarter")
minetest.register_alias(modname.. ":slab_" ..origname.. "_quarter_inverted", "moreblocks:slab_" ..newname.. "_quarter_inverted")
minetest.register_alias(modname.. ":slab_" ..origname.. "_quarter_wall", "moreblocks:slab_" ..newname.. "_quarter_wall")
minetest.register_alias(modname.. ":slab_" ..origname.. "_three_quarter", "moreblocks:slab_" ..newname.. "_three_quarter")
minetest.register_alias(modname.. ":slab_" ..origname.. "_three_quarter_inverted", "moreblocks:slab_" ..newname.. "_three_quarter_inverted")
minetest.register_alias(modname.. ":slab_" ..origname.. "_three_quarter_wall", "moreblocks:slab_" ..newname.. "_three_quarter_wall")
minetest.register_alias(modname.. ":stair_" ..origname, "moreblocks:stair_" ..newname)
minetest.register_alias(modname.. ":stair_" ..origname.. "_inverted", "moreblocks:stair_" ..newname.. "_inverted")
minetest.register_alias(modname.. ":stair_" ..origname.. "_wall", "moreblocks:stair_" ..newname.. "_wall")
minetest.register_alias(modname.. ":stair_" ..origname.. "_wall_half", "moreblocks:stair_" ..newname.. "_wall_half")
minetest.register_alias(modname.. ":stair_" ..origname.. "_wall_half_inverted", "moreblocks:stair_" ..newname.. "_wall_half_inverted")
minetest.register_alias(modname.. ":stair_" ..origname.. "_half", "moreblocks:stair_" ..newname.. "_half")
minetest.register_alias(modname.. ":stair_" ..origname.. "_half_inverted", "moreblocks:stair_" ..newname.. "_half_inverted")
minetest.register_alias(modname.. ":stair_" ..origname.. "_right_half", "moreblocks:stair_" ..newname.. "_right_half")
minetest.register_alias(modname.. ":stair_" ..origname.. "_right_half_inverted", "moreblocks:stair_" ..newname.. "_right_half_inverted")
minetest.register_alias(modname.. ":stair_" ..origname.. "_wall_half", "moreblocks:stair_" ..newname.. "_wall_half")
minetest.register_alias(modname.. ":stair_" ..origname.. "_wall_half_inverted", "moreblocks:stair_" ..newname.. "_wall_half_inverted")
minetest.register_alias(modname.. ":stair_" ..origname.. "_inner", "moreblocks:stair_" ..newname.. "_inner")
minetest.register_alias(modname.. ":stair_" ..origname.. "_inner_inverted", "moreblocks:stair_" ..newname.. "_inner_inverted")
minetest.register_alias(modname.. ":stair_" ..origname.. "_outer", "moreblocks:stair_" ..newname.. "_outer")
minetest.register_alias(modname.. ":stair_" ..origname.. "_outer_inverted", "moreblocks:stair_" ..newname.. "_outer_inverted")
minetest.register_alias(modname.. ":panel_" ..origname.. "_bottom", "moreblocks:panel_" ..newname.. "_bottom")
minetest.register_alias(modname.. ":panel_" ..origname.. "_top", "moreblocks:panel_" ..newname.. "_top")
minetest.register_alias(modname.. ":panel_" ..origname.. "_vertical", "moreblocks:panel_" ..newname.. "_vertical")
minetest.register_alias(modname.. ":micro_" ..origname.. "_bottom", "moreblocks:micro_" ..newname.. "_bottom")
minetest.register_alias(modname.. ":micro_" ..origname.. "_top", "moreblocks:micro_" ..newname.. "_top")
end
register_stairsplus_alias("stairsplus", "stone", "stone")
register_stairsplus_alias("stairsplus", "wood", "wood")
register_stairsplus_alias("stairsplus", "pinewood", "pinewood")
register_stairsplus_alias("stairsplus", "cobble", "cobble")
register_stairsplus_alias("stairsplus", "brick", "brick")
register_stairsplus_alias("stairsplus", "sandstone", "sandstone")
register_stairsplus_alias("stairsplus", "glass", "glass")
register_stairsplus_alias("stairsplus", "tree", "tree")
register_stairsplus_alias("stairsplus", "jungletree", "jungletree")
register_stairsplus_alias("stairsplus", "pinetree", "pinetree")
register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone")
register_stairsplus_alias("stairsplus", "steelblock", "steelblock")
register_stairsplus_alias("stairsplus", "mossycobble", "mossycobble")
register_stairsplus_alias("moreblocks", "coalstone", "coal_stone")
register_stairsplus_alias("moreblocks", "junglewood", "jungle_wood")
register_stairsplus_alias("moreblocks", "circlestonebrick", "circle_stone_bricks")
register_stairsplus_alias("moreblocks", "ironstone", "iron_stone")
register_stairsplus_alias("moreblocks", "coalglass", "coal_glass")
register_stairsplus_alias("moreblocks", "ironglass", "iron_glass")
register_stairsplus_alias("moreblocks", "glowglass", "glow_glass")
register_stairsplus_alias("moreblocks", "superglowglass", "super_glow_glass")
register_stairsplus_alias("moreblocks", "coalchecker", "coal_checker")
register_stairsplus_alias("moreblocks", "ironchecker", "iron_checker")
register_stairsplus_alias("moreblocks", "cactuschecker", "cactus_checker")
register_stairsplus_alias("moreblocks", "ironstonebrick", "iron_stone_bricks")
register_stairsplus_alias("moreblocks", "stonesquare", "stone_tile")
register_stairsplus_alias("moreblocks", "splitstonesquare", "split_stone_tile")
register_stairsplus_alias("moreblocks", "woodtile", "wood_tile")
register_stairsplus_alias("moreblocks", "woodtile_centered", "wood_tile_centered")
register_stairsplus_alias("moreblocks", "woodtile_full", "wood_tile_full")

View file

@ -1,154 +1,40 @@
--[[ --[[
More Blocks: registrations More Blocks: registrations
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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.S local S = moreblocks.intllib
local descriptions = {
["micro"] = S("%s Microblock"),
["slab"] = S("%s Slab"),
["slope"] = S("%s Slope"),
["panel"] = S("%s Panel"),
["stair"] = S("%s Stairs"),
}
-- Extends the standad rotate_node placement so that it takes into account
-- the side (top/bottom or left/right) of the face being pointed at.
-- As with the standard rotate_node, sneak can be used to force the perpendicular
-- placement (wall placement on floor/ceiling, floor/ceiling placement on walls).
-- Additionally, the aux / sprint / special key can be used to place the node
-- as if from the opposite side.
--
-- When placing a node next to one of the same category (e.g. slab to slab or
-- stair to stair), the default placement (regardless of sneak) is to copy the
-- under node's param2, flipping if placed above or below it. The aux key disable
-- this behavior.
local wall_right_dirmap = {9, 18, 7, 12}
local wall_left_dirmap = {11, 16, 5, 14}
local ceil_dirmap = {20, 23, 22, 21}
-- extract the stairsplus category from a node name
-- assumes the name is in the form mod_name:category_original_ndoe_name
local function name_to_category(name)
local colon = name:find(":") or 0
colon = colon + 1
local under = name:find("_", colon)
return name:sub(colon, under)
end
stairsplus.rotate_node_aux = function(itemstack, placer, pointed_thing)
local sneak = placer and placer:get_player_control().sneak
local aux = placer and placer:get_player_control().aux1
-- category for what we are placing
local item_prefix = name_to_category(itemstack:get_name())
-- category for what we are placing against
local under = pointed_thing.under
local under_node = minetest.get_node(under)
local under_prefix = under_node and name_to_category(under_node.name)
local same_cat = item_prefix == under_prefix
-- standard (floor) facedir, also used for sneak placement against the lower half of the wall
local p2 = placer and minetest.dir_to_facedir(placer:get_look_dir()) or 0
-- check which face and which quadrant we are interested in
-- this is used both to check if we're handling parallel placement in the same-category case,
-- and in general for sneak placement
local face_pos = minetest.pointed_thing_to_face_pos(placer, pointed_thing)
local face_off = vector.subtract(face_pos, under)
-- we cannot trust face_off to tell us the correct directionif the
-- under node has a non-standard shape, so use the distance between under and above
local wallmounted = minetest.dir_to_wallmounted(vector.subtract(pointed_thing.above, under))
if same_cat and not aux then
p2 = under_node.param2
-- flip if placing above or below an upright or upside-down node
-- TODO should we also flip when placing next to a side-mounted node?
if wallmounted < 2 then
if p2 < 4 then
p2 = (p2 + 2) % 4
p2 = ceil_dirmap[p2 + 1]
elseif p2 > 19 then
p2 = ceil_dirmap[p2 - 19] - 20
p2 = (p2 + 2) % 4
end
end
else
-- for same-cat placement, aux is used to disable param2 copying
if same_cat then
aux = not aux
end
local remap = nil
-- standard placement against the wall
local use_wallmap = (wallmounted > 1 and not sneak) or (wallmounted < 2 and sneak)
-- standard placement against the ceiling, or sneak placement against the upper half of the wall
local use_ceilmap = wallmounted == 1 and not sneak
use_ceilmap = use_ceilmap or (wallmounted > 1 and sneak and face_off.y > 0)
if use_wallmap then
local left = (p2 == 0 and face_off.x < 0) or
(p2 == 1 and face_off.z > 0) or
(p2 == 2 and face_off.x > 0) or
(p2 == 3 and face_off.z < 0)
if aux then
left = not left
end
remap = left and wall_left_dirmap or wall_right_dirmap
elseif use_ceilmap then
remap = ceil_dirmap
end
if aux then
p2 = (p2 + 2) % 4
end
if remap then
p2 = remap[p2 + 1]
end
end
return minetest.item_place(itemstack, placer, pointed_thing, p2)
end
stairsplus.register_single = function(category, alternate, info, modname, subname, recipeitem, fields) stairsplus.register_single = function(category, alternate, info, modname, subname, recipeitem, fields)
local src_def = minetest.registered_nodes[recipeitem] or {} local descriptions = {
local desc_base = descriptions[category]:format(fields.description) ["micro"] = "Microblock",
["slab"] = "Slab",
["slope"] = "Slope",
["panel"] = "Panel",
["stair"] = "Stairs",
}
local def = {} local def = {}
if category ~= "slab" then if category ~= "slab" then
def = table.copy(info) def = table.copy(info)
end end
-- copy fields to def
for k, v in pairs(fields) do for k, v in pairs(fields) do
def[k] = v def[k] = v
end end
def.drawtype = "nodebox" def.drawtype = "nodebox"
if category == "slope" then
def.drawtype = "mesh"
end
def.paramtype = "light" def.paramtype = "light"
def.paramtype2 = def.paramtype2 or "facedir" def.paramtype2 = def.paramtype2 or "facedir"
if def.use_texture_alpha == nil then def.on_place = minetest.rotate_node
def.use_texture_alpha = src_def.use_texture_alpha if category ~= "slab" then
end def.description = S("%s " .. descriptions[category]):format(fields.description)
else
-- This makes node rotation work on placement local desc_base = S("%s " .. descriptions[category]):format(fields.description)
def.place_param2 = nil
-- Darken light sources slightly to make up for their smaller visual size
def.light_source = math.max(0, (def.light_source or 0) - 1)
def.on_place = stairsplus.rotate_node_aux
def.groups = stairsplus:prepare_groups(fields.groups)
if category == "slab" then
if type(info) ~= "table" then if type(info) ~= "table" then
def.node_box = { def.node_box = {
type = "fixed", type = "fixed",
@ -162,19 +48,14 @@ stairsplus.register_single = function(category, alternate, info, modname, subnam
} }
def.description = desc_base .. alternate:gsub("_", " "):gsub("(%a)(%S*)", function(a, b) return a:upper() .. b end) def.description = desc_base .. alternate:gsub("_", " "):gsub("(%a)(%S*)", function(a, b) return a:upper() .. b end)
end end
else end
def.description = desc_base def.groups = stairsplus:prepare_groups(fields.groups)
if category == "slope" then if category == "stair" and alternate == "" then
def.drawtype = "mesh"
elseif category == "stair" and alternate == "" then
def.groups.stair = 1 def.groups.stair = 1
end end
end
if fields.drop and not (type(fields.drop) == "table") then if fields.drop and not (type(fields.drop) == "table") then
def.drop = modname.. ":" .. category .. "_" .. fields.drop .. alternate def.drop = modname.. ":" .. category .. "_" .. fields.drop .. alternate
end end
minetest.register_node(":" ..modname.. ":" .. category .. "_" .. subname .. alternate, def) minetest.register_node(":" ..modname.. ":" .. category .. "_" .. subname .. alternate, def)
stairsplus.register_recipes(category, alternate, modname, subname, recipeitem) stairsplus.register_recipes(category, alternate, modname, subname, recipeitem)
end end

View file

@ -0,0 +1,139 @@
--[[
More Blocks: conversion
Copyright (c) 2011-2018 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]
-- Function to convert all stairs/slabs/etc nodes from
-- inverted, wall, etc to regular + 6d facedir
local dirs1 = {21, 20, 23, 22, 21}
local dirs2 = {15, 8, 17, 6, 15}
local dirs3 = {14, 11, 16, 5, 14}
function stairsplus:register_6dfacedir_conversion(modname, material)
--print("Register stairsplus 6d facedir conversion")
--print('ABM for '..modname..' "'..material..'"')
local objects_list1 = {
modname.. ":slab_" ..material.. "_inverted",
modname.. ":slab_" ..material.. "_quarter_inverted",
modname.. ":slab_" ..material.. "_three_quarter_inverted",
modname.. ":stair_" ..material.. "_inverted",
modname.. ":stair_" ..material.. "_wall",
modname.. ":stair_" ..material.. "_wall_half",
modname.. ":stair_" ..material.. "_wall_half_inverted",
modname.. ":stair_" ..material.. "_half_inverted",
modname.. ":stair_" ..material.. "_right_half_inverted",
modname.. ":panel_" ..material.. "_vertical",
modname.. ":panel_" ..material.. "_top",
}
local objects_list2 = {
modname.. ":slab_" ..material.. "_wall",
modname.. ":slab_" ..material.. "_quarter_wall",
modname.. ":slab_" ..material.. "_three_quarter_wall",
modname.. ":stair_" ..material.. "_inner_inverted",
modname.. ":stair_" ..material.. "_outer_inverted",
modname.. ":micro_" ..material.. "_top"
}
for _, object in pairs(objects_list1) do
local flip_upside_down = false
local flip_to_wall = false
local dest_object = object
if string.find(dest_object, "_inverted") then
flip_upside_down = true
dest_object = string.gsub(dest_object, "_inverted", "")
end
if string.find(object, "_top") then
flip_upside_down = true
dest_object = string.gsub(dest_object, "_top", "")
end
if string.find(dest_object, "_wall") then
flip_to_wall = true
dest_object = string.gsub(dest_object, "_wall", "")
end
if string.find(dest_object, "_vertical") then
flip_to_wall = true
dest_object = string.gsub(dest_object, "_vertical", "")
end
if string.find(dest_object, "_half") and not string.find(dest_object, "_right_half") then
dest_object = string.gsub(dest_object, "_half", "_right_half")
elseif string.find(dest_object, "_right_half") then
dest_object = string.gsub(dest_object, "_right_half", "_half")
end
--print(" +---> convert " ..object)
--print(" | to " ..dest_object)
minetest.register_abm({
nodenames = {object},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local fdir = node.param2 or 0
local nfdir
if flip_upside_down and not flip_to_wall then
nfdir = dirs1[fdir + 2]
elseif flip_to_wall and not flip_upside_down then
nfdir = dirs2[fdir + 1]
elseif flip_to_wall and flip_upside_down then
nfdir = dirs3[fdir + 2]
end
minetest.set_node(pos, {name = dest_object, param2 = nfdir})
end
})
end
for _, object in pairs(objects_list2) do
local flip_upside_down = false
local flip_to_wall = false
local dest_object = object
if string.find(dest_object, "_inverted") then
flip_upside_down = true
dest_object = string.gsub(dest_object, "_inverted", "")
end
if string.find(dest_object, "_top") then
flip_upside_down = true
dest_object = string.gsub(dest_object, "_top", "")
end
if string.find(dest_object, "_wall") then
flip_to_wall = true
dest_object = string.gsub(dest_object, "_wall", "")
end
--print(" +---> convert " ..object)
--print(" | to " ..dest_object)
minetest.register_abm({
nodenames = {object},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local fdir = node.param2
local nfdir = 20
if flip_upside_down and not flip_to_wall then
nfdir = dirs1[fdir + 1]
elseif flip_to_wall and not flip_upside_down then
nfdir = dirs2[fdir + 2]
end
minetest.set_node(pos, {name = dest_object, param2 = nfdir})
end
})
end
end

View file

@ -1,10 +1,12 @@
--[[ --[[
More Blocks: microblock definitions More Blocks: microblock 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.intllib
--[[ --[[
Subset table should have the following format: (You can remove entries as needed.) Subset table should have the following format: (You can remove entries as needed.)
@ -61,8 +63,7 @@ local subset = {
} }
--]] --]]
-- luacheck: no unused function register_custom_subset(subset, modname, subname, recipeitem, groups, images, description, drop, light)
local function register_custom_subset(subset, modname, subname, recipeitem, groups, images, description, drop, light)
stairsplus:register_custom_subset(subset, modname, subname, recipeitem, { stairsplus:register_custom_subset(subset, modname, subname, recipeitem, {
groups = groups, groups = groups,
tiles = images, tiles = images,
@ -74,22 +75,22 @@ local function register_custom_subset(subset, modname, subname, recipeitem, grou
end end
function stairsplus:register_custom_subset_alias(subset, modname_old, subname_old, modname_new, subname_new) function stairsplus:register_custom_subset_alias(subset, modname_old, subname_old, modname_new, subname_new)
local subset_copy = table.copy(subset) local subset = table.copy(subset)
for k, v in pairs(subset_copy) do for k, v in pairs(subset) do
minetest.register_alias(modname_old .. ":" .. v[1] .. "_" .. subname_old .. v[2], modname_new .. ":" .. v[1] .. "_" .. subname_new .. v[2]) minetest.register_alias(modname_old .. ":" .. v[1] .. "_" .. subname_old .. v[2], modname_new .. ":" .. v[1] .. "_" .. subname_new .. v[2])
end end
end end
function stairsplus:register_custom_subset_alias_force(subset, modname_old, subname_old, modname_new, subname_new) function stairsplus:register_custom_subset_alias_force(subset, modname_old, subname_old, modname_new, subname_new)
local subset_copy = table.copy(subset) local subset = table.copy(subset)
for k, v in pairs(subset_copy) do for k, v in pairs(subset) do
minetest.register_alias_force(modname_old .. ":" .. v[1] .. "_" .. subname_old .. v[2], modname_new .. ":" .. v[1] .. "_" .. subname_new .. v[2]) minetest.register_alias_force(modname_old .. ":" .. v[1] .. "_" .. subname_old .. v[2], modname_new .. ":" .. v[1] .. "_" .. subname_new .. v[2])
end end
end end
function stairsplus:register_custom_subset(subset, modname, subname, recipeitem, fields) function stairsplus:register_custom_subset(subset, modname, subname, recipeitem, fields)
local subset_copy = table.copy(subset) local subset = table.copy(subset)
for k, v in pairs(subset_copy) do for k, v in pairs(subset) do
stairsplus.register_single(v[1], v[2], stairsplus.defs[v[1]][v[2]], modname, subname, recipeitem, fields) stairsplus.register_single(v[1], v[2], stairsplus.defs[v[1]][v[2]], modname, subname, recipeitem, fields)
end end

View file

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: registrations More Blocks: registrations
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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]

View file

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: Stairs+ More Blocks: Stairs+
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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -14,10 +14,8 @@ stairsplus.expect_infinite_stacks = false
stairsplus.shapes_list = {} stairsplus.shapes_list = {}
if if not minetest.get_modpath("unified_inventory")
not minetest.get_modpath("unified_inventory") and minetest.settings:get_bool("creative_mode") then
and minetest.settings:get_bool("creative_mode")
then
stairsplus.expect_infinite_stacks = true stairsplus.expect_infinite_stacks = true
end end
@ -25,7 +23,7 @@ function stairsplus:prepare_groups(groups)
local result = {} local result = {}
if groups then if groups then
for k, v in pairs(groups) do for k, v in pairs(groups) do
if k ~= "wood" and k ~= "stone" and k ~= "wool" and k ~= "tree" then if k ~= "wood" and k ~= "stone" then
result[k] = v result[k] = v
end end
end end
@ -38,10 +36,11 @@ end
function stairsplus:register_all(modname, subname, recipeitem, fields) function stairsplus:register_all(modname, subname, recipeitem, fields)
self:register_stair(modname, subname, recipeitem, fields) self:register_stair(modname, subname, recipeitem, fields)
self:register_slab(modname, subname, recipeitem, fields) self:register_slab (modname, subname, recipeitem, fields)
self:register_slope(modname, subname, recipeitem, fields) self:register_slope(modname, subname, recipeitem, fields)
self:register_panel(modname, subname, recipeitem, fields) self:register_panel(modname, subname, recipeitem, fields)
self:register_micro(modname, subname, recipeitem, fields) self:register_micro(modname, subname, recipeitem, fields)
-- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps.
end end
function stairsplus:register_alias_all(modname_old, subname_old, modname_new, subname_new) function stairsplus:register_alias_all(modname_old, subname_old, modname_new, subname_new)
@ -59,8 +58,7 @@ function stairsplus:register_alias_force_all(modname_old, subname_old, modname_n
self:register_micro_alias_force(modname_old, subname_old, modname_new, subname_new) self:register_micro_alias_force(modname_old, subname_old, modname_new, subname_new)
end end
-- luacheck: no unused function register_stair_slab_panel_micro(modname, subname, recipeitem, groups, images, description, drop, light)
local function register_stair_slab_panel_micro(modname, subname, recipeitem, groups, images, description, drop, light)
stairsplus:register_all(modname, subname, recipeitem, { stairsplus:register_all(modname, subname, recipeitem, {
groups = groups, groups = groups,
tiles = images, tiles = images,
@ -70,6 +68,8 @@ local function register_stair_slab_panel_micro(modname, subname, recipeitem, gro
}) })
end end
-- dofile(modpath.. "/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps.
-- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps.
dofile(modpath .. "/defs.lua") dofile(modpath .. "/defs.lua")
dofile(modpath .. "/recipes.lua") dofile(modpath .. "/recipes.lua")
dofile(modpath .. "/common.lua") dofile(modpath .. "/common.lua")

View file

@ -1,14 +1,15 @@
--[[ --[[
More Blocks: microblock definitions More Blocks: microblock 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.intllib
-- Node will be called <modname>:micro_<subname> -- Node will be called <modname>:micro_<subname>
-- luacheck: no unused function register_micro(modname, subname, recipeitem, groups, images, description, drop, light)
local function register_micro(modname, subname, recipeitem, groups, images, description, drop, light)
stairsplus:register_micro(modname, subname, recipeitem, { stairsplus:register_micro(modname, subname, recipeitem, {
groups = groups, groups = groups,
tiles = images, tiles = images,

View file

@ -1,14 +1,15 @@
--[[ --[[
More Blocks: panel definitions More Blocks: panel 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.intllib
-- Node will be called <modname>:panel_<subname> -- Node will be called <modname>:panel_<subname>
-- luacheck: no unused function register_panel(modname, subname, recipeitem, groups, images, description, drop, light)
local function register_panel(modname, subname, recipeitem, groups, images, description, drop, light)
stairsplus:register_panel(modname, subname, recipeitem, { stairsplus:register_panel(modname, subname, recipeitem, {
groups = groups, groups = groups,
tiles = images, tiles = images,

View file

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: Stairs+ More Blocks: Stairs+
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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]

View file

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: registrations More Blocks: registrations
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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -49,7 +49,6 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks:
"desert_sandstone_block", "desert_sandstone_block",
"sandstone_block", "sandstone_block",
"coral_skeleton", "coral_skeleton",
"ice",
} }
for _, name in pairs(default_nodes) do for _, name in pairs(default_nodes) do
@ -106,6 +105,9 @@ if minetest.get_modpath("wool") then
local ndef = table.copy(minetest.registered_nodes[nodename]) local ndef = table.copy(minetest.registered_nodes[nodename])
ndef.sunlight_propagates = true ndef.sunlight_propagates = true
-- Prevent dye+cut wool recipy from creating a full wool block.
ndef.groups.wool = nil
stairsplus:register_all(mod, name, nodename, ndef) stairsplus:register_all(mod, name, nodename, ndef)
end end
end end

View file

@ -1,14 +1,15 @@
--[[ --[[
More Blocks: slab definitions More Blocks: slab 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.intllib
-- Node will be called <modname>:slab_<subname> -- Node will be called <modname>:slab_<subname>
-- luacheck: no unused function register_slab(modname, subname, recipeitem, groups, images, description, drop, light)
local function register_slab(modname, subname, recipeitem, groups, images, description, drop, light)
stairsplus:register_slab(modname, subname, recipeitem, { stairsplus:register_slab(modname, subname, recipeitem, {
groups = groups, groups = groups,
tiles = images, tiles = images,
@ -35,6 +36,7 @@ end
function stairsplus:register_slab(modname, subname, recipeitem, fields) function stairsplus:register_slab(modname, subname, recipeitem, fields)
local defs = table.copy(stairsplus.defs["slab"]) local defs = table.copy(stairsplus.defs["slab"])
local desc_base = S("%s Slab"):format(fields.description)
for alternate, shape in pairs(defs) do for alternate, shape in pairs(defs) do
stairsplus.register_single("slab", alternate, shape, modname, subname, recipeitem, fields) stairsplus.register_single("slab", alternate, shape, modname, subname, recipeitem, fields)
end end

View file

@ -1,14 +1,15 @@
--[[ --[[
More Blocks: slope definitions More Blocks: slope 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.intllib
-- Node will be called <modname>:slope_<subname> -- Node will be called <modname>:slope_<subname>
-- luacheck: no unused function register_slope(modname, subname, recipeitem, groups, images, description, drop, light)
local function register_slope(modname, subname, recipeitem, groups, images, description, drop, light)
stairsplus:register_slope(modname, subname, recipeitem, { stairsplus:register_slope(modname, subname, recipeitem, {
groups = groups, groups = groups,
tiles = images, tiles = images,

View file

@ -1,14 +1,15 @@
--[[ --[[
More Blocks: stair definitions More Blocks: stair 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. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local S = moreblocks.intllib
-- Node will be called <modname>:stair_<subname> -- Node will be called <modname>:stair_<subname>
-- luacheck: no unused function register_stair(modname, subname, recipeitem, groups, images, description, drop, light)
local function register_stair(modname, subname, recipeitem, groups, images, description, drop, light)
stairsplus:register_stair(modname, subname, recipeitem, { stairsplus:register_stair(modname, subname, recipeitem, {
groups = groups, groups = groups,
tiles = images, tiles = images,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 697 B

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 B

After

Width:  |  Height:  |  Size: 693 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 B

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 B

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 B

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 738 B

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 B

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 739 B

After

Width:  |  Height:  |  Size: 850 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 B

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 B

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

After

Width:  |  Height:  |  Size: 279 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 B

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 B

After

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 B

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 289 B