update blox, castles, cottages, technic, farming_redo, gloopblocks,
homedecor, led_marquee, locks, maptools, mesecons, plantlife, moreblocks, nixie_tubes, replacer, travelnet, and unified inventory
This commit is contained in:
parent
b548167fde
commit
8555f75acc
1330
blox/init.lua
1330
blox/init.lua
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,8 @@ minetest.register_node("castle_storage:crate", {
|
||||
default.gui_bg_img ..
|
||||
default.gui_slots ..
|
||||
"list[current_name;main;0,0;8,5;]"..
|
||||
"list[current_player;main;0,5;8,4;]")
|
||||
"list[current_player;main;0,5;8,4;]"..
|
||||
"listring[]")
|
||||
meta:set_string("infotext", S("Crate"))
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8*4)
|
||||
@ -56,4 +57,4 @@ if minetest.get_modpath("hopper") and hopper ~= nil and hopper.add_container ~=
|
||||
{"side", "castle_storage:crate", "main"},
|
||||
{"bottom", "castle_storage:crate", "main"},
|
||||
})
|
||||
end
|
||||
end
|
||||
|
@ -12,7 +12,8 @@ local get_ironbound_chest_formspec = function(pos)
|
||||
default.gui_bg_img ..
|
||||
default.gui_slots ..
|
||||
"list[nodemeta:".. spos .. ";main;,0;8,4;]"..
|
||||
"list[current_player;main;,5;8,4;]"
|
||||
"list[current_player;main;,5;8,4;]"..
|
||||
"listring[]"
|
||||
return formspec
|
||||
end
|
||||
|
||||
@ -140,4 +141,4 @@ if minetest.get_modpath("hopper") and hopper ~= nil and hopper.add_container ~=
|
||||
{"side", "castle_storage:ironbound_chest", "main"},
|
||||
{"bottom", "castle_storage:ironbound_chest", "main"},
|
||||
})
|
||||
end
|
||||
end
|
||||
|
10
concrete/locale/pl.txt
Normal file
10
concrete/locale/pl.txt
Normal file
@ -0,0 +1,10 @@
|
||||
# Polish Translation for technic_concrete
|
||||
# Polskie tłumaczenie technic_concrete
|
||||
# by mat9117
|
||||
|
||||
Rebar = Pręt zbrojeniowy
|
||||
Concrete Block = Blok betonu
|
||||
Blast-resistant Concrete Block = Przeciwwybuchowy blok betonu
|
||||
Concrete Post Platform = Betonowa platforma
|
||||
Concrete Post = Betonowy słup
|
||||
|
@ -4,6 +4,8 @@
|
||||
-- License: GPLv3
|
||||
--
|
||||
-- Modified:
|
||||
-- 11.03.19 Adjustments for MT 5.x
|
||||
-- cottages_feldweg_mode is now a setting in minetest.conf
|
||||
-- 27.07.15 Moved into its own repository.
|
||||
-- Made sure textures and craft receipe indigrents are available or can be replaced.
|
||||
-- Took care of "unregistered globals" warnings.
|
||||
|
@ -15,8 +15,14 @@ local S = cottages.S
|
||||
-- * flat: each node is a full node; junction, t-junction and corner are included
|
||||
-- * nodebox: like flat - except that each node has a nodebox that fits to that road node
|
||||
-- * mesh: like nodebox - except that it uses a nice roundish model
|
||||
if( not( cottages_feldweg_mode )) then
|
||||
local cottages_feldweg_mode = minetest.settings:get("cottages_feldweg_mode")
|
||||
if( cottages_feldweg_mode ~= "mesh"
|
||||
and cottages_feldweg_mode ~= "flat"
|
||||
and cottages_feldweg_mode ~= "nodebox"
|
||||
and cottages_feldweg_mode ~= "flat") then
|
||||
cottages_feldweg_mode = "mesh";
|
||||
-- add the setting to the minetest.conf so that the player can set it there
|
||||
minetest.settings:set("cottages_feldweg_mode", "mesh")
|
||||
end
|
||||
|
||||
local function register_recipes(include_end)
|
||||
|
@ -393,7 +393,7 @@ cottages.sit_on_bench = function( pos, node, clicker, itemstack, pointed_thing )
|
||||
|
||||
if( animation and animation.animation=="sit") then
|
||||
default.player_attached[pname] = false
|
||||
clicker:setpos({x=pos.x,y=pos.y-0.5,z=pos.z})
|
||||
clicker:set_pos({x=pos.x,y=pos.y-0.5,z=pos.z})
|
||||
clicker:set_eye_offset({x=0,y=0,z=0}, {x=0,y=0,z=0})
|
||||
clicker:set_physics_override(1, 1, 1)
|
||||
default.player_set_animation(clicker, "stand", 30)
|
||||
@ -411,7 +411,7 @@ cottages.sit_on_bench = function( pos, node, clicker, itemstack, pointed_thing )
|
||||
end
|
||||
|
||||
clicker:set_eye_offset({x=0,y=-7,z=2}, {x=0,y=0,z=0})
|
||||
clicker:setpos( p2 )
|
||||
clicker:set_pos( p2 )
|
||||
default.player_set_animation(clicker, "sit", 30)
|
||||
clicker:set_physics_override(0, 0, 0)
|
||||
default.player_attached[pname] = true
|
||||
@ -441,7 +441,7 @@ cottages.sleep_in_bed = function( pos, node, clicker, itemstack, pointed_thing )
|
||||
-- let players get back up
|
||||
if( animation and animation.animation=="lay" ) then
|
||||
default.player_attached[pname] = false
|
||||
clicker:setpos({x=pos.x,y=pos.y-0.5,z=pos.z})
|
||||
clicker:set_pos({x=pos.x,y=pos.y-0.5,z=pos.z})
|
||||
clicker:set_eye_offset({x=0,y=0,z=0}, {x=0,y=0,z=0})
|
||||
clicker:set_physics_override(1, 1, 1)
|
||||
default.player_set_animation(clicker, "stand", 30)
|
||||
@ -542,7 +542,7 @@ cottages.sleep_in_bed = function( pos, node, clicker, itemstack, pointed_thing )
|
||||
-- no sleeping on this place
|
||||
else
|
||||
default.player_attached[pname] = false
|
||||
clicker:setpos({x=pos.x,y=pos.y-0.5,z=pos.z})
|
||||
clicker:set_pos({x=pos.x,y=pos.y-0.5,z=pos.z})
|
||||
clicker:set_eye_offset({x=0,y=0,z=0}, {x=0,y=0,z=0})
|
||||
clicker:set_physics_override(1, 1, 1)
|
||||
default.player_set_animation(clicker, "stand", 30)
|
||||
@ -553,7 +553,7 @@ cottages.sleep_in_bed = function( pos, node, clicker, itemstack, pointed_thing )
|
||||
|
||||
|
||||
clicker:set_eye_offset({x=0,y=-7,z=2}, {x=0,y=0,z=0})
|
||||
clicker:setpos( p );
|
||||
clicker:set_pos( p );
|
||||
default.player_set_animation(clicker, new_animation, 30)
|
||||
clicker:set_physics_override(0, 0, 0)
|
||||
default.player_attached[pname] = true
|
||||
|
@ -30,9 +30,9 @@ minetest.register_tool("cottages:pitchfork", {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level=1,
|
||||
groupcaps={
|
||||
fleshy={times={[2]=0.80, [3]=0.40}, maxwear=0.05, maxlevel=1, uses=40},
|
||||
snappy={times={[2]=0.80, [3]=0.40}, maxwear=0.05, maxlevel=1, uses=40},
|
||||
hay ={times={[2]=0.10, [3]=0.10}, maxwear=0.05, maxlevel=1, uses=40},
|
||||
fleshy={times={[2]=0.80, [3]=0.40}, maxlevel=1, uses=1/0.002 },
|
||||
snappy={times={[2]=0.80, [3]=0.40}, maxlevel=1, uses=1/0.002 },
|
||||
hay ={times={[2]=0.10, [3]=0.10}, maxlevel=1, uses=1/0.002 },
|
||||
},
|
||||
damage_groups = {fleshy=5}, -- slightly stronger than a stone sword
|
||||
},
|
||||
@ -73,7 +73,7 @@ minetest.register_node("cottages:pitchfork_placed", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 2, dig_immediate = 3, falling_node = 1, attached_node = 1},
|
||||
groups = {snappy = 2, dig_immediate = 3, falling_node = 1, attached_node = 1, not_in_creative_inventory=1},
|
||||
sounds = cottages.sounds.wood,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
|
@ -202,7 +202,8 @@ minetest.register_node("cottages:water_gen", {
|
||||
return stack:get_count()
|
||||
end,
|
||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
if not(cottages.player_can_use(meta:get_string(pos), player)) then
|
||||
local meta = minetest.get_meta(pos)
|
||||
if not(cottages.player_can_use(meta, player)) then
|
||||
return 0
|
||||
end
|
||||
return stack:get_count()
|
||||
|
9
extranodes/locale/pl.txt
Normal file
9
extranodes/locale/pl.txt
Normal file
@ -0,0 +1,9 @@
|
||||
# Polish Translation for technic_extranodes
|
||||
# Polskie tłumaczenie technic_extranodes
|
||||
# by mat9117
|
||||
|
||||
Marble = Marmur
|
||||
Marble Bricks = Marmurowe cegły
|
||||
Granite = Granit
|
||||
Concrete = Beton
|
||||
|
@ -14,7 +14,16 @@ minetest.register_craftitem("farming:potato", {
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:potato_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
-- on_use = minetest.item_eat(1),
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
if user then
|
||||
if math.random(1, 3) == 1 then
|
||||
return minetest.do_item_eat(-1, nil, itemstack, user, pointed_thing)
|
||||
else
|
||||
return minetest.do_item_eat(1, nil, itemstack, user, pointed_thing)
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- baked potato
|
||||
|
@ -433,7 +433,7 @@ minetest.register_tool("farming:scythe_mithril", {
|
||||
|
||||
-- Run script hook
|
||||
for _, callback in pairs(core.registered_on_dignodes) do
|
||||
callback(pos, node)
|
||||
callback(pos, node, placer)
|
||||
end
|
||||
|
||||
-- play sound
|
||||
|
1832
gloopblocks/init.lua
1832
gloopblocks/init.lua
File diff suppressed because it is too large
Load Diff
@ -81,11 +81,22 @@ homedecor.register("toilet_paper", {
|
||||
|
||||
--Sink
|
||||
|
||||
local sink_cbox = {
|
||||
local sink_sbox = {
|
||||
type = "fixed",
|
||||
fixed = { -5/16, -8/16, 1/16, 5/16, 8/16, 8/16 }
|
||||
}
|
||||
|
||||
local sink_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -5/16, 5/16, 1/16, -4/16, 8/16, 8/16 },
|
||||
{ 5/16, 5/16, 1/16, 4/16, 8/16, 8/16 },
|
||||
{ -5/16, 5/16, 1/16, 5/16, 8/16, 2/16 },
|
||||
{ -5/16, 5/16, 6/16, 5/16, 8/16, 8/16 },
|
||||
{ -4/16, -8/16, 1/16, 4/16, 5/16, 6/16 }
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("sink", {
|
||||
description = S("Bathroom Sink"),
|
||||
mesh = "homedecor_bathroom_sink.obj",
|
||||
@ -95,19 +106,10 @@ homedecor.register("sink", {
|
||||
"default_water.png"
|
||||
},
|
||||
inventory_image="homedecor_bathroom_sink_inv.png",
|
||||
selection_box = sink_cbox,
|
||||
selection_box = sink_sbox,
|
||||
collision_box = sink_cbox,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -5/16, 5/16, 1/16, -4/16, 8/16, 8/16 },
|
||||
{ 5/16, 5/16, 1/16, 4/16, 8/16, 8/16 },
|
||||
{ -5/16, 5/16, 1/16, 5/16, 8/16, 2/16 },
|
||||
{ -5/16, 5/16, 6/16, 5/16, 8/16, 8/16 },
|
||||
{ -4/16, -8/16, 1/16, 4/16, 5/16, 6/16 }
|
||||
}
|
||||
},
|
||||
on_destruct = function(pos)
|
||||
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
|
||||
end
|
||||
@ -127,7 +129,8 @@ local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
|
||||
velocity_x = { min = -0.1, max = 0.1 },
|
||||
velocity_y = -0.3,
|
||||
velocity_z = { min = -0.1, max = 0 },
|
||||
spread = 0
|
||||
spread = 0,
|
||||
die_on_collision = true,
|
||||
}
|
||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
||||
end
|
||||
|
@ -71,6 +71,7 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
amount = 60,
|
||||
time = 0,
|
||||
collisiondetection = true,
|
||||
collision_removal = particledef.die_on_collision,
|
||||
minpos = {x=pos.x - minx, y=pos.y + outlety, z=pos.z - minz},
|
||||
maxpos = {x=pos.x - maxx, y=pos.y + outlety, z=pos.z - maxz},
|
||||
minvel = {x = minvelx, y = velocityy, z = minvelz},
|
||||
|
@ -412,6 +412,11 @@ for i = 31, 255 do
|
||||
reset_meta(pos)
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
local name = sender:get_player_name()
|
||||
if minetest.is_protected(pos, name) and not minetest.check_player_privs(name, {protection_bypass=true}) then
|
||||
minetest.record_protection_violation(pos, name)
|
||||
return
|
||||
end
|
||||
if (fields.channel) then
|
||||
minetest.get_meta(pos):set_string("channel", fields.channel)
|
||||
end
|
||||
|
@ -155,7 +155,7 @@ minetest.register_node("locks:door", {
|
||||
end
|
||||
|
||||
local fdir = 0
|
||||
local placer_pos = placer:getpos()
|
||||
local placer_pos = placer:get_pos()
|
||||
if placer_pos then
|
||||
dir = {
|
||||
x = above.x - placer_pos.x,
|
||||
|
@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.1.0] - 2019-03-23
|
||||
|
||||
### Changed
|
||||
|
||||
- Increased the range of the Admin Pickaxe from 12 to 20 nodes.
|
||||
@ -16,4 +18,5 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
- Initial versioned release.
|
||||
|
||||
[Unreleased]: https://github.com/minetest-mods/maptools/compare/v1.0.0...HEAD
|
||||
[Unreleased]: https://github.com/minetest-mods/maptools/compare/v1.1.0...HEAD
|
||||
[1.1.0]: https://github.com/minetest-mods/maptools/compare/v1.0.0...v1.1.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
# Item names for spawning the items using /give or /giveme
|
||||
|
||||
## Items
|
||||
|
||||
- `admin_pick`: magenta pickaxe, infinite durability, mines everything including unbreakable blocks instantly. No drops. Don't put this pickaxe in the hands of a griefer, of course.
|
||||
- `admin_pick_with_drops`: same as admin pickaxe, but drops stuff.
|
||||
- `infinite_fuel`: fuel lasting for a (near)-infinite time. Don't worry about the "near" * it lasts for about 50 in-real-life years.
|
||||
- `super_apple`: a yellow apple which heals 20 HP.
|
||||
- `copper_coin`,
|
||||
- `silver_coin`,
|
||||
- `gold_coin`: these have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops.
|
||||
|
||||
## Blocks
|
||||
|
||||
**[!]** denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit or similar).
|
||||
- `(block)_u` : unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). Examples: `stone_u`, `wood_u`, `glass_u`, …
|
||||
- `full_grass`: unbreakable block with the grass texture on all sides.
|
||||
- `player_clip`: **[!]** invisible block, not pointable.
|
||||
- `full_clip`: invisible block, pointable. Also available as a thin face: full_clip_face.
|
||||
- `smoke_block`: some smoke (does not harm players or entities).
|
||||
- `no_build`: **[!]** very basic building prevention.
|
||||
- `no_interact`: prevents interacting through the block (opening chests, furnaces, attacking entities, …).
|
||||
- `damage_(1…5)`: **[!]** damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second).
|
||||
- `kill`: **[!]** instant kill (deals 10 heart damage) blocks.
|
||||
- `light_block`: **[!]** invisible non-solid block, prevents light from passing through.
|
||||
- `light_bulb`: **[!]** invisible non-solid block, emitting a good amount of light.
|
39
maptools/NODES_ITEMS.md
Normal file
39
maptools/NODES_ITEMS.md
Normal file
@ -0,0 +1,39 @@
|
||||
# List of nodes/items
|
||||
|
||||
To use an item, make sure you have the `give` privilege, then use
|
||||
`/give <player> <item code> [amount]` or `/giveme <item code> [amount]`.
|
||||
|
||||
**Tip:** To give yourself a large amount of items quickly (65535 as of writing),
|
||||
use `-1` as the amount.
|
||||
|
||||
## Nodes
|
||||
|
||||
:warning: denotes an unpointable, unbreakable block; be very careful with them,
|
||||
as they cannot be removed by hand (they can only be removed with WorldEdit or
|
||||
similar).
|
||||
|
||||
| Item code | Description |
|
||||
| ----------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `maptools:{block}_u` | Unbreakable, non-flammable, non-falling, non-decaying blocks. Most common default blocks have an unbreakable form available (`maptools:stone_u`, `maptools:wood_u`, …) |
|
||||
| `maptools:full_grass` | Unbreakable block with the grass texture on all sides. |
|
||||
| `maptools:player_clip` | :warning: Invisible, non-pointable block that blocks players and entities. |
|
||||
| `maptools:full_clip` | Invisible, pointable block that blocks players and entities. Also available as a thin face (`maptools:full_clip_face`). |
|
||||
| `maptools:smoke_block` | Some smoke (doesn't damage players or entities). |
|
||||
| `maptools:no_build` | :warning: Very basic building prevention. |
|
||||
| `maptools:no_interact` | Prevents interacting through the block (opening chests, furnaces, attacking entities, …), but can still be walked through. |
|
||||
| `maptools:damage_{1…5}` | :warning: Damaging blocks which damage players by 1 to 5 HP per second. |
|
||||
| `maptools:kill` | :warning: Instant kill blocks (damages players by 20 HP per second). |
|
||||
| `maptools:light_block` | :warning: Invisible non-solid block, prevents light from passing through. |
|
||||
| `maptools:light_bulb` | :warning: Invisible non-solid block, emitting the maximum amount of light. |
|
||||
|
||||
## Items
|
||||
|
||||
| Item code | Description |
|
||||
| -------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `maptools:admin_pick` | A bright magenta pickaxe with infinite durability, digs everything including unbreakable blocks instantly. No drops are given when digging nodes. |
|
||||
| `maptools:admin_pick_with_drops` | Same as the admin pickaxe, but drops are given when digging nodes. |
|
||||
| `maptools:infinite_fuel` | Fuel lasting for a near-infinite time (about 50 real-life years). |
|
||||
| `maptools:super_apple` | A yellow apple which heals the player by 20 HP when used. |
|
||||
| `maptools:copper_coin` | Decorative item (can be used in mini-games). |
|
||||
| `maptools:silver_coin` | Decorative item (can be used in mini-games). |
|
||||
| `maptools:gold_coin` | Decorative item (can be used in mini-games). |
|
@ -3,7 +3,10 @@
|
||||
Map Tools for [Minetest](https://www.minetest.net/), a free and open source infinite
|
||||
world block sandbox game.
|
||||
|
||||
[**Forum topic**](https://forum.minetest.net/viewtopic.php?f=11&t=1882)
|
||||
## Resources
|
||||
|
||||
- [Forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=1882)
|
||||
- [List of nodes and items available](NODES_ITEMS.md)
|
||||
|
||||
## Installation
|
||||
|
||||
@ -60,13 +63,13 @@ on that line.
|
||||
|
||||
## Version compatibility
|
||||
|
||||
Map Tools is currently primarily tested with Minetest 0.4.16.
|
||||
Map Tools is currently primarily tested with Minetest 0.4.17.
|
||||
It may or may not work with newer or older versions. Issues arising in older
|
||||
versions than 0.4.16 will generally not be fixed.
|
||||
versions than 0.4.17 will generally not be fixed.
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2012-2017 Hugo Locurcio and contributors
|
||||
Copyright © 2012-2019 Hugo Locurcio and contributors
|
||||
|
||||
- Map Tools code is licensed under the zlib license, see
|
||||
[`LICENSE.md`](LICENSE.md) for details.
|
||||
|
@ -1 +1,2 @@
|
||||
default
|
||||
intllib?
|
||||
|
@ -217,7 +217,7 @@ function mesecon.mvps_move_objects(pos, dir, nodestack, movefactor)
|
||||
movefactor = movefactor or 1
|
||||
dir = vector.multiply(dir, movefactor)
|
||||
for id, obj in pairs(minetest.object_refs) do
|
||||
local obj_pos = obj:getpos()
|
||||
local obj_pos = obj:get_pos()
|
||||
local cbox = obj:get_properties().collisionbox
|
||||
local min_pos = vector.add(obj_pos, vector.new(cbox[1], cbox[2], cbox[3]))
|
||||
local max_pos = vector.add(obj_pos, vector.new(cbox[4], cbox[5], cbox[6]))
|
||||
|
@ -2,5 +2,5 @@
|
||||
|
||||
Molehills_Max_Count = 320 -- absolute maximum number in an area of 80x80x80 nodes
|
||||
|
||||
Molehills_Rarity = 87 -- larger values make molehills more rare (100 means chance of 0 %)
|
||||
Molehills_Rarity = 95 -- larger values make molehills more rare (100 means chance of 0 %)
|
||||
|
||||
|
@ -7,8 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [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
|
||||
@ -68,6 +72,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
- Initial versioned release.
|
||||
|
||||
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.2.0...HEAD
|
||||
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.3.0...HEAD
|
||||
[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.1.0]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...v1.1.0
|
||||
|
@ -60,9 +60,9 @@ on that line.
|
||||
|
||||
## Version compatibility
|
||||
|
||||
More Blocks is currently primarily tested with Minetest 0.4.16.
|
||||
More Blocks is currently primarily tested with Minetest 0.4.17.
|
||||
It may or may not work with newer or older versions. Issues arising in older
|
||||
versions than 0.4.16 will generally not be fixed.
|
||||
versions than 0.4.17 will generally not be fixed.
|
||||
|
||||
## License
|
||||
|
||||
|
@ -6,6 +6,7 @@ Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.S
|
||||
local F = minetest.formspec_escape
|
||||
|
||||
circular_saw = {}
|
||||
|
||||
@ -126,15 +127,20 @@ end
|
||||
function circular_saw:reset(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local owned_by = meta:get_string("owner")
|
||||
|
||||
if owned_by and owned_by ~= "" then
|
||||
owned_by = (" (%s)"):format(S("owned by @1", meta:get_string("owner")))
|
||||
else
|
||||
owned_by = ""
|
||||
end
|
||||
|
||||
inv:set_list("input", {})
|
||||
inv:set_list("micro", {})
|
||||
inv:set_list("output", {})
|
||||
meta:set_int("anz", 0)
|
||||
|
||||
meta:set_string("infotext",
|
||||
S("Circular Saw is empty (owned by %s)")
|
||||
:format(meta:get_string("owner") or ""))
|
||||
meta:set_int("anz", 0)
|
||||
meta:set_string("infotext", S("Circular Saw is empty") .. owned_by)
|
||||
end
|
||||
|
||||
|
||||
@ -164,9 +170,17 @@ function circular_saw:update_inventory(pos, amount)
|
||||
|
||||
end
|
||||
local node_name = stack:get_name() or ""
|
||||
local node_def = stack:get_definition()
|
||||
local name_parts = circular_saw.known_nodes[node_name] or ""
|
||||
local modname = name_parts[1] or ""
|
||||
local material = name_parts[2] or ""
|
||||
local owned_by = meta:get_string("owner")
|
||||
|
||||
if owned_by and owned_by ~= "" then
|
||||
owned_by = (" (%s)"):format(S("owned by @1", meta:get_string("owner")))
|
||||
else
|
||||
owned_by = ""
|
||||
end
|
||||
|
||||
inv:set_list("input", { -- Display as many full blocks as possible:
|
||||
node_name.. " " .. math.floor(amount / 8)
|
||||
@ -191,8 +205,10 @@ function circular_saw:update_inventory(pos, amount)
|
||||
meta:set_int("anz", amount)
|
||||
|
||||
meta:set_string("infotext",
|
||||
S("Circular Saw is working on %s (owned by %s)")
|
||||
:format(material, meta:get_string("owner") or ""))
|
||||
S("Circular Saw is working on @1",
|
||||
node_def and node_def.description or material
|
||||
) .. owned_by
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
@ -351,14 +367,14 @@ function circular_saw.on_construct(pos)
|
||||
local fancy_inv = default.gui_bg..default.gui_bg_img..default.gui_slots
|
||||
meta:set_string(
|
||||
"formspec", "size[11,10]"..fancy_inv..
|
||||
"label[0,0;" ..S("Input\nmaterial").. "]" ..
|
||||
"label[0,0;" ..F(S("Input\nmaterial")).. "]" ..
|
||||
"list[current_name;input;1.5,0;1,1;]" ..
|
||||
"label[0,1;" ..S("Left-over").. "]" ..
|
||||
"label[0,1;" ..F(S("Left-over")).. "]" ..
|
||||
"list[current_name;micro;1.5,1;1,1;]" ..
|
||||
"label[0,2;" ..S("Recycle\noutput").. "]" ..
|
||||
"label[0,2;" ..F(S("Recycle\noutput")).. "]" ..
|
||||
"list[current_name;recycle;1.5,2;1,1;]" ..
|
||||
"field[0.3,3.5;1,1;max_offered;" ..S("Max").. ":;${max_offered}]" ..
|
||||
"button[1,3.2;1,1;Set;" ..S("Set").. "]" ..
|
||||
"field[0.3,3.5;1,1;max_offered;" ..F(S("Max")).. ":;${max_offered}]" ..
|
||||
"button[1,3.2;1,1;Set;" ..F(S("Set")).. "]" ..
|
||||
"list[current_name;output;2.8,0;8,6;]" ..
|
||||
"list[current_player;main;1.5,6.25;8,4;]" ..
|
||||
"listring[current_name;output]" ..
|
||||
@ -427,10 +443,14 @@ minetest.register_node("moreblocks:circular_saw", {
|
||||
after_place_node = function(pos, placer)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = placer and placer:get_player_name() or ""
|
||||
local owned_by = owner
|
||||
|
||||
if owner ~= "" then
|
||||
owned_by = (" (%s)"):format(S("owned by @1", owner))
|
||||
end
|
||||
|
||||
meta:set_string("owner", owner)
|
||||
meta:set_string("infotext",
|
||||
S("Circular Saw is empty (owned by %s)")
|
||||
:format(owner))
|
||||
meta:set_string("infotext", S("Circular Saw is empty") .. owned_by)
|
||||
end,
|
||||
|
||||
-- The amount of items offered per shape can be configured:
|
||||
|
@ -26,4 +26,4 @@ local function setting(settingtype, name, default)
|
||||
end
|
||||
|
||||
-- Show stairs/slabs/panels/microblocks in creative inventory (true or false):
|
||||
setting("bool", "stairsplus_in_creative_inventory", false)
|
||||
setting("bool", "stairsplus_in_creative_inventory", true)
|
||||
|
286
moreblocks/locale/de.po
Normal file
286
moreblocks/locale/de.po
Normal file
@ -0,0 +1,286 @@
|
||||
# German translation for More Blocks.
|
||||
# Copyright © 2011-2019 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 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"
|
@ -1,66 +0,0 @@
|
||||
# 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.
|
282
moreblocks/locale/es.po
Normal file
282
moreblocks/locale/es.po
Normal file
@ -0,0 +1,282 @@
|
||||
# Spanish translation for More Blocks.
|
||||
# Copyright © 2011-2019 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 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"
|
@ -1,65 +0,0 @@
|
||||
###init.lua###
|
||||
[moreblocks] loaded. = [moreblocks] cargado.
|
||||
|
||||
###nodes.lua###
|
||||
Jungle Wood Fence = Valla de madera tropical
|
||||
Empty Bookshelf = Librería vacía
|
||||
Clean Glass = Cristal límpido
|
||||
Plankstone = Piedra en planchas
|
||||
Wooden Tile = Caldosa de madera
|
||||
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 = Ladrillo de piedra circulares
|
||||
Stone Tile = Baldosa de piedra
|
||||
Split Stone Tile = Baldosa de piedra partida
|
||||
Glow Glass = Cristal brillante
|
||||
Super Glow Glass = Cristal súper brillante
|
||||
Coal Glass = Cristal armado de carbón
|
||||
Iron Glass = Cristal armado de hierro
|
||||
Coal Checker = Mosaico de carbón
|
||||
Iron Checker = Mosaico de hierro
|
||||
Trap Stone = Trampa de piedra
|
||||
Trap Glass = Trampa de cristal
|
||||
Trap Glow Glass = Trampa de cristal brillante
|
||||
Trap Super Glow Glass = Trampa de cristal súper brillante
|
||||
Coal Stone = Piedra con carbón
|
||||
Iron Stone = Piedra con hierro
|
||||
Coal Stone Bricks = Ladrillos de piedra con carbón
|
||||
Iron Stone Bricks = Ladrillos de piedra con hierro
|
||||
Cactus Checker = Mosaico de cactus
|
||||
Cactus Brick = Ladrillo de cactus
|
||||
Sweeper = Limpiador
|
||||
Jungle Stick = Palo de madera tropical
|
||||
Rope = Cuerda
|
||||
All-faces Tree = madera
|
||||
|
||||
###circular_saw.lua###
|
||||
Circular Saw = Sierra circular
|
||||
Circular saw, empty (owned by %s) = Sierra circular, vacía (propiedad de %s)
|
||||
Circular saw, working with %s (owned by %s) = Sierra circular, trabajando con %s (propiedad de %s)
|
||||
Circular saw, empty = Sierra circular, vacía
|
||||
Circular saw is empty (owned by %s) = La sierra circular está vacía (propiedad de %s)
|
||||
|
||||
Input\nmaterial = Entrada de\nmaterial:
|
||||
Left-over = Remanente:
|
||||
Max = Máx.
|
||||
Set = Guardar
|
||||
Recycle\noutput = Salida de\nreciclaje:
|
||||
|
||||
###ownership.lua###
|
||||
someone = alguien
|
||||
Sorry, %s owns that spot. = Lo siento, esto pertenece a %s.
|
||||
|
||||
###./stairsplus/*###
|
||||
%s Stairs = Escaleras de %s
|
||||
%s Slab = Losa de %s
|
||||
%s Panel = Panel de %s
|
||||
%s Microblock = Microbloque de %s
|
||||
%s Slope = Biselado de %s
|
||||
|
||||
%s Pane = Panel de %s
|
||||
%s Fence = Valla de %s
|
287
moreblocks/locale/fr.po
Normal file
287
moreblocks/locale/fr.po
Normal file
@ -0,0 +1,287 @@
|
||||
# French translation for More Blocks.
|
||||
# Copyright © 2011-2019 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 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"
|
@ -1,72 +0,0 @@
|
||||
# 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
|
286
moreblocks/locale/it.po
Normal file
286
moreblocks/locale/it.po
Normal file
@ -0,0 +1,286 @@
|
||||
# Italian translation for More Blocks.
|
||||
# Copyright © 2011-2019 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 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"
|
@ -1,70 +0,0 @@
|
||||
#
|
||||
# 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
|
290
moreblocks/locale/ru.po
Normal file
290
moreblocks/locale/ru.po
Normal file
@ -0,0 +1,290 @@
|
||||
# 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 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 (лестница)"
|
284
moreblocks/locale/template.pot
Normal file
284
moreblocks/locale/template.pot
Normal file
@ -0,0 +1,284 @@
|
||||
# Template translation for More Blocks.
|
||||
# Copyright © 2011-2019 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 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 ""
|
@ -1,64 +0,0 @@
|
||||
###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 =
|
@ -36,6 +36,7 @@ local function wood_tile_replace(itemstack, placer, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local deprecated = (" (%s)"):format(S('Deprecated'))
|
||||
local nodes = {
|
||||
["wood_tile"] = {
|
||||
description = S("Wooden Tile"),
|
||||
@ -52,7 +53,7 @@ local nodes = {
|
||||
sounds = sound_wood,
|
||||
},
|
||||
["wood_tile_flipped"] = {
|
||||
description = S("Wooden Tile (Deprecated)"),
|
||||
description = S("Wooden Tile") .. deprecated,
|
||||
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",
|
||||
@ -87,19 +88,19 @@ local nodes = {
|
||||
no_stairs = true,
|
||||
},
|
||||
["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"},
|
||||
no_stairs = true,
|
||||
on_place = wood_tile_replace
|
||||
},
|
||||
["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"},
|
||||
no_stairs = true,
|
||||
on_place = wood_tile_replace
|
||||
},
|
||||
["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"},
|
||||
no_stairs = true,
|
||||
on_place = wood_tile_replace
|
||||
|
@ -33,7 +33,7 @@ function moreblocks.node_is_owned(pos, placer)
|
||||
end
|
||||
|
||||
if ownername ~= false then
|
||||
minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) )
|
||||
minetest.chat_send_player( placer:get_player_name(), S("Sorry, @1 owns that spot.", ownername) )
|
||||
return true
|
||||
else
|
||||
return false
|
||||
|
@ -7,27 +7,28 @@ Licensed under the zlib license. See LICENSE.md for more information.
|
||||
|
||||
local S = moreblocks.S
|
||||
|
||||
local descriptions = {
|
||||
["micro"] = S("%s Microblock"),
|
||||
["slab"] = S("%s Slab"),
|
||||
["slope"] = S("%s Slope"),
|
||||
["panel"] = S("%s Panel"),
|
||||
["stair"] = S("%s Stairs"),
|
||||
}
|
||||
|
||||
stairsplus.register_single = function(category, alternate, info, modname, subname, recipeitem, fields)
|
||||
local descriptions = {
|
||||
["micro"] = S("Microblock"),
|
||||
["slab"] = S("Slab"),
|
||||
["slope"] = S("Slope"),
|
||||
["panel"] = S("Panel"),
|
||||
["stair"] = S("Stairs"),
|
||||
}
|
||||
local desc_base = descriptions[category]:format(fields.description)
|
||||
local def = {}
|
||||
|
||||
if category ~= "slab" then
|
||||
def = table.copy(info)
|
||||
end
|
||||
|
||||
-- copy fields to def
|
||||
for k, v in pairs(fields) do
|
||||
def[k] = v
|
||||
end
|
||||
|
||||
def.drawtype = "nodebox"
|
||||
if category == "slope" then
|
||||
def.drawtype = "mesh"
|
||||
end
|
||||
def.paramtype = "light"
|
||||
def.paramtype2 = def.paramtype2 or "facedir"
|
||||
|
||||
@ -35,10 +36,9 @@ stairsplus.register_single = function(category, alternate, info, modname, subnam
|
||||
def.place_param2 = nil
|
||||
|
||||
def.on_place = minetest.rotate_node
|
||||
if category ~= "slab" then
|
||||
def.description = S("%s " .. descriptions[category]):format(fields.description)
|
||||
else
|
||||
local desc_base = S("%s " .. descriptions[category]):format(fields.description)
|
||||
def.groups = stairsplus:prepare_groups(fields.groups)
|
||||
|
||||
if category == "slab" then
|
||||
if type(info) ~= "table" then
|
||||
def.node_box = {
|
||||
type = "fixed",
|
||||
@ -52,14 +52,19 @@ 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)
|
||||
end
|
||||
else
|
||||
def.description = desc_base
|
||||
if category == "slope" then
|
||||
def.drawtype = "mesh"
|
||||
elseif category == "stair" and alternate == "" then
|
||||
def.groups.stair = 1
|
||||
end
|
||||
end
|
||||
def.groups = stairsplus:prepare_groups(fields.groups)
|
||||
if category == "stair" and alternate == "" then
|
||||
def.groups.stair = 1
|
||||
end
|
||||
|
||||
if fields.drop and not (type(fields.drop) == "table") then
|
||||
def.drop = modname.. ":" .. category .. "_" .. fields.drop .. alternate
|
||||
end
|
||||
|
||||
minetest.register_node(":" ..modname.. ":" .. category .. "_" .. subname .. alternate, def)
|
||||
stairsplus.register_recipes(category, alternate, modname, subname, recipeitem)
|
||||
end
|
||||
|
@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.1.0] - 2019-03-23
|
||||
|
||||
### Added
|
||||
|
||||
- Brazilian and Dutch translations.
|
||||
@ -34,4 +36,5 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
- Initial versioned release.
|
||||
|
||||
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...HEAD
|
||||
[Unreleased]: https://github.com/minetest-mods/moreores/compare/v1.1.0...HEAD
|
||||
[1.1.0]: https://github.com/minetest-mods/moreores/compare/v1.0.0...v1.1.0
|
||||
|
@ -60,13 +60,13 @@ on that line.
|
||||
|
||||
## Version compatibility
|
||||
|
||||
More Ores is currently primarily tested with Minetest 0.4.16.
|
||||
More Ores is currently primarily tested with Minetest 0.4.17.
|
||||
It may or may not work with newer or older versions. Issues arising in older
|
||||
versions than 0.4.16 will generally not be fixed.
|
||||
versions than 0.4.17 will generally not be fixed.
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2011-2017 Hugo Locurcio and contributors
|
||||
Copyright © 2011-2019 Hugo Locurcio and contributors
|
||||
|
||||
- More Ores code is licensed under the zlib license, see
|
||||
[`LICENSE.md`](LICENSE.md) for details.
|
||||
|
@ -1,3 +1,4 @@
|
||||
default
|
||||
mg?
|
||||
farming?
|
||||
intllib?
|
||||
mg?
|
||||
|
@ -92,6 +92,7 @@ for _,tube in ipairs(nixie_types) do
|
||||
local light2 = LIGHT_MAX-5
|
||||
local description = S("Nixie Tube ("..tube..")")
|
||||
local description2 = S("Decatron ("..tube..")")
|
||||
local description3 = S("Numitron Tube")
|
||||
local cathode = "nixie_tube_cathode_off.png^nixie_tube_cathode_"..tube..".png"
|
||||
local cathode2 = "decatron_cathode_"..tube..".png"
|
||||
local cathode3 = "numitron_filaments.png^numitron_"..tube..".png"
|
||||
@ -102,7 +103,6 @@ for _,tube in ipairs(nixie_types) do
|
||||
light2 = nil
|
||||
description = S("Nixie Tube")
|
||||
description2 = S("Decatron")
|
||||
description3 = S("Numitron Tube")
|
||||
cathode = "nixie_tube_cathode_off.png"
|
||||
cathode2 = "nixie_tube_blank.png"
|
||||
cathode3 = "numitron_filaments.png"
|
||||
|
@ -200,7 +200,7 @@ replacer.replace = function( itemstack, user, pointed_thing, mode )
|
||||
|
||||
|
||||
-- in survival mode, the player has to provide the node he wants to place
|
||||
if( not(minetest.setting_getbool("creative_mode") )
|
||||
if( not(minetest.settings:get_bool("creative_mode") )
|
||||
and not( minetest.check_player_privs( name, {creative=true}))) then
|
||||
|
||||
-- players usually don't carry dirt_with_grass around; it's safe to assume normal dirt here
|
||||
|
176
technic/locale/pl.txt
Normal file
176
technic/locale/pl.txt
Normal file
@ -0,0 +1,176 @@
|
||||
# Polish Translation for Technic mod
|
||||
# Polskie tłumaczenie Technic mod
|
||||
# by mat9117
|
||||
|
||||
## Misc
|
||||
[Technic] Loaded in %f seconds = [Technic] Wczytany w %f sekund
|
||||
|
||||
## Items
|
||||
Silicon Wafer = Płytka krzemowa
|
||||
Doped Silicon Wafer = Domieszkowana płytka krzemowa
|
||||
Enriched Uranium = Wzbogacony uran
|
||||
Uranium Fuel = Paliwo uranowe
|
||||
Diamond Drill Head = Diamentowa głowica wiertła
|
||||
Blue Energy Crystal = Niebieski kryształ energii
|
||||
Green Energy Crystal = Zielony kryształ energii
|
||||
Red Energy Crystal = Czerwony kryształ energii
|
||||
Fine Copper Wire = Cienki miedziany drut
|
||||
Copper Coil = Miedziana cewka
|
||||
Electric Motor = Silnik elektryczny
|
||||
Low Voltage Transformer = Transformator niskiego napięcia
|
||||
Medium Voltage Transformer = Transformator średniego napięcia
|
||||
High Voltage Transformer = Transformator wysokiego napięcia
|
||||
Control Logic Unit = Jednostka sterująca
|
||||
Mixed Metal Ingot = Sztabka zmieszanych metali
|
||||
Composite Plate = Płytka kompozytowa
|
||||
Copper Plate = Płytka miedziana
|
||||
Carbon Plate = Płytka węglowa
|
||||
Graphite = Grafit
|
||||
Carbon Cloth = Włókno węglowe
|
||||
Raw Latex = Lateks naturalny
|
||||
Rubber Fiber = Włókno gumowe
|
||||
%.1f%%-Fissile Uranium Ingot = %.1f%% Sztabka uranu
|
||||
%.1f%%-Fissile Uranium Block = %.1f%% Blok uranu
|
||||
|
||||
## Machine misc
|
||||
Machine cannot be removed because it is not empty = Nie można usunąć maszyny, ponieważ nie jest pusta
|
||||
Inventory move disallowed due to protection = Przenoszenie rzeczy z ekwipunku niemożliwe z powodu ochrony
|
||||
# $1: Machine name (Includes tier)
|
||||
@1 Active (@2 EU) = @1 Aktywny (@2 EU)
|
||||
%s Active = %s Aktywny
|
||||
%s Disabled = %s Wyłączony
|
||||
%s Enabled = %s Włączony
|
||||
%s Idle = %s Bezczynny
|
||||
%s Improperly Placed = %s Ustawiony nieprawidłowo
|
||||
%s is empty = %s jest pusty
|
||||
%s Unpowered = %s brak zasilania
|
||||
%s Out Of Fuel = %s brak paliwa
|
||||
%s Has Bad Cabling = %s Źle podłączono kable
|
||||
%s (Slave) =
|
||||
%s Has No Network = %s Nie podłączony do sieci
|
||||
%s Finished = %s Ukończony
|
||||
Enable/Disable = Włącz/Wyłącz
|
||||
Range = Zasięg
|
||||
Upgrade Slots = Miejsca na ulepszenia
|
||||
In: = Wejście
|
||||
Out: = Wyjście
|
||||
Slot %d = Otwór %d
|
||||
Itemwise = Jeden przedmiot
|
||||
Stackwise = Cały stack
|
||||
Ignoring Mesecon Signal = Ignoruj sygnał Mesecon
|
||||
Controlled by Mesecon Signal = Sterowany sygnałem Mesecon
|
||||
Owner: = Właściciel:
|
||||
Unlocked = Odblokowany
|
||||
Locked = Zablokowany
|
||||
Radius: = Promień:
|
||||
Enabled = Włączony
|
||||
Disabled = Wyłączony
|
||||
|
||||
## Machine names
|
||||
# $1: Tier
|
||||
%s Alloy Furnace = %s Piec stopowy
|
||||
%s Battery Box = %s Skrzynka baterii
|
||||
%s Cable = %s Kabel
|
||||
%s Centrifuge = %s Centryfuga
|
||||
%s Compressor = %s Kompresor
|
||||
%s Extractor = %s Ekstraktor
|
||||
%s Forcefield Emitter = %s Emiter pola siłowego
|
||||
%s Furnace = %s Piec
|
||||
%s Grinder = %s Młynek
|
||||
%s Music Player = %s Odtwarzacz muzyki
|
||||
%s Quarry = %s Kamieniołom
|
||||
%s Tool Workshop = %s Warsztat narzędzi
|
||||
Arrayed Solar %s Generator = %s Szeregowy generator słoneczny
|
||||
Fuel-Fired %s Generator = %s Generator zasilany paliwem
|
||||
Geothermal %s Generator = %s Generator geotermalny
|
||||
Hydro %s Generator = %s Hydrogenerator
|
||||
Nuclear %s Generator Core = %s Reaktor atomowy
|
||||
Small Solar %s Generator = %s Mały generator słoneczny
|
||||
Wind %s Generator = %s Generator wiatrowy
|
||||
Self-Contained Injector = Samowystarczalny wtryskiwacz
|
||||
Constructor Mk%d = Konstruktor Mk%d
|
||||
Frame = Klatka
|
||||
Frame Motor = Silnik klatkowy
|
||||
Template = Szablon
|
||||
Template (replacing) = Szablon (zastępczy)
|
||||
Template Motor =Szablon silnika
|
||||
Template Tool = Szablon narzędzia
|
||||
Battery Box = Skrzynka baterii
|
||||
Supply Converter = Konwerter zasilania
|
||||
Switching Station = Rozdzielnia
|
||||
Fuel-Fired Alloy Furnace = Piec stopowy zasilany paliwem
|
||||
Fuel-Fired Furnace = Piec zasilany paliwem
|
||||
Wind Mill Frame = Klatka wiatraka
|
||||
Forcefield = Pole siłowe
|
||||
Nuclear Reactor Rod Compartment = Komora rdzenia reaktora atomowego
|
||||
Administrative World Anchor = Administracyjna kotwica świata
|
||||
|
||||
## Machine-specific
|
||||
# $1: Pruduced EU
|
||||
Charge = Ładuj
|
||||
Discharge = Rozładuj
|
||||
Power level = Poziom zasilania
|
||||
# $1: Tier $2: current_charge $3: max_charge
|
||||
@1 Battery Box: @2/@3 = @1 Skrzynka baterii: @2/@3
|
||||
# $1: Machine name $2: Supply $3: Demand
|
||||
@1. Supply: @2 Demand: @3 = @1. Zapas: @2 Pobór: @3
|
||||
Production at %d%% = Produkowanie w %d%%
|
||||
Choose Milling Program: = Wybierz program mielenia:
|
||||
Slim Elements half / normal height: = Małe elementy połowa / normalna wysokość:
|
||||
Current track %s =
|
||||
Stopped = Zatrzymany
|
||||
Keeping %d/%d map blocks loaded = Ciągle ładuję %d/%d bloki mapy
|
||||
Digging not started = Nie rozpoczęto kopania
|
||||
Digging finished = Kopanie skończone
|
||||
Digging %d m above machine = Kopię %d m nad maszyną
|
||||
Digging %d m below machine = Kopię %d m pod maszyną
|
||||
@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5)
|
||||
|
||||
|
||||
## Grinder Recipes
|
||||
# $1: Name
|
||||
%s Dust = %s Pył
|
||||
Akalin = Akalin
|
||||
Alatro = Alatro
|
||||
Arol = Arol
|
||||
Brass = Mosiądz
|
||||
Bronze = Brąz
|
||||
Carbon Steel = Stal węglowa
|
||||
Cast Iron = Żeliwo
|
||||
Chromium = Chrom
|
||||
Coal = Węgiel
|
||||
Copper = Miedź
|
||||
Gold = Złoto
|
||||
Mithril = Mithril
|
||||
Silver = Srebro
|
||||
Stainless Steel = Stal nierdzewna
|
||||
Talinite = Talinit
|
||||
Tin = Cyna
|
||||
Wrought Iron = Kute żelazo
|
||||
Zinc = Cynk
|
||||
%.1f%%-Fissile Uranium = %.1f%% Uran
|
||||
|
||||
## Tools
|
||||
RE Battery = Bateria ładowalna
|
||||
Water Can = Kanister wody
|
||||
Lava Can = Kanister lawy
|
||||
Chainsaw = Piła łańcuchowa
|
||||
Flashlight = Latarka
|
||||
3 nodes deep. = Głęboki na 3 bloki.
|
||||
3 nodes tall. = Wysoki na 3 bloki.
|
||||
3 nodes wide. = Szeroki na 3 bloki.
|
||||
3x3 nodes. = 3x3 bloki.
|
||||
Use while sneaking to change Mining Drill Mk%d modes. = Użyj podczas skradania, aby zmienić tryby wiertła górniczego Mk%d
|
||||
Mining Drill Mk%d Mode %d = Tryb wiertła górniczego Mk%d
|
||||
Mining Drill Mk%d = Wiertła górniczego Mk%d
|
||||
Mining Laser Mk%d = Laser górniczegy Mk%d
|
||||
Single node. = Pojedynczy blok.
|
||||
Sonic Screwdriver = Dźwiękowy śrubokręt
|
||||
Tree Tap = Nacinak drzewny
|
||||
|
||||
## Craft descriptions
|
||||
Alloy cooking = Stapianie
|
||||
Grinding = Mielenie
|
||||
Compressing = Kompresowanie
|
||||
Extracting = Ekstrakcja
|
||||
Separating = Oddzielanie
|
41
technic_chests/locale/pl.txt
Normal file
41
technic_chests/locale/pl.txt
Normal file
@ -0,0 +1,41 @@
|
||||
# Polish Translation for technic_chests
|
||||
# Polskie tłumaczenie technic_chests
|
||||
# by mat9117
|
||||
|
||||
%s Chest = %s Skrzynia
|
||||
%s Locked Chest = %s Zamknięta skrzynia
|
||||
%s Locked Chest (owned by %s) = %s Zamknięta skrzynia (należy do %s)
|
||||
Color Filter: %s = Filtr kolorów: %s
|
||||
Edit chest description: = Edytuj opis skrzyni
|
||||
|
||||
# Colors
|
||||
Black = Czarny
|
||||
Blue = Niebieski
|
||||
Brown = Brązowy
|
||||
Cyan = Cyan
|
||||
Dark Green = Ciemnozielony
|
||||
Dark Grey = Ciemnoszary
|
||||
Green = Zielony
|
||||
Grey = Szary
|
||||
Magenta = Magenta
|
||||
Orange = Pomarańczowy
|
||||
Pink = Różowy
|
||||
Red = Czerwony
|
||||
Violet = Fioletowy
|
||||
White = Biały
|
||||
Yellow = Żółty
|
||||
None = Żaden
|
||||
|
||||
# Materials
|
||||
Copper = Miedziana
|
||||
Gold = Złota
|
||||
Iron = Żelazna
|
||||
Mithril = Mithrilowa
|
||||
Silver = Srebrna
|
||||
Wooden = Drewniana
|
||||
|
||||
# Sorting
|
||||
Sort = Sortuj
|
||||
Auto-sort is %s = Autosortowanie jest %s
|
||||
Off = Wyłaczone
|
||||
On = Włączone
|
36
technic_cnc/locale/pl.txt
Normal file
36
technic_cnc/locale/pl.txt
Normal file
@ -0,0 +1,36 @@
|
||||
## CNC
|
||||
CNC Machine = Obrabiarka CNC
|
||||
%s CNC Machine = %s Obrabiarka CNC
|
||||
Cylinder = Walec
|
||||
Element Cross = Część krzyżowa
|
||||
Element Cross Double = Podwójna część krzyżowa
|
||||
Element Edge = Krawędź części
|
||||
Element Edge Double = Podwójna krawędź części
|
||||
Element End = Końcowa część
|
||||
Element End Double = Podwójna końcowa część
|
||||
Element Straight = Prosta część
|
||||
Element Straight Double = Podwójna prosta część
|
||||
Element T = Część T
|
||||
Element T Double = Podwójna część T
|
||||
Horizontal Cylinder = Poziomy walec
|
||||
One Curved Edge Block = Blok z zagiętą krawędzią
|
||||
Pyramid = Ostrosłup
|
||||
Slope = Spad
|
||||
Slope Edge = Krawędź spadu
|
||||
Slope Inner Edge = Wewnętrzna krawędź spadu
|
||||
Slope Lying = Leżący spad
|
||||
Slope Upside Down = Odwrócony spad
|
||||
Slope Upside Down Edge = Krawędź odwróconego spadu
|
||||
Slope Upside Down Inner Edge = Wewnętrzna krawędz odwróconego spadu
|
||||
Sphere = Kula
|
||||
Spike = Kolec
|
||||
Stick = Patyk
|
||||
Two Curved Edge Block = Blok z dwoma zagiętymi krawędziami
|
||||
Brick = Cegła
|
||||
Cobble = Bruk
|
||||
Dirt = Ziemia
|
||||
Leaves = Liście
|
||||
Sandstone = Piaskowiec
|
||||
Stone = Kamień
|
||||
Tree = Drzewo
|
||||
Wooden = Drewniany
|
38
technic_worldgen/locale/pl.txt
Normal file
38
technic_worldgen/locale/pl.txt
Normal file
@ -0,0 +1,38 @@
|
||||
# Polish Translation for technic_worldgen
|
||||
# Polskie tłumaczenie technic_worldgen
|
||||
# by mat9117
|
||||
|
||||
###crafts.lua
|
||||
Uranium Lump = Bryłka uranu
|
||||
Uranium Ingot = Sztabka uranu
|
||||
Chromium Lump = Bryłka chromu
|
||||
Chromium Ingot = Sztabka chromu
|
||||
Zinc Lump = Bryłka cynku
|
||||
Zinc Ingot = Sztabka cynku
|
||||
Brass Ingot = Sztabka mosiądzu
|
||||
Wrought Iron Ingot = Sztabka kutego żelaza
|
||||
Cast Iron Ingot = Sztabka żelaziwa
|
||||
Carbon Steel Ingot = Sztabka stali węglowej
|
||||
Stainless Steel Ingot = Sztabka nierdzewnej stali
|
||||
Iron = Żelazo
|
||||
|
||||
###nodes.lua
|
||||
Uranium Ore = Ruda uranu
|
||||
Chromium Ore = Ruda chromu
|
||||
Zinc Ore = Ruda cynku
|
||||
Granite = Granit
|
||||
Marble = Marmur
|
||||
Marble Bricks = Marmurowe cegły
|
||||
Uranium Block = Blok uranu
|
||||
Chromium Block = Blok chromu
|
||||
Zinc Block = Blok cynku
|
||||
Wrought Iron Block = Blok kutego żelaza
|
||||
Cast Iron Block = Blok żelaziwa
|
||||
Carbon Steel Block = Blok stali węglowej
|
||||
Stainless Steel Block = Blok stali nierdzewnej
|
||||
Brass Block = Blok mosiądzu
|
||||
Wrought Iron = Kute żelazo
|
||||
|
||||
###rubber.lua
|
||||
Rubber Tree Sapling = Sadzonka kauczukowca
|
||||
Rubber Tree = Kauczukowiec
|
@ -841,7 +841,7 @@ travelnet.on_receive_fields = function(pos, formname, fields, player)
|
||||
|
||||
-- transport the player to the target location
|
||||
local target_pos = travelnet.targets[ owner_name ][ station_network ][ fields.target ].pos;
|
||||
player:moveto( target_pos, false);
|
||||
player:move_to( target_pos, false);
|
||||
|
||||
if( travelnet.travelnet_effect_enabled ) then
|
||||
minetest.add_entity( {x=target_pos.x,y=target_pos.y+0.5,z=target_pos.z}, "travelnet:effect"); -- it self-destructs after 20 turns
|
||||
@ -859,7 +859,7 @@ travelnet.on_receive_fields = function(pos, formname, fields, player)
|
||||
|
||||
travelnet.remove_box( target_pos, nil, oldmetadata, player );
|
||||
-- send the player back as there's no receiving travelnet
|
||||
player:moveto( pos, false );
|
||||
player:move_to( pos, false );
|
||||
|
||||
else
|
||||
travelnet.rotate_player( target_pos, player, 0 )
|
||||
@ -1015,7 +1015,7 @@ if( travelnet.travelnet_effect_enabled ) then
|
||||
|
||||
on_step = function( self, dtime )
|
||||
-- this is supposed to be more flickering than smooth animation
|
||||
self.object:setyaw( self.object:getyaw()+1);
|
||||
self.object:set_yaw( self.object:get_yaw()+1);
|
||||
self.anz_rotations = self.anz_rotations + 1;
|
||||
-- eventually self-destruct
|
||||
if( self.anz_rotations > 15 ) then
|
||||
|
401
travelnet/locale/es.po
Normal file
401
travelnet/locale/es.po
Normal file
@ -0,0 +1,401 @@
|
||||
# Spanish translation for the travelnet mod.
|
||||
# Copyright (C) 2018 Sokomine
|
||||
# This file is distributed under the same license as the travelnet package.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: travelnet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-05 14:34+0200\n"
|
||||
"PO-Revision-Date: 2018-04-05 14:34+0200\n"
|
||||
"Last-Translator: Diego Martínez <lkaezadl3@yahoo.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: doors.lua
|
||||
msgid "elevator door (open)"
|
||||
msgstr "puerta de elevador (abierta)"
|
||||
|
||||
#: doors.lua
|
||||
msgid "elevator door (closed)"
|
||||
msgstr "puerta de elevador (cerrada)"
|
||||
|
||||
#: elevator.lua
|
||||
msgid ""
|
||||
"Congratulations! This is your first elevator.You can build an elevator "
|
||||
"network by placing further elevators somewhere above or below this one. Just "
|
||||
"make sure that the x and z coordinate are the same."
|
||||
msgstr ""
|
||||
"¡Felicidades! Éste es tu primer elevador. Puedes construir una red de "
|
||||
"elevadores colocando más elevadores en algún lugar arriba o abajo de éste. "
|
||||
"asegúrate de que las coordenadas X y Z sean las mismas."
|
||||
|
||||
#: elevator.lua
|
||||
msgid ""
|
||||
"This elevator will automaticly connect to the other elevators you have "
|
||||
"placed at diffrent heights. Just enter a station name and click on \"store\" "
|
||||
"to set it up. Or just punch it to set the height as station name."
|
||||
msgstr ""
|
||||
"Éste elevador se conectará automáticamente a otros elevadores que hayas "
|
||||
"colocado a diferentes alturas. Simplemente ingresa un nombre para la "
|
||||
"estación y haz clic en \"Guardar\" para configurarlo, o golpéalo para usar "
|
||||
"la altura como nombre."
|
||||
|
||||
#: elevator.lua
|
||||
msgid "Your nearest elevator network is located"
|
||||
msgstr "La red de elevadores más cercana se ubica"
|
||||
|
||||
#: elevator.lua
|
||||
msgid "m behind this elevator and"
|
||||
msgstr "m detrás de éste elevador y"
|
||||
|
||||
#: elevator.lua
|
||||
msgid "m in front of this elevator and"
|
||||
msgstr "m delante de éste elevador y"
|
||||
|
||||
#: elevator.lua
|
||||
msgid " ERROR"
|
||||
msgstr " ERROR"
|
||||
|
||||
#: elevator.lua
|
||||
msgid "m to the left"
|
||||
msgstr "m a la izquierda"
|
||||
|
||||
#: elevator.lua
|
||||
msgid "m to the right"
|
||||
msgstr "m a la derecha"
|
||||
|
||||
#: elevator.lua
|
||||
msgid ", located at x"
|
||||
msgstr ", ubicado en x"
|
||||
|
||||
#: elevator.lua
|
||||
msgid "This elevator here will start a new shaft/network."
|
||||
msgstr "Éste elevador comenzará una nueva red."
|
||||
|
||||
#: elevator.lua
|
||||
msgid ""
|
||||
"This is your first elevator. It differs from travelnet networks by only "
|
||||
"allowing movement in vertical direction (up or down). All further elevators "
|
||||
"which you will place at the same x,z coordinates at differnt heights will be "
|
||||
"able to connect to this elevator."
|
||||
msgstr ""
|
||||
"Éste es tu primer elevador. Se diferencia de las cabinas de viaje en que "
|
||||
"solamente permite movimiento vertical (arriba o abajo). Los elevadores que "
|
||||
"coloque en las mismas coordenadas X,Z se conectarán a éste elevador."
|
||||
|
||||
#: elevator.lua
|
||||
msgid "Elevator"
|
||||
msgstr "Elevador"
|
||||
|
||||
#: elevator.lua
|
||||
msgid "Elevator (unconfigured)"
|
||||
msgstr "Elevador (sin configurar)"
|
||||
|
||||
#: elevator.lua init.lua
|
||||
msgid "Name of this station:"
|
||||
msgstr "Nombre de ésta estación:"
|
||||
|
||||
#: elevator.lua
|
||||
msgid "Store"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: elevator.lua travelnet.lua
|
||||
msgid "Not enough vertical space to place the travelnet box!"
|
||||
msgstr ""
|
||||
"¡No hay espacio vertical suficiente para colocar la cabina de viaje!"
|
||||
|
||||
#: init.lua
|
||||
msgid "allows to attach travelnet boxes to travelnets of other players"
|
||||
msgstr "permite adjuntar cajas de viaje a redes de otros jugadores"
|
||||
|
||||
#: init.lua
|
||||
msgid "allows to dig travelnet boxes which belog to nets of other players"
|
||||
msgstr ""
|
||||
"permite cavar cabinas de viaje pertenecientes a redes de otros jugadores"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "[Mod travelnet] Error: Savefile '%s' could not be written."
|
||||
msgstr "[Mod travelnet] Error: No se pudo escribir '%s'."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "[Mod travelnet] Error: Savefile '%s' not found."
|
||||
msgstr "[Mod travelnet] Error: No se pudo encontrar '%s'."
|
||||
|
||||
#: init.lua
|
||||
msgid "Back"
|
||||
msgstr "Atras"
|
||||
|
||||
#: init.lua
|
||||
msgid "Exit"
|
||||
msgstr "Salir"
|
||||
|
||||
#: init.lua
|
||||
msgid "Travelnet-box (unconfigured)"
|
||||
msgstr "Cabina de viaje (sin configurar)"
|
||||
|
||||
#: init.lua
|
||||
msgid "Configure this travelnet station"
|
||||
msgstr "Configurar ésta estación"
|
||||
|
||||
#: init.lua
|
||||
msgid "Name of this station"
|
||||
msgstr "Nombre de ésta estación"
|
||||
|
||||
#: init.lua
|
||||
msgid ""
|
||||
"How do you call this place here? Example: \"my first house\", \"mine\", "
|
||||
"\"shop\"..."
|
||||
msgstr ""
|
||||
"¿Cómo llamaras a éste lugar? Por ejemplo: \"mi casa\", \"mina\", "
|
||||
"\"tienda\"..."
|
||||
|
||||
#: init.lua
|
||||
msgid "Assign to Network:"
|
||||
msgstr "Asignar a la red:"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "You can have more than one network. If unsure, use \"%s\""
|
||||
msgstr ""
|
||||
"Puedes tener más de una red. Si no estás seguro, usa \"%s\""
|
||||
|
||||
#: init.lua
|
||||
msgid "Owned by:"
|
||||
msgstr "Propiedad de:"
|
||||
|
||||
#: init.lua
|
||||
msgid "Unless you know what you are doing, leave this empty."
|
||||
msgstr "Deja éste campo vacío a menos que sepas lo que haces."
|
||||
|
||||
#: init.lua
|
||||
msgid "Help"
|
||||
msgstr "Ayuda"
|
||||
|
||||
#: init.lua
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: init.lua
|
||||
msgid "Update failed! Resetting this box on the travelnet."
|
||||
msgstr "¡Actualización fallida! Reiniciando ésta cabina de viaje."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "Station '%s'"
|
||||
msgstr "Estación '%s'"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid " has been reattached to the network '%s'."
|
||||
msgstr " ha sido reacoplado a la red '%s'."
|
||||
|
||||
#: init.lua
|
||||
msgid "Locked travelnet. Type /help for help:"
|
||||
msgstr "Cabins de viaje bloqueada. Escriba /help para ver la ayuda:"
|
||||
|
||||
#: init.lua travelnet.lua
|
||||
msgid "Travelnet-Box"
|
||||
msgstr "Cabina de viaje"
|
||||
|
||||
#: init.lua
|
||||
msgid "Punch box to update target list."
|
||||
msgstr "Golpea la cabina para actualizar la lista de destinos."
|
||||
|
||||
#: init.lua
|
||||
msgid "Assigned to Network:"
|
||||
msgstr "Asignado a la red:"
|
||||
|
||||
#: init.lua
|
||||
msgid "Click on target to travel there:"
|
||||
msgstr "Has clic en un destino para viajar allí:"
|
||||
|
||||
#: init.lua
|
||||
msgid "G"
|
||||
msgstr "G"
|
||||
|
||||
#: init.lua
|
||||
msgid "This station is already the first one on the list."
|
||||
msgstr "Ésta estación ya es la primera en la lista."
|
||||
|
||||
#: init.lua
|
||||
msgid "This station is already the last one on the list."
|
||||
msgstr "Ésta estación ya es la última en la lista."
|
||||
|
||||
#: init.lua
|
||||
msgid "Position in list:"
|
||||
msgstr "Posición en la lista:"
|
||||
|
||||
#: init.lua
|
||||
msgid "move up"
|
||||
msgstr "subir"
|
||||
|
||||
#: init.lua
|
||||
msgid "move down"
|
||||
msgstr "bajar"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "on travelnet '%s'"
|
||||
msgstr "en la red '%s'"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "(owned by %s)"
|
||||
msgstr "(pertenece a %s)"
|
||||
|
||||
#: init.lua
|
||||
msgid "ready for usage. Right-click to travel, punch to update."
|
||||
msgstr ""
|
||||
"listo para usar. Haz clic derecho para viajar, golpea para actualizar."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "at %s m"
|
||||
msgstr "a %s m"
|
||||
|
||||
#: init.lua
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: init.lua
|
||||
msgid "Please provide a name for this station."
|
||||
msgstr ""
|
||||
|
||||
#: init.lua
|
||||
msgid ""
|
||||
"Please provide the name of the network this station ought to be connected to."
|
||||
msgstr ""
|
||||
"Por favor especifique el nombre de la red a la cual conectarse."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "There is no player with interact privilege named '%s'. Aborting."
|
||||
msgstr ""
|
||||
"No hay un jugador llamado '%s' con privilegios de interacción. Abortando."
|
||||
|
||||
#: init.lua
|
||||
msgid ""
|
||||
"You do not have the travelnet_attach priv which is required to attach your "
|
||||
"box to the network of someone else. Aborting."
|
||||
msgstr ""
|
||||
"No tienes el privilegio 'travelnet_attach' requerido para acoplar tu "
|
||||
"cabina a la red de otros. Abortando."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid ""
|
||||
"A station named '%s' already exists on this network. Please choose a "
|
||||
"diffrent name!"
|
||||
msgstr ""
|
||||
"Yes existe una estación llamada '%s' en ésta red. Por favor, ¡elige un "
|
||||
"nombre diferente!"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "Network '%s',"
|
||||
msgstr "La red '%s',"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid ""
|
||||
"already contains the maximum number (=%s) of allowed stations per network. "
|
||||
"Please choose a diffrent/new network name."
|
||||
msgstr ""
|
||||
"ya contiene la cantidad máxima (%s) de estaciones permitidas. Por favor "
|
||||
"elige un nombre de red diferente/nuevo."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "has been added to the network '%s'"
|
||||
msgstr "ha sido añadida a la red '%s'"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid ", which now consists of %s station(s)."
|
||||
msgstr ", la cual consta de %s estación(es)."
|
||||
|
||||
#: init.lua
|
||||
msgid "Station:"
|
||||
msgstr "Estación:"
|
||||
|
||||
#: init.lua
|
||||
msgid "Network:"
|
||||
msgstr "Red:"
|
||||
|
||||
#: init.lua
|
||||
msgid "No help available yet."
|
||||
msgstr "No hay ayuda disponible aún."
|
||||
|
||||
#: init.lua
|
||||
msgid "Please click on the target you want to travel to."
|
||||
msgstr "Por favor haz clic en el destino al cual quieres viajar."
|
||||
|
||||
#: init.lua
|
||||
msgid "There is something wrong with the configuration of this station."
|
||||
msgstr "Excuse algún error en la configuración de ésta estación."
|
||||
|
||||
#: init.lua
|
||||
msgid "This travelnet is lacking data and/or improperly configured."
|
||||
msgstr ""
|
||||
"A ésta red le faltan datos y/o no ha sido configurada apropiadamente."
|
||||
|
||||
#: init.lua
|
||||
msgid "does not exist (anymore?) on this network."
|
||||
msgstr "ya no existe (mas?) en ésta red."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "Initiating transfer to station '%s'."
|
||||
msgstr "Iniciando transferencia a la estación '%s'."
|
||||
|
||||
#: init.lua
|
||||
msgid "Could not find information about the station that is to be removed."
|
||||
msgstr "No se encontró información acerca de la estación a quitar."
|
||||
|
||||
#: init.lua
|
||||
msgid "Could not find the station that is to be removed."
|
||||
msgstr "No se encontró la estación a quitar."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "has been REMOVED from the network '%s'."
|
||||
msgstr "ha sido QUITADA de la red '%s'."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid ""
|
||||
"This %s has not been configured yet. Please set it up first to claim it. "
|
||||
"Afterwards you can remove it because you are then the owner."
|
||||
msgstr ""
|
||||
"Éste %s aún no ha sido configurado. Por favor configurarlo para "
|
||||
"reclamarlo. Luego de hacerlo serás el dueño y podrás quitarlo."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "This %s belongs to %s. You can't remove it."
|
||||
msgstr "Éste %s pertenece a %s. No lo puedes quitar."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "Remove station"
|
||||
msgstr "Quitar estación"
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid "You do not have enough room in your inventory."
|
||||
msgstr "No tienes suficiente espacio en el inventario."
|
||||
|
||||
#: init.lua
|
||||
#, lua-format
|
||||
msgid ""
|
||||
"[Mod travelnet] Error: Savefile '%s' is damaged. Saved the backup as '%s'."
|
||||
msgstr ""
|
||||
"[Mod travelnet] Error: El fichero '%s' está dañado. Guardando copia de "
|
||||
"respaldo en '%s'."
|
@ -9,18 +9,19 @@ local F = minetest.formspec_escape
|
||||
unified_inventory.register_page("bags", {
|
||||
get_formspec = function(player)
|
||||
local player_name = player:get_player_name()
|
||||
local formspec = "background[0.06,0.99;7.92,7.52;ui_bags_main_form.png]"
|
||||
formspec = formspec.."label[0,0;"..F(S("Bags")).."]"
|
||||
formspec = formspec.."button[0,2;2,0.5;bag1;"..F(S("Bag @1", 1)).."]"
|
||||
formspec = formspec.."button[2,2;2,0.5;bag2;"..F(S("Bag @1", 2)).."]"
|
||||
formspec = formspec.."button[4,2;2,0.5;bag3;"..F(S("Bag @1", 3)).."]"
|
||||
formspec = formspec.."button[6,2;2,0.5;bag4;"..F(S("Bag @1", 4)).."]"
|
||||
formspec = formspec.."listcolors[#00000000;#00000000]"
|
||||
formspec = formspec.."list[detached:"..F(player_name).."_bags;bag1;0.5,1;1,1;]"
|
||||
formspec = formspec.."list[detached:"..F(player_name).."_bags;bag2;2.5,1;1,1;]"
|
||||
formspec = formspec.."list[detached:"..F(player_name).."_bags;bag3;4.5,1;1,1;]"
|
||||
formspec = formspec.."list[detached:"..F(player_name).."_bags;bag4;6.5,1;1,1;]"
|
||||
return {formspec=formspec}
|
||||
return { formspec = table.concat({
|
||||
"background[0.06,0.99;7.92,7.52;ui_bags_main_form.png]",
|
||||
"label[0,0;" .. F(S("Bags")) .. "]",
|
||||
"button[0,2;2,0.5;bag1;" .. F(S("Bag @1", 1)) .. "]",
|
||||
"button[2,2;2,0.5;bag2;" .. F(S("Bag @1", 2)) .. "]",
|
||||
"button[4,2;2,0.5;bag3;" .. F(S("Bag @1", 3)) .. "]",
|
||||
"button[6,2;2,0.5;bag4;" .. F(S("Bag @1", 4)) .. "]",
|
||||
"listcolors[#00000000;#00000000]",
|
||||
"list[detached:" .. F(player_name) .. "_bags;bag1;0.5,1;1,1;]",
|
||||
"list[detached:" .. F(player_name) .. "_bags;bag2;2.5,1;1,1;]",
|
||||
"list[detached:" .. F(player_name) .. "_bags;bag3;4.5,1;1,1;]",
|
||||
"list[detached:" .. F(player_name) .. "_bags;bag4;6.5,1;1,1;]"
|
||||
}) }
|
||||
end,
|
||||
})
|
||||
|
||||
@ -38,37 +39,39 @@ local function get_player_bag_stack(player, i)
|
||||
}):get_stack("bag" .. i, 1)
|
||||
end
|
||||
|
||||
for i = 1, 4 do
|
||||
local bi = i
|
||||
unified_inventory.register_page("bag"..bi, {
|
||||
for bag_i = 1, 4 do
|
||||
unified_inventory.register_page("bag" .. bag_i, {
|
||||
get_formspec = function(player)
|
||||
local stack = get_player_bag_stack(player, bi)
|
||||
local stack = get_player_bag_stack(player, bag_i)
|
||||
local image = stack:get_definition().inventory_image
|
||||
local formspec = ("image[7,0;1,1;"..image.."]"
|
||||
.."label[0,0;"..F(S("Bag @1", bi)).."]"
|
||||
.."listcolors[#00000000;#00000000]"
|
||||
.."list[current_player;bag"..bi.."contents;0,1;8,3;]"
|
||||
.."listring[current_name;bag"..bi.."contents]"
|
||||
.."listring[current_player;main]")
|
||||
local fs = {
|
||||
"image[7,0;1,1;" .. image .. "]",
|
||||
"label[0,0;" .. F(S("Bag @1", bag_i)) .. "]",
|
||||
"listcolors[#00000000;#00000000]",
|
||||
"list[current_player;bag" .. bag_i .. "contents;0,1;8,3;]",
|
||||
"listring[current_name;bag" .. bag_i .. "contents]",
|
||||
"listring[current_player;main]"
|
||||
}
|
||||
local slots = stack:get_definition().groups.bagslots
|
||||
if slots == 8 then
|
||||
formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_sm_form.png]"
|
||||
fs[#fs + 1] = "background[0.06,0.99;7.92,7.52;ui_bags_sm_form.png]"
|
||||
elseif slots == 16 then
|
||||
formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_med_form.png]"
|
||||
fs[#fs + 1] = "background[0.06,0.99;7.92,7.52;ui_bags_med_form.png]"
|
||||
elseif slots == 24 then
|
||||
formspec = formspec.."background[0.06,0.99;7.92,7.52;ui_bags_lg_form.png]"
|
||||
fs[#fs + 1] = "background[0.06,0.99;7.92,7.52;ui_bags_lg_form.png]"
|
||||
end
|
||||
local player_name = player:get_player_name() -- For if statement.
|
||||
if unified_inventory.trash_enabled or unified_inventory.is_creative(player_name) or minetest.get_player_privs(player_name).give then
|
||||
formspec = (formspec.."background[6.06,0;0.92,0.92;ui_bags_trash.png]"
|
||||
.."list[detached:trash;main;6,0.1;1,1;]")
|
||||
if unified_inventory.trash_enabled
|
||||
or unified_inventory.is_creative(player_name)
|
||||
or minetest.get_player_privs(player_name).give then
|
||||
fs[#fs + 1] = "background[6.06,0;0.92,0.92;ui_bags_trash.png]"
|
||||
.. "list[detached:trash;main;6,0.1;1,1;]"
|
||||
end
|
||||
local inv = player:get_inventory()
|
||||
for i = 1, 4 do
|
||||
local def = get_player_bag_stack(player, i):get_definition()
|
||||
local button
|
||||
if def.groups.bagslots then
|
||||
local list_name = "bag"..i.."contents"
|
||||
local list_name = "bag" .. i .. "contents"
|
||||
local size = inv:get_size(list_name)
|
||||
local used = 0
|
||||
for si = 1, size do
|
||||
@ -78,14 +81,12 @@ for i = 1, 4 do
|
||||
end
|
||||
end
|
||||
local img = def.inventory_image
|
||||
local label = F(S("Bag @1", i)).."\n"..used.."/"..size
|
||||
button = "image_button["..(i+1)..",0;1,1;"..img..";bag"..i..";"..label.."]"
|
||||
else
|
||||
button = ""
|
||||
local label = F(S("Bag @1", i)) .. "\n" .. used .. "/" .. size
|
||||
fs[#fs + 1] = string.format("image_button[%i,0;1,1;%s;bag%i;%s]",
|
||||
i + 1, img, i, label)
|
||||
end
|
||||
formspec = formspec..button
|
||||
end
|
||||
return {formspec=formspec}
|
||||
return { formspec = table.concat(fs) }
|
||||
end,
|
||||
})
|
||||
end
|
||||
@ -95,12 +96,12 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
return
|
||||
end
|
||||
for i = 1, 4 do
|
||||
if fields["bag"..i] then
|
||||
if fields["bag" .. i] then
|
||||
local stack = get_player_bag_stack(player, i)
|
||||
if not stack:get_definition().groups.bagslots then
|
||||
return
|
||||
end
|
||||
unified_inventory.set_inventory_formspec(player, "bag"..i)
|
||||
unified_inventory.set_inventory_formspec(player, "bag" .. i)
|
||||
return
|
||||
end
|
||||
end
|
||||
@ -110,7 +111,7 @@ local function save_bags_metadata(player, bags_inv)
|
||||
local is_empty = true
|
||||
local bags = {}
|
||||
for i = 1, 4 do
|
||||
local bag = "bag"..i
|
||||
local bag = "bag" .. i
|
||||
if not bags_inv:is_empty(bag) then
|
||||
-- Stack limit is 1, otherwise use stack:to_string()
|
||||
bags[i] = bags_inv:get_stack(bag, 1):get_name()
|
||||
@ -133,7 +134,7 @@ local function load_bags_metadata(player, bags_inv)
|
||||
if not bags_meta then
|
||||
-- Backwards compatiblity
|
||||
for i = 1, 4 do
|
||||
local bag = "bag"..i
|
||||
local bag = "bag" .. i
|
||||
if not player_inv:is_empty(bag) then
|
||||
-- Stack limit is 1, otherwise use stack:to_string()
|
||||
bags[i] = player_inv:get_stack(bag, 1):get_name()
|
||||
@ -143,7 +144,7 @@ local function load_bags_metadata(player, bags_inv)
|
||||
end
|
||||
-- Fill detached slots
|
||||
for i = 1, 4 do
|
||||
local bag = "bag"..i
|
||||
local bag = "bag" .. i
|
||||
bags_inv:set_size(bag, 1)
|
||||
bags_inv:set_stack(bag, 1, bags[i] or "")
|
||||
end
|
||||
@ -155,7 +156,7 @@ local function load_bags_metadata(player, bags_inv)
|
||||
|
||||
-- Clean up deprecated garbage after saving
|
||||
for i = 1, 4 do
|
||||
local bag = "bag"..i
|
||||
local bag = "bag" .. i
|
||||
player_inv:set_size(bag, 0)
|
||||
end
|
||||
end
|
||||
@ -163,9 +164,9 @@ end
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
local player_inv = player:get_inventory()
|
||||
local player_name = player:get_player_name()
|
||||
local bags_inv = minetest.create_detached_inventory(player_name.."_bags",{
|
||||
local bags_inv = minetest.create_detached_inventory(player_name .. "_bags",{
|
||||
on_put = function(inv, listname, index, stack, player)
|
||||
player:get_inventory():set_size(listname.."contents",
|
||||
player:get_inventory():set_size(listname .. "contents",
|
||||
stack:get_definition().groups.bagslots)
|
||||
save_bags_metadata(player, inv)
|
||||
end,
|
||||
@ -175,14 +176,14 @@ minetest.register_on_joinplayer(function(player)
|
||||
return 0
|
||||
end
|
||||
local player_inv = player:get_inventory()
|
||||
local old_slots = player_inv:get_size(listname.."contents")
|
||||
local old_slots = player_inv:get_size(listname .. "contents")
|
||||
|
||||
if new_slots >= old_slots then
|
||||
return 1
|
||||
end
|
||||
|
||||
-- using a smaller bag, make sure it fits
|
||||
local old_list = player_inv:get_list(listname.."contents")
|
||||
local old_list = player_inv:get_list(listname .. "contents")
|
||||
local new_list = {}
|
||||
local slots_used = 0
|
||||
local use_new_list = false
|
||||
@ -196,7 +197,7 @@ minetest.register_on_joinplayer(function(player)
|
||||
end
|
||||
if new_slots >= slots_used then
|
||||
if use_new_list then
|
||||
player_inv:set_list(listname.."contents", new_list)
|
||||
player_inv:set_list(listname .. "contents", new_list)
|
||||
end
|
||||
return 1
|
||||
end
|
||||
@ -204,13 +205,13 @@ minetest.register_on_joinplayer(function(player)
|
||||
return 0
|
||||
end,
|
||||
allow_take = function(inv, listname, index, stack, player)
|
||||
if player:get_inventory():is_empty(listname.."contents") then
|
||||
if player:get_inventory():is_empty(listname .. "contents") then
|
||||
return stack:get_count()
|
||||
end
|
||||
return 0
|
||||
end,
|
||||
on_take = function(inv, listname, index, stack, player)
|
||||
player:get_inventory():set_size(listname.."contents", 0)
|
||||
player:get_inventory():set_size(listname .. "contents", 0)
|
||||
save_bags_metadata(player, inv)
|
||||
end,
|
||||
allow_move = function()
|
||||
|
95
unified_inventory/doc/mod_api.txt
Normal file
95
unified_inventory/doc/mod_api.txt
Normal file
@ -0,0 +1,95 @@
|
||||
unified_inventory API
|
||||
=====================
|
||||
|
||||
This file provides information about the API of unified_inventory.
|
||||
|
||||
|
||||
Misc functions
|
||||
--------------
|
||||
Grouped by use-case, afterwards sorted alphabetically.
|
||||
|
||||
* `unified_inventory.is_creative(name)`
|
||||
* Checks whether creative is enabled or the player has `creative`
|
||||
|
||||
|
||||
Pages
|
||||
-----
|
||||
|
||||
Register a new page: The callback inside this function is called on user input.
|
||||
|
||||
unified_inventory.register_page("pagename", {
|
||||
get_formspec = function(player)
|
||||
-- ^ `player` is an `ObjectRef`
|
||||
-- Compute the formspec string here
|
||||
return {
|
||||
formspec = "button[2,2;2,1;mybutton;Press me]",
|
||||
-- ^ Final form of the formspec to display
|
||||
draw_inventory = false, -- default `true`
|
||||
-- ^ Optional. Hides the player's `main` inventory list
|
||||
draw_item_list = false, -- default `true`
|
||||
-- ^ Optional. Hides the item list on the right side
|
||||
formspec_prepend = false, -- default `false`
|
||||
-- ^ Optional. When `false`: Disables the formspec prepend
|
||||
}
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
Buttons
|
||||
-------
|
||||
|
||||
Register a new button for the bottom row:
|
||||
|
||||
unified_inventory.register_button("skins", {
|
||||
type = "image",
|
||||
image = "skins_skin_button.png",
|
||||
tooltip = "Skins",
|
||||
hide_lite = true
|
||||
-- ^ Button is hidden when following two conditions are met:
|
||||
-- Configuration line `unified_inventory_lite = true`
|
||||
-- Player does not have the privilege `ui_full`
|
||||
})
|
||||
|
||||
|
||||
|
||||
Crafting
|
||||
--------
|
||||
|
||||
The code blocks below document each possible parameter using exemplary values.
|
||||
|
||||
Provide information to display custom craft types:
|
||||
|
||||
unified_inventory.register_craft_type("mytype", {
|
||||
-- ^ Unique identifier for `register_craft`
|
||||
description = "Sample Craft",
|
||||
-- ^ Text shown below the crafting arrow
|
||||
icon = "dummy.png",
|
||||
-- ^ Image shown above the crafting arrow
|
||||
width = 3,
|
||||
height = 3,
|
||||
-- ^ Maximal input dimensions of the recipes
|
||||
dynamic_display_size = function(craft)
|
||||
-- ^ `craft` is the definition from `register_craft`
|
||||
return {
|
||||
width = 2,
|
||||
height = 3
|
||||
}
|
||||
end,
|
||||
-- ^ Optional callback to change the displayed recipe size
|
||||
uses_crafting_grid = true,
|
||||
})
|
||||
|
||||
Register a non-standard craft recipe:
|
||||
|
||||
unified_inventory.register_craft({
|
||||
output = "default:foobar",
|
||||
type = "mytype",
|
||||
-- ^ Standard craft type or custom (see `register_craft_type`)
|
||||
items = {
|
||||
{ "default:foo" },
|
||||
{ "default:bar" }
|
||||
},
|
||||
width = 3,
|
||||
-- ^ Same as `minetest.register_recipe`
|
||||
})
|
||||
|
@ -2,19 +2,21 @@ local S = unified_inventory.gettext
|
||||
|
||||
function unified_inventory.canonical_item_spec_matcher(spec)
|
||||
local specname = ItemStack(spec):get_name()
|
||||
if specname:sub(1, 6) == "group:" then
|
||||
local group_names = specname:sub(7):split(",")
|
||||
if specname:sub(1, 6) ~= "group:" then
|
||||
return function (itemname)
|
||||
local itemdef = minetest.registered_items[itemname]
|
||||
for _, group_name in ipairs(group_names) do
|
||||
if (itemdef.groups[group_name] or 0) == 0 then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
return itemname == specname
|
||||
end
|
||||
else
|
||||
return function (itemname) return itemname == specname end
|
||||
end
|
||||
|
||||
local group_names = specname:sub(7):split(",")
|
||||
return function (itemname)
|
||||
local itemdef = minetest.registered_items[itemname]
|
||||
for _, group_name in ipairs(group_names) do
|
||||
if (itemdef.groups[group_name] or 0) == 0 then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
@ -25,23 +27,11 @@ end
|
||||
|
||||
function unified_inventory.extract_groupnames(groupname)
|
||||
local specname = ItemStack(groupname):get_name()
|
||||
if specname:sub(1, 6) == "group:" then
|
||||
local group_names = specname:sub(7):split(",")
|
||||
if #group_names == 1 then
|
||||
return group_names[1], 1
|
||||
end
|
||||
local s = ""
|
||||
for g=1,#group_names do
|
||||
if g > 1 then
|
||||
-- List connector
|
||||
s = s .. S(" and ")
|
||||
end
|
||||
s = s .. group_names[g]
|
||||
end
|
||||
return s, #group_names
|
||||
else
|
||||
if specname:sub(1, 6) ~= "group:" then
|
||||
return nil, 0
|
||||
end
|
||||
local group_names = specname:sub(7):split(",")
|
||||
return table.concat(group_names, S(" and ")), #group_names
|
||||
end
|
||||
|
||||
unified_inventory.registered_group_items = {
|
||||
|
@ -58,15 +58,20 @@ function unified_inventory.get_formspec(player, page)
|
||||
unified_inventory.current_page[player_name] = page
|
||||
local pagedef = unified_inventory.pages[page]
|
||||
|
||||
if not pagedef then
|
||||
return "" -- Invalid page name
|
||||
end
|
||||
|
||||
local formspec = {
|
||||
"size[14,10]",
|
||||
pagedef.formspec_prepend and "" or "no_prepend[]",
|
||||
"background[-0.19,-0.25;14.4,10.75;ui_form_bg.png]" -- Background
|
||||
}
|
||||
local n = 3
|
||||
local n = 4
|
||||
|
||||
if draw_lite_mode then
|
||||
formspec[1] = "size[11,7.7]"
|
||||
formspec[2] = "background[-0.19,-0.2;11.4,8.4;ui_form_bg.png]"
|
||||
formspec[3] = "background[-0.19,-0.2;11.4,8.4;ui_form_bg.png]"
|
||||
end
|
||||
|
||||
if unified_inventory.is_creative(player_name)
|
||||
@ -75,11 +80,6 @@ function unified_inventory.get_formspec(player, page)
|
||||
n = n+1
|
||||
end
|
||||
|
||||
-- Current page
|
||||
if not unified_inventory.pages[page] then
|
||||
return "" -- Invalid page name
|
||||
end
|
||||
|
||||
local perplayer_formspec = unified_inventory.get_per_player_formspec(player_name)
|
||||
local fsdata = pagedef.get_formspec(player, perplayer_formspec)
|
||||
|
||||
|
@ -266,64 +266,77 @@ unified_inventory.register_page("craftguide", {
|
||||
|
||||
local player_name = player:get_player_name()
|
||||
local player_privs = minetest.get_player_privs(player_name)
|
||||
local formspec = ""
|
||||
formspec = formspec.."background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]"
|
||||
formspec = formspec.."label[0,"..formheadery..";" .. F(S("Crafting Guide")) .. "]"
|
||||
formspec = formspec.."listcolors[#00000000;#00000000]"
|
||||
local fs = {
|
||||
"background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]",
|
||||
"label[0,"..formheadery..";" .. F(S("Crafting Guide")) .. "]",
|
||||
"listcolors[#00000000;#00000000]"
|
||||
}
|
||||
local item_name = unified_inventory.current_item[player_name]
|
||||
if not item_name then return {formspec=formspec} end
|
||||
if not item_name then
|
||||
return { formspec = table.concat(fs) }
|
||||
end
|
||||
|
||||
local item_name_shown
|
||||
if minetest.registered_items[item_name] and minetest.registered_items[item_name].description then
|
||||
item_name_shown = string.format(S("%s (%s)"), minetest.registered_items[item_name].description, item_name)
|
||||
if minetest.registered_items[item_name]
|
||||
and minetest.registered_items[item_name].description then
|
||||
item_name_shown = string.format(S("%s (%s)"),
|
||||
minetest.registered_items[item_name].description, item_name)
|
||||
else
|
||||
item_name_shown = item_name
|
||||
end
|
||||
|
||||
local dir = unified_inventory.current_craft_direction[player_name]
|
||||
local rdir
|
||||
if dir == "recipe" then rdir = "usage" end
|
||||
if dir == "usage" then rdir = "recipe" end
|
||||
local rdir = dir == "recipe" and "usage" or "recipe"
|
||||
|
||||
local crafts = unified_inventory.crafts_for[dir][item_name]
|
||||
local alternate = unified_inventory.alternate[player_name]
|
||||
local alternates, craft
|
||||
if crafts ~= nil and #crafts > 0 then
|
||||
if crafts and #crafts > 0 then
|
||||
alternates = #crafts
|
||||
craft = crafts[alternate]
|
||||
end
|
||||
local has_give = player_privs.give or unified_inventory.is_creative(player_name)
|
||||
|
||||
formspec = formspec.."background[0.5,"..(formspecy + 0.2)..";8,3;ui_craftguide_form.png]"
|
||||
formspec = formspec.."textarea["..craftresultx..","..craftresulty
|
||||
..";10,1;;"..F(role_text[dir])..": "..item_name_shown..";]"
|
||||
formspec = formspec..stack_image_button(0, formspecy, 1.1, 1.1, "item_button_"
|
||||
.. rdir .. "_", ItemStack(item_name))
|
||||
fs[#fs + 1] = "background[0.5,"..(formspecy + 0.2)..";8,3;ui_craftguide_form.png]"
|
||||
fs[#fs + 1] = string.format("textarea[%f,%f;10,1;;%s: %s;]",
|
||||
craftresultx, craftresulty, F(role_text[dir]), item_name_shown)
|
||||
fs[#fs + 1] = stack_image_button(0, formspecy, 1.1, 1.1,
|
||||
"item_button_" .. rdir .. "_", ItemStack(item_name))
|
||||
|
||||
if not craft then
|
||||
formspec = formspec.."label[5.5,"..(formspecy + 2.35)..";"
|
||||
..F(no_recipe_text[dir]).."]"
|
||||
-- No craft recipes available for this item.
|
||||
fs[#fs + 1] = "label[5.5,"..(formspecy + 2.35)..";"
|
||||
.. F(no_recipe_text[dir]) .. "]"
|
||||
local no_pos = dir == "recipe" and 4.5 or 6.5
|
||||
local item_pos = dir == "recipe" and 6.5 or 4.5
|
||||
formspec = formspec.."image["..no_pos..","..formspecy..";1.1,1.1;ui_no.png]"
|
||||
formspec = formspec..stack_image_button(item_pos, formspecy, 1.1, 1.1, "item_button_"
|
||||
..other_dir[dir].."_", ItemStack(item_name))
|
||||
fs[#fs + 1] = "image["..no_pos..","..formspecy..";1.1,1.1;ui_no.png]"
|
||||
fs[#fs + 1] = stack_image_button(item_pos, formspecy, 1.1, 1.1,
|
||||
"item_button_" .. other_dir[dir] .. "_", ItemStack(item_name))
|
||||
if has_give then
|
||||
formspec = formspec.."label[0,"..(formspecy + 2.10)..";" .. F(S("Give me:")) .. "]"
|
||||
.."button[0, "..(formspecy + 2.7)..";0.6,0.5;craftguide_giveme_1;1]"
|
||||
.."button[0.6,"..(formspecy + 2.7)..";0.7,0.5;craftguide_giveme_10;10]"
|
||||
.."button[1.3,"..(formspecy + 2.7)..";0.8,0.5;craftguide_giveme_99;99]"
|
||||
fs[#fs + 1] = "label[0," .. (formspecy + 2.10) .. ";" .. F(S("Give me:")) .. "]"
|
||||
.. "button[0, " .. (formspecy + 2.7) .. ";0.6,0.5;craftguide_giveme_1;1]"
|
||||
.. "button[0.6," .. (formspecy + 2.7) .. ";0.7,0.5;craftguide_giveme_10;10]"
|
||||
.. "button[1.3," .. (formspecy + 2.7) .. ";0.8,0.5;craftguide_giveme_99;99]"
|
||||
end
|
||||
return {formspec = formspec}
|
||||
return { formspec = table.concat(fs) }
|
||||
end
|
||||
|
||||
local craft_type = unified_inventory.registered_craft_types[craft.type] or
|
||||
unified_inventory.craft_type_defaults(craft.type, {})
|
||||
if craft_type.icon then
|
||||
formspec = formspec..string.format(" image[%f,%f;%f,%f;%s]",5.7,(formspecy + 0.05),0.5,0.5,craft_type.icon)
|
||||
fs[#fs + 1] = string.format("image[%f,%f;%f,%f;%s]",
|
||||
5.7, (formspecy + 0.05), 0.5, 0.5, craft_type.icon)
|
||||
end
|
||||
formspec = formspec.."label[5.5,"..(formspecy + 1)..";" .. F(craft_type.description).."]"
|
||||
formspec = formspec..stack_image_button(6.5, formspecy, 1.1, 1.1, "item_button_usage_", ItemStack(craft.output))
|
||||
local display_size = craft_type.dynamic_display_size and craft_type.dynamic_display_size(craft) or { width = craft_type.width, height = craft_type.height }
|
||||
local craft_width = craft_type.get_shaped_craft_width and craft_type.get_shaped_craft_width(craft) or display_size.width
|
||||
fs[#fs + 1] = "label[5.5,"..(formspecy + 1)..";" .. F(craft_type.description).."]"
|
||||
fs[#fs + 1] = stack_image_button(6.5, formspecy, 1.1, 1.1,
|
||||
"item_button_usage_", ItemStack(craft.output))
|
||||
|
||||
local display_size = craft_type.dynamic_display_size
|
||||
and craft_type.dynamic_display_size(craft)
|
||||
or { width = craft_type.width, height = craft_type.height }
|
||||
local craft_width = craft_type.get_shaped_craft_width
|
||||
and craft_type.get_shaped_craft_width(craft)
|
||||
or display_size.width
|
||||
|
||||
-- This keeps recipes aligned to the right,
|
||||
-- so that they're close to the arrow.
|
||||
@ -358,47 +371,45 @@ unified_inventory.register_page("craftguide", {
|
||||
local xof = (fx-1) * of + of
|
||||
local yof = (y-1) * of + 1
|
||||
if item then
|
||||
formspec = formspec..stack_image_button(
|
||||
fs[#fs + 1] = stack_image_button(
|
||||
xoffset - xof, formspecy - 1 + yof, bsize_w, bsize_h,
|
||||
"item_button_recipe_",
|
||||
ItemStack(item))
|
||||
else
|
||||
-- Fake buttons just to make grid
|
||||
formspec = formspec.."image_button["
|
||||
..tostring(xoffset - xof)..","..tostring(formspecy - 1 + yof)
|
||||
..";"..bsize_w..","..bsize_h..";ui_blank_image.png;;]"
|
||||
fs[#fs + 1] = string.format("image_button[%f,%f;%f,%f;ui_blank_image.png;;]",
|
||||
xoffset - xof, formspecy - 1 + yof, bsize_w, bsize_h)
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
-- Error
|
||||
formspec = formspec.."label["
|
||||
..tostring(2)..","..tostring(formspecy)
|
||||
..";"..F(S("This recipe is too\nlarge to be displayed.")).."]"
|
||||
fs[#fs + 1] = string.format("label[2,%f;%s]",
|
||||
formspecy, F(S("This recipe is too\nlarge to be displayed.")))
|
||||
end
|
||||
|
||||
if craft_type.uses_crafting_grid and display_size.width <= 3 then
|
||||
formspec = formspec.."label[0,"..(formspecy + 0.9)..";" .. F(S("To craft grid:")) .. "]"
|
||||
.."button[0, "..(formspecy + 1.5)..";0.6,0.5;craftguide_craft_1;1]"
|
||||
.."button[0.6,"..(formspecy + 1.5)..";0.7,0.5;craftguide_craft_10;10]"
|
||||
.."button[1.3,"..(formspecy + 1.5)..";0.8,0.5;craftguide_craft_max;" .. F(S("All")) .. "]"
|
||||
fs[#fs + 1] = "label[0," .. (formspecy + 0.9) .. ";" .. F(S("To craft grid:")) .. "]"
|
||||
.. "button[0, " .. (formspecy + 1.5) .. ";0.6,0.5;craftguide_craft_1;1]"
|
||||
.. "button[0.6," .. (formspecy + 1.5) .. ";0.7,0.5;craftguide_craft_10;10]"
|
||||
.. "button[1.3," .. (formspecy + 1.5) .. ";0.8,0.5;craftguide_craft_max;" .. F(S("All")) .. "]"
|
||||
end
|
||||
if has_give then
|
||||
formspec = formspec.."label[0,"..(formspecy + 2.1)..";" .. F(S("Give me:")) .. "]"
|
||||
.."button[0, "..(formspecy + 2.7)..";0.6,0.5;craftguide_giveme_1;1]"
|
||||
.."button[0.6,"..(formspecy + 2.7)..";0.7,0.5;craftguide_giveme_10;10]"
|
||||
.."button[1.3,"..(formspecy + 2.7)..";0.8,0.5;craftguide_giveme_99;99]"
|
||||
fs[#fs + 1] = "label[0," .. (formspecy + 2.1) .. ";" .. F(S("Give me:")) .. "]"
|
||||
.. "button[0, " .. (formspecy + 2.7) .. ";0.6,0.5;craftguide_giveme_1;1]"
|
||||
.. "button[0.6," .. (formspecy + 2.7) .. ";0.7,0.5;craftguide_giveme_10;10]"
|
||||
.. "button[1.3," .. (formspecy + 2.7) .. ";0.8,0.5;craftguide_giveme_99;99]"
|
||||
end
|
||||
|
||||
if alternates and alternates > 1 then
|
||||
formspec = formspec.."label[5.5,"..(formspecy + 1.6)..";"
|
||||
..string.format(F(recipe_text[dir]), alternate, alternates).."]"
|
||||
.."image_button[5.5,"..(formspecy + 2)..";1,1;ui_left_icon.png;alternate_prev;]"
|
||||
.."image_button[6.5,"..(formspecy + 2)..";1,1;ui_right_icon.png;alternate;]"
|
||||
.."tooltip[alternate_prev;"..F(prev_alt_text[dir]).."]"
|
||||
.."tooltip[alternate;"..F(next_alt_text[dir]).."]"
|
||||
fs[#fs + 1] = "label[5.5," .. (formspecy + 1.6) .. ";"
|
||||
.. string.format(F(recipe_text[dir]), alternate, alternates) .. "]"
|
||||
.. "image_button[5.5," .. (formspecy + 2) .. ";1,1;ui_left_icon.png;alternate_prev;]"
|
||||
.. "image_button[6.5," .. (formspecy + 2) .. ";1,1;ui_right_icon.png;alternate;]"
|
||||
.. "tooltip[alternate_prev;" .. F(prev_alt_text[dir]) .. "]"
|
||||
.. "tooltip[alternate;" .. F(next_alt_text[dir]) .. "]"
|
||||
end
|
||||
return {formspec = formspec}
|
||||
return { formspec = table.concat(fs) }
|
||||
end,
|
||||
})
|
||||
|
||||
@ -429,78 +440,63 @@ local function craftguide_giveme(player, formname, fields)
|
||||
player_inv:add_item("main", {name = output, count = amount})
|
||||
end
|
||||
|
||||
-- tells if an item can be moved and returns an index if so
|
||||
local function item_fits(player_inv, craft_item, needed_item)
|
||||
local need_group = string.sub(needed_item, 1, 6) == "group:"
|
||||
if need_group then
|
||||
need_group = string.sub(needed_item, 7)
|
||||
-- Takes any stack from "main" where the `amount` of `needed_item` may fit
|
||||
-- into the given crafting stack (`craft_item`)
|
||||
local function craftguide_move_stacks(inv, craft_item, needed_item, amount)
|
||||
if craft_item:get_count() >= amount then
|
||||
return
|
||||
end
|
||||
if craft_item
|
||||
and not craft_item:is_empty() then
|
||||
local ciname = craft_item:get_name()
|
||||
|
||||
-- abort if the item there isn't usable
|
||||
if ciname ~= needed_item
|
||||
and not need_group then
|
||||
return
|
||||
end
|
||||
|
||||
-- abort if no item fits onto it
|
||||
if craft_item:get_count() >= craft_item:get_definition().stack_max then
|
||||
return
|
||||
end
|
||||
|
||||
-- use the item there if it's in the right group and a group item is needed
|
||||
if need_group then
|
||||
if minetest.get_item_group(ciname, need_group) == 0 then
|
||||
local get_item_group = minetest.get_item_group
|
||||
local group = needed_item:match("^group:(.+)")
|
||||
if group then
|
||||
if not craft_item:is_empty() then
|
||||
-- Source item must be the same to fill
|
||||
if get_item_group(craft_item:get_name(), group) ~= 0 then
|
||||
needed_item = craft_item:get_name()
|
||||
else
|
||||
-- TODO: Maybe swap unmatching "craft" items
|
||||
-- !! Would conflict with recursive function call
|
||||
return
|
||||
end
|
||||
needed_item = ciname
|
||||
need_group = false
|
||||
end
|
||||
end
|
||||
|
||||
if need_group then
|
||||
-- search an item of the specific group
|
||||
for i,item in pairs(player_inv:get_list("main")) do
|
||||
if not item:is_empty()
|
||||
and minetest.get_item_group(item:get_name(), need_group) > 0 then
|
||||
return i
|
||||
else
|
||||
-- Take matching group from the inventory (biggest stack)
|
||||
local main = inv:get_list("main")
|
||||
local max_found = 0
|
||||
for i, stack in ipairs(main) do
|
||||
if stack:get_count() > max_found and
|
||||
get_item_group(stack:get_name(), group) ~= 0 then
|
||||
needed_item = stack:get_name()
|
||||
max_found = stack:get_count()
|
||||
if max_found >= amount then
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- no index found
|
||||
return
|
||||
end
|
||||
|
||||
-- search an item with a the name needed_item
|
||||
for i,item in pairs(player_inv:get_list("main")) do
|
||||
if not item:is_empty()
|
||||
and item:get_name() == needed_item then
|
||||
return i
|
||||
else
|
||||
if not craft_item:is_empty() and
|
||||
craft_item:get_name() ~= needed_item then
|
||||
return -- Item must be identical
|
||||
end
|
||||
end
|
||||
|
||||
-- no index found
|
||||
end
|
||||
|
||||
-- modifies the player inventory and returns the changed craft_item if possible
|
||||
local function move_item(player_inv, craft_item, needed_item)
|
||||
local stackid = item_fits(player_inv, craft_item, needed_item)
|
||||
if not stackid then
|
||||
return
|
||||
needed_item = ItemStack(needed_item)
|
||||
local to_take = math.min(amount, needed_item:get_stack_max())
|
||||
to_take = to_take - craft_item:get_count()
|
||||
if to_take <= 0 then
|
||||
return -- Nothing to do
|
||||
end
|
||||
local wanted_stack = player_inv:get_stack("main", stackid)
|
||||
local taken_item = wanted_stack:take_item()
|
||||
player_inv:set_stack("main", stackid, wanted_stack)
|
||||
needed_item:set_count(to_take)
|
||||
|
||||
if not craft_item
|
||||
or craft_item:is_empty() then
|
||||
return taken_item
|
||||
local taken = inv:remove_item("main", needed_item)
|
||||
local leftover = taken:add_item(craft_item)
|
||||
if not leftover:is_empty() then
|
||||
-- Somehow failed to add the existing "craft" item. Undo the action.
|
||||
inv:add_item("main", leftover)
|
||||
return taken
|
||||
end
|
||||
|
||||
craft_item:add_item(taken_item)
|
||||
return craft_item
|
||||
return taken
|
||||
end
|
||||
|
||||
local function craftguide_craft(player, formname, fields)
|
||||
@ -510,15 +506,21 @@ local function craftguide_craft(player, formname, fields)
|
||||
if amount then break end
|
||||
end
|
||||
if not amount then return end
|
||||
|
||||
amount = tonumber(amount) or 99 -- fallback for "all"
|
||||
if amount <= 0 or amount > 99 then return end
|
||||
|
||||
local player_name = player:get_player_name()
|
||||
|
||||
local output = unified_inventory.current_item[player_name]
|
||||
if (not output) or (output == "") then return end
|
||||
local output = unified_inventory.current_item[player_name] or ""
|
||||
if output == "" then return end
|
||||
|
||||
local player_inv = player:get_inventory()
|
||||
local craft_list = player_inv:get_list("craft")
|
||||
|
||||
local crafts = unified_inventory.crafts_for[unified_inventory.current_craft_direction[player_name]][output]
|
||||
if (not crafts) or (#crafts == 0) then return end
|
||||
local crafts = unified_inventory.crafts_for[
|
||||
unified_inventory.current_craft_direction[player_name]][output] or {}
|
||||
if #crafts == 0 then return end
|
||||
|
||||
local alternate = unified_inventory.alternate[player_name]
|
||||
|
||||
@ -526,24 +528,17 @@ local function craftguide_craft(player, formname, fields)
|
||||
if craft.width > 3 then return end
|
||||
|
||||
local needed = craft.items
|
||||
|
||||
local craft_list = player_inv:get_list("craft")
|
||||
|
||||
local width = craft.width
|
||||
if width == 0 then
|
||||
-- Shapeless recipe
|
||||
width = 3
|
||||
end
|
||||
|
||||
amount = tonumber(amount) or 99
|
||||
--[[
|
||||
if amount == "max" then
|
||||
amount = 99 -- Arbitrary; need better way to do this.
|
||||
else
|
||||
amount = tonumber(amount)
|
||||
end--]]
|
||||
|
||||
for iter = 1, amount do
|
||||
-- To spread the items evenly
|
||||
local STEPSIZE = math.ceil(math.sqrt(amount) / 5) * 5
|
||||
local current_count = 0
|
||||
repeat
|
||||
current_count = math.min(current_count + STEPSIZE, amount)
|
||||
local index = 1
|
||||
for y = 1, 3 do
|
||||
for x = 1, width do
|
||||
@ -551,7 +546,9 @@ local function craftguide_craft(player, formname, fields)
|
||||
if needed_item then
|
||||
local craft_index = ((y - 1) * 3) + x
|
||||
local craft_item = craft_list[craft_index]
|
||||
local newitem = move_item(player_inv, craft_item, needed_item)
|
||||
local newitem = craftguide_move_stacks(player_inv,
|
||||
craft_item, needed_item, current_count)
|
||||
|
||||
if newitem then
|
||||
craft_list[craft_index] = newitem
|
||||
end
|
||||
@ -559,7 +556,7 @@ local function craftguide_craft(player, formname, fields)
|
||||
index = index + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
until current_count == amount
|
||||
|
||||
player_inv:set_list("craft", craft_list)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user