update castles, cottages, digistuff, gloopblocks, locks,

maptools, mesecons, pipeworks, technic, unified inventory,
unified dyes, and xban2
master
Vanessa Dannenberg 2018-08-03 09:31:05 -04:00
parent 76594f4bd5
commit 2fa93b219e
99 changed files with 4820 additions and 1827 deletions

View File

@ -1,14 +1,9 @@
=-=-=-=-=-=-=-=-=-=
## Castle farm products
Castles Mod
by: Philipbenr And DanDuncombe
=-=-=-=-=-=-=-=-=-=
B: Philipbenr, DanDuncombe, FaceDeer
Licence: MIT
see: LICENSE
=-=-=-=-=-=-=-=-=-=
Contains farm products useful for decorating a castle:
@ -16,5 +11,3 @@ Contains farm products useful for decorating a castle:
* Hide wall and floor coverings
* Bound straw bale
* Straw training dummy
=-=-=-=-=-=-=-=-=-=

View File

@ -1,14 +1,9 @@
=-=-=-=-=-=-=-=-=-=
## Castle Lighting
Castles Mod
by: Philipbenr And DanDuncombe
=-=-=-=-=-=-=-=-=-=
By: Philipbenr, DanDuncombe, FaceDeer
Licence: MIT
see: LICENSE
=-=-=-=-=-=-=-=-=-=
This mod contains medieval lighting sources suitable for a castle. It includes:

34
castle_masonry/README.md Normal file
View File

@ -0,0 +1,34 @@
## Castle Masonry
by: Philipbenr, DanDuncombe, FaceDeer
Licence: MIT
This is a mod all about creating castles and castle dungeons. Many of the nodes are used for the outer-walls or dungeons.
Contains:
* Walls, Corner-walls,
* Castlestone Stairs, Slabs, and Pillars
* Arrowslits and embrasures
* Rubble (to fill the interior of thick castle walls)
* Murder holes and machicolations
* Pillars and crossbraces
* Roof slate
* Paving stone
* Dungeon stone
Mod settings can allow for the basic castle masonry forms to be made for the following material types (all optional):
* Cobble
* Desert stone
* Desert stone brick
* Sandstone
* Sandstone brick
* Stone
* Stone brick
* Castle wall
* Wood
* Snow
* Ice
* Obsidian Brick

View File

@ -1,43 +0,0 @@
=-=-=-=-=-=-=-=-=-=
Castles Mod
by: Philipbenr And DanDuncombe
=-=-=-=-=-=-=-=-=-=
Licence: MIT
see: LICENSE
=-=-=-=-=-=-=-=-=-=
This is a mod all about creating castles and castle dungeons. Many of the nodes are used for the outer-walls or dungeons.
=-=-=-=-=-=-=-=-=-=
Contains:
--Walls, Corner-walls,
--Castlestone Stairs, Slabs, and Pillars
--Arrowslits and embrasures
--Rubble (to fill the interior of thick castle walls)
--Murder holes and machicolations
--Pillars and crossbraces
--Roof slate
--Paving stone
--Dungeon stone
Mod settings can allow for the basic castle masonry forms to be made for the following material types (all optional):
Cobble
Desert stone
Desert stone brick
Sandstone
Sandstone brick
Stone
Stone brick
Castle wall
Wood
Snow
Ice
Obsidian Brick

23
castle_shields/README.md Normal file
View File

@ -0,0 +1,23 @@
## Castle Shields
by: Philipbenr, DanDuncombe and FaceDeer
Licence: MIT
=-=-=-=-=-=-=-=-=-=
This mod adds decorative wall-mounted shields. It comes with three default shields, but it's very easy to mix and match the colours and patterns to generate additional shields for your server; see default_shields.lua for a good place to insert your own, or make use of the castle_shields.register_shield method in your own mods.
The three default shields were defined thusly:
* castle_shields.register_shield("shield_1", "Mounted Shield", "red", "blue", "slash")
* castle_shields.register_shield("shield_2", "Mounted Shield", "cyan", "yellow", "chevron")
* castle_shields.register_shield("shield_3", "Mounted Shield", "grey", "green", "cross")
The following colors are permitted:
"black", "blue", "brown", "cyan", "dark_green", "dark_grey", "green", "grey", "magenta", "orange", "pink", "red", "violet", "white", "yellow"
The following patterns are permitted:
"slash", "chevron", "cross"

View File

@ -1,25 +0,0 @@
=-=-=-=-=-=-=-=-=-=
Castles Mod
by: Philipbenr And DanDuncombe
=-=-=-=-=-=-=-=-=-=
Licence: MIT
see: LICENSE
=-=-=-=-=-=-=-=-=-=
This mod adds decorative wall-mounted shields. It comes with three default shields, but it's very easy to mix and match the colours and patterns to generate additional shields for your server; see default_shields.lua for a good place to insert your own, or make use of the castle_shields.register_shield method in your own mods.
The three default shields were defined thusly:
castle_shields.register_shield("shield_1", "Mounted Shield", "red", "blue", "slash")
castle_shields.register_shield("shield_2", "Mounted Shield", "cyan", "yellow", "chevron")
castle_shields.register_shield("shield_3", "Mounted Shield", "grey", "green", "cross")
The following colors are permitted:
"black", "blue", "brown", "cyan", "dark_green", "dark_grey", "green", "grey", "magenta", "orange", "pink", "red", "violet", "white", "yellow"
The following patterns are permitted:
"slash", "chevron", "cross"

View File

@ -1,13 +1,9 @@
=-=-=-=-=-=-=-=-=-=
## Tapestries Mod
Tapestries Mod
by: Philipbenr And DanDuncombe
By: Philipbenr, DanDuncombe, VanessaE, FaceDeer
=-=-=-=-=-=-=-=-=-=
Licence: MIT
see: LICENSE
This mod contains tapestries of three different lengths, and a wooden crosspiece to hang them from. The tapestries can be dyed any color once hung.

View File

@ -1,5 +1,5 @@
default
farming
default?
farming?
stairs?
homedecor?
intllib?

View File

@ -29,6 +29,11 @@ else
cottages.S = function(s) return s end
end
-- MineClone2 needs special treatment; default is only needed for
-- crafting materials and sounds (less important)
if( not( minetest.get_modpath("default"))) then
default = {};
end
--cottages.config_use_mesh_barrel = false;
--cottages.config_use_mesh_handmill = true;

View File

@ -342,7 +342,7 @@ if( minetest.get_modpath("stairs") and stairs and stairs.register_stair_and_slab
{"cottages_feldweg.png","default_dirt.png", "default_grass.png","default_grass.png","cottages_feldweg.png","cottages_feldweg.png"},
S("Dirt Road Stairs"),
S("Dirt Road, half height"),
default.node_sound_dirt_defaults())
default.node_sound_dirt_defaults)
end
if( cottages_feldweg_mode == "nodebox" or cottages_feldweg_mode == "mesh" ) then

View File

@ -23,7 +23,7 @@ minetest.register_node("cottages:bed_foot", {
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(),
sounds = default.node_sound_wood_defaults,
node_box = {
type = "fixed",
fixed = {
@ -58,7 +58,7 @@ minetest.register_node("cottages:bed_head", {
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(),
sounds = default.node_sound_wood_defaults,
node_box = {
type = "fixed",
fixed = {
@ -99,7 +99,7 @@ minetest.register_node("cottages:sleeping_mat", {
paramtype2 = "facedir",
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults,
selection_box = {
type = "wallmounted",
},
@ -133,7 +133,7 @@ minetest.register_node("cottages:sleeping_mat_head", {
paramtype = 'light',
paramtype2 = "facedir",
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults,
node_box = {
type = "fixed",
fixed = {
@ -162,7 +162,7 @@ minetest.register_node("cottages:bench", {
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(),
sounds = default.node_sound_wood_defaults,
node_box = {
type = "fixed",
fixed = {

View File

@ -27,7 +27,7 @@ minetest.register_node("cottages:wagon_wheel", {
},
groups = {choppy=2,dig_immediate=2,attached_node=1},
legacy_wallmounted = true,
sounds = default.node_sound_defaults(),
sounds = default.node_sound_defaults,
is_ground_content = false,
})
@ -50,7 +50,7 @@ if( minetest.get_modpath("stairs") and stairs and stairs.register_stair_and_slab
{"cottages_loam.png"},
S("Loam Stairs"),
S("Loam Slab"),
default.node_sound_dirt_defaults())
default.node_sound_dirt_defaults)
if( minetest.registered_nodes["default:clay"]) then
stairs.register_stair_and_slab("clay", "default:clay",
@ -58,7 +58,7 @@ if( minetest.get_modpath("stairs") and stairs and stairs.register_stair_and_slab
{"cottages_clay.png"},
S("Clay Stairs"),
S("Clay Slab"),
default.node_sound_dirt_defaults())
default.node_sound_dirt_defaults)
end
end

View File

@ -54,7 +54,7 @@ minetest.register_node("cottages:ladder_with_rope_and_rail", {
},
groups = {choppy=2,oddly_breakable_by_hand=3,rail=1,connect_to_raillike=1}, --connect_to_raillike=minetest.raillike_group("rail")},
legacy_wallmounted = true,
sounds = default.node_sound_wood_defaults(),
sounds = default.node_sound_wood_defaults,
})

View File

@ -191,7 +191,7 @@ minetest.register_node("cottages:slate_vertical", {
tiles = {"cottages_slate.png",cottages.texture_roof_sides,"cottages_slate.png","cottages_slate.png",cottages.texture_roof_sides,"cottages_slate.png"},
paramtype2 = "facedir",
groups = {cracky=2, stone=1},
sounds = default.node_sound_stone_defaults(),
sounds = default.node_sound_stone_defaults,
is_ground_content = false,
})
@ -209,7 +209,7 @@ minetest.register_node("cottages:reet", {
description = S("Reet for thatching"),
tiles = {"cottages_reet.png"},
groups = {snappy=3,choppy=3,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_wood_defaults(),
sounds = default.node_sound_wood_defaults,
is_ground_content = false,
})

View File

@ -32,7 +32,7 @@ minetest.register_node("cottages:straw_mat", {
paramtype2 = "facedir",
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults,
node_box = {
type = "fixed",
fixed = {
@ -58,7 +58,7 @@ minetest.register_node("cottages:straw_bale", {
tiles = {"cottages_darkage_straw_bale.png"},
paramtype = "light",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(),
sounds = default.node_sound_wood_defaults,
-- the bale is slightly smaller than a full node
node_box = {
type = "fixed",
@ -81,7 +81,7 @@ minetest.register_node("cottages:straw", {
description = S("straw"),
tiles = {"cottages_darkage_straw.png"},
groups = {snappy=3,choppy=3,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_wood_defaults(),
sounds = default.node_sound_wood_defaults,
-- the bale is slightly smaller than a full node
is_ground_content = false,
})

BIN
cottages/screenshot.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

@ -928,3 +928,89 @@ minetest.register_craft({
{"homedecor:plastic_sheeting","homedecor:plastic_sheeting","homedecor:plastic_sheeting"},
}
})
if minetest.get_modpath("mesecons_noteblock") then
minetest.register_node("digistuff:noteblock", {
description = "Digilines Noteblock",
groups = {cracky=3},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec","field[channel;Channel;${channel}")
end,
on_destruct = function(pos)
local pos_hash = minetest.hash_node_position(pos)
if digistuff.sounds_playing[pos_hash] then
minetest.sound_stop(digistuff.sounds_playing[pos_hash])
digistuff.sounds_playing[pos_hash] = nil
end
end,
tiles = {
"mesecons_noteblock.png"
},
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
local meta = minetest.get_meta(pos)
if fields.channel then meta:set_string("channel",fields.channel) end
end,
digiline =
{
receptor = {},
effector = {
action = function(pos,node,channel,msg)
local meta = minetest.get_meta(pos)
local setchan = meta:get_string("channel")
if channel ~= setchan then return end
local valid_sounds = {
csharp = "mesecons_noteblock_csharp",
d = "mesecons_noteblock_d",
dsharp = "mesecons_noteblock_dsharp",
e = "mesecons_noteblock_e",
f = "mesecons_noteblock_f",
fsharp = "mesecons_noteblock_fsharp",
g = "mesecons_noteblock_g",
gsharp = "mesecons_noteblock_gsharp",
a = "mesecons_noteblock_a",
asharp = "mesecons_noteblock_asharp",
b = "mesecons_noteblock_b",
c = "mesecons_noteblock_c",
csharp2 = "mesecons_noteblock_csharp2",
d2 = "mesecons_noteblock_d2",
dsharp2 = "mesecons_noteblock_dsharp2",
e2 = "mesecons_noteblock_e2",
f2 = "mesecons_noteblock_f2",
fsharp2 = "mesecons_noteblock_fsharp2",
g2 = "mesecons_noteblock_g2",
gsharp2 = "mesecons_noteblock_gsharp2",
a2 = "mesecons_noteblock_a2",
asharp2 = "mesecons_noteblock_asharp2",
b2 = "mesecons_noteblock_b2",
c2 = "mesecons_noteblock_c2",
hihat = "mesecons_noteblock_hihat",
kick = "mesecons_noteblock_kick",
snare = "mesecons_noteblock_snare",
crash = "mesecons_noteblock_crash",
litecrash = "mesecons_noteblock_litecrash",
fire = "fire_large",
explosion = "tnt_explode"
}
if type(msg) == "string" then
local sound = valid_sounds[msg]
if sound then minetest.sound_play(sound,{pos=pos}) end
elseif type(msg) == "table" then
if type(msg.sound) ~= "string" then return end
local sound = valid_sounds[msg.sound]
local volume = 1
if type(msg.volume) == "number" then
volume = math.max(0,math.min(1,msg.volume))
end
if sound then minetest.sound_play({name=sound,gain=volume},{pos=pos}) end
end
end
},
},
})
end

View File

@ -4,12 +4,12 @@ minetest.register_craft( {
type = "shapeless",
output = "gloopblocks:rainbow_block",
recipe = {
"group:basecolor_red",
"group:excolor_orange",
"group:basecolor_yellow",
"group:basecolor_green",
"group:basecolor_blue",
"group:excolor_violet",
"group:dye,color_red",
"group:dye,color_orange",
"group:dye,color_yellow",
"group:dye,color_green",
"group:dye,color_blue",
"group:dye,color_violet",
"default:stone",
"default:mese_crystal",
},

File diff suppressed because it is too large Load Diff

View File

@ -1,137 +1,138 @@
-- 09.01.13 Added support for pipeworks.
locks.chest_add = {};
locks.chest_add.tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",
"default_chest_side.png", "default_chest_side.png", "default_chest_front.png"};
locks.chest_add.groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2};
locks.chest_add.tube = {};
-- additional/changed definitions for pipeworks;
-- taken from pipeworks/compat.lua
if( locks.pipeworks_enabled ) then
locks.chest_add.tiles = {
"default_chest_top.png^pipeworks_tube_connection_wooden.png",
"default_chest_top.png^pipeworks_tube_connection_wooden.png",
"default_chest_side.png^pipeworks_tube_connection_wooden.png",
"default_chest_side.png^pipeworks_tube_connection_wooden.png",
"default_chest_side.png^pipeworks_tube_connection_wooden.png"};
locks.chest_add.groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,
tubedevice = 1, tubedevice_receiver = 1 };
locks.chest_add.tube = {
insert_object = function(pos, node, stack, direction)
local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory()
return inv:add_item("main", stack)
end,
can_insert = function(pos, node, stack, direction)
local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory()
return inv:room_for_item("main", stack)
end,
input_inventory = "main",
connect_sides = {left=1, right=1, back=1, front=1, bottom=1, top=1}
};
end
minetest.register_node("locks:shared_locked_chest", {
description = "Shared locked chest",
tiles = locks.chest_add.tiles,
paramtype2 = "facedir",
groups = locks.chest_add.groups,
tube = locks.chest_add.tube,
legacy_facedir_simple = true,
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
-- prepare the lock of the chest
locks:lock_init( pos,
"size[8,10]"..
-- "field[0.5,0.2;8,1.0;locks_sent_lock_command;Locked chest. Type password, command or /help for help:;]"..
-- "button_exit[3,0.8;2,1.0;locks_sent_input;Proceed]"..
"list[current_name;main;0,0;8,4;]"..
"list[current_player;main;0,5;8,4;]"..
"field[0.3,9.6;6,0.7;locks_sent_lock_command;Locked chest. Type /help for help:;]"..
"background[-0.5,-0.65;9,11.2;bg_shared_locked_chest.jpg]"..
"button_exit[6.3,9.2;1.7,0.7;locks_sent_input;Proceed]" );
-- "size[8,9]"..
-- "list[current_name;main;0,0;8,4;]"..
-- "list[current_player;main;0,5;8,4;]");
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
end,
after_place_node = function(pos, placer)
if( locks.pipeworks_enabled ) then
pipeworks.scan_for_tube_objects( pos );
end
locks:lock_set_owner( pos, placer, "Shared locked chest" );
end,
can_dig = function(pos,player)
if( not(locks:lock_allow_dig( pos, player ))) then
return false;
end
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory()
return inv:is_empty("main")
end,
on_receive_fields = function(pos, formname, fields, sender)
locks:lock_handle_input( pos, formname, fields, sender );
end,
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return count;
end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return stack:get_count()
end,
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return stack:get_count()
end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name()..
" moves stuff in locked shared chest at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" moves stuff to locked shared chest at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" takes stuff from locked shared chest at "..minetest.pos_to_string(pos))
end,
after_dig_node = function( pos )
if( locks.pipeworks_enabled ) then
pipeworks.scan_for_tube_objects(pos)
end
end
})
minetest.register_craft({
output = 'locks:shared_locked_chest',
recipe = {
{ 'default:chest', 'locks:lock', '' },
},
})
print( "[Mod] locks: loading locks:shared_locked_chest");
-- 09.01.13 Added support for pipeworks.
locks.chest_add = {};
locks.chest_add.tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",
"default_chest_side.png", "default_chest_side.png", "default_chest_front.png"};
locks.chest_add.groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2};
locks.chest_add.tube = {};
-- additional/changed definitions for pipeworks;
-- taken from pipeworks/compat.lua
if( locks.pipeworks_enabled ) then
locks.chest_add.tiles = {
"default_chest_top.png^pipeworks_tube_connection_wooden.png",
"default_chest_top.png^pipeworks_tube_connection_wooden.png",
"default_chest_side.png^pipeworks_tube_connection_wooden.png",
"default_chest_side.png^pipeworks_tube_connection_wooden.png",
"default_chest_side.png^pipeworks_tube_connection_wooden.png",
"default_chest_front.png"};
locks.chest_add.groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,
tubedevice = 1, tubedevice_receiver = 1 };
locks.chest_add.tube = {
insert_object = function(pos, node, stack, direction)
local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory()
return inv:add_item("main", stack)
end,
can_insert = function(pos, node, stack, direction)
local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory()
return inv:room_for_item("main", stack)
end,
input_inventory = "main",
connect_sides = {left=1, right=1, back=1, front=1, bottom=1, top=1}
};
end
minetest.register_node("locks:shared_locked_chest", {
description = "Shared locked chest",
tiles = locks.chest_add.tiles,
paramtype2 = "facedir",
groups = locks.chest_add.groups,
tube = locks.chest_add.tube,
legacy_facedir_simple = true,
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
-- prepare the lock of the chest
locks:lock_init( pos,
"size[8,10]"..
-- "field[0.5,0.2;8,1.0;locks_sent_lock_command;Locked chest. Type password, command or /help for help:;]"..
-- "button_exit[3,0.8;2,1.0;locks_sent_input;Proceed]"..
"list[current_name;main;0,0;8,4;]"..
"list[current_player;main;0,5;8,4;]"..
"field[0.3,9.6;6,0.7;locks_sent_lock_command;Locked chest. Type /help for help:;]"..
"background[-0.5,-0.65;9,11.2;bg_shared_locked_chest.jpg]"..
"button_exit[6.3,9.2;1.7,0.7;locks_sent_input;Proceed]" );
-- "size[8,9]"..
-- "list[current_name;main;0,0;8,4;]"..
-- "list[current_player;main;0,5;8,4;]");
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
end,
after_place_node = function(pos, placer)
if( locks.pipeworks_enabled ) then
pipeworks.scan_for_tube_objects( pos );
end
locks:lock_set_owner( pos, placer, "Shared locked chest" );
end,
can_dig = function(pos,player)
if( not(locks:lock_allow_dig( pos, player ))) then
return false;
end
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory()
return inv:is_empty("main")
end,
on_receive_fields = function(pos, formname, fields, sender)
locks:lock_handle_input( pos, formname, fields, sender );
end,
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return count;
end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return stack:get_count()
end,
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
if( not( locks:lock_allow_use( pos, player ))) then
return 0;
end
return stack:get_count()
end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name()..
" moves stuff in locked shared chest at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" moves stuff to locked shared chest at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" takes stuff from locked shared chest at "..minetest.pos_to_string(pos))
end,
after_dig_node = function( pos )
if( locks.pipeworks_enabled ) then
pipeworks.scan_for_tube_objects(pos)
end
end
})
minetest.register_craft({
output = 'locks:shared_locked_chest',
recipe = {
{ 'default:chest', 'locks:lock', '' },
},
})
print( "[Mod] locks: loading locks:shared_locked_chest");

View File

@ -17,6 +17,7 @@ minetest.register_node("maptools:stone", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:stonebrick", {
@ -27,6 +28,7 @@ minetest.register_node("maptools:stonebrick", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:tree", {
@ -37,7 +39,8 @@ minetest.register_node("maptools:tree", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
on_place = minetest.rotate_node,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:jungletree", {
@ -48,7 +51,8 @@ minetest.register_node("maptools:jungletree", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
on_place = minetest.rotate_node,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:cactus", {
@ -59,7 +63,8 @@ minetest.register_node("maptools:cactus", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
on_place = minetest.rotate_node,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:papyrus", {
@ -80,6 +85,7 @@ minetest.register_node("maptools:papyrus", {
},
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_leaves_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:dirt", {
@ -90,6 +96,7 @@ minetest.register_node("maptools:dirt", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_dirt_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:wood", {
@ -100,6 +107,7 @@ minetest.register_node("maptools:wood", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_wood_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:junglewood", {
@ -110,6 +118,7 @@ minetest.register_node("maptools:junglewood", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_wood_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:glass", {
@ -123,6 +132,7 @@ minetest.register_node("maptools:glass", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_glass_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:leaves", {
@ -135,6 +145,7 @@ minetest.register_node("maptools:leaves", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_leaves_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:sand", {
@ -145,6 +156,7 @@ minetest.register_node("maptools:sand", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_sand_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:gravel", {
@ -158,6 +170,7 @@ minetest.register_node("maptools:gravel", {
footstep = {name="default_gravel_footstep", gain=0.35},
dug = {name="default_gravel_footstep", gain=0.6},
}),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:clay", {
@ -168,6 +181,7 @@ minetest.register_node("maptools:clay", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_dirt_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:desert_sand", {
@ -178,6 +192,7 @@ minetest.register_node("maptools:desert_sand", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_sand_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:sandstone", {
@ -188,6 +203,7 @@ minetest.register_node("maptools:sandstone", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:sandstone_brick", {
@ -198,6 +214,7 @@ minetest.register_node("maptools:sandstone_brick", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:desert_stone", {
@ -208,6 +225,7 @@ minetest.register_node("maptools:desert_stone", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:desert_cobble", {
@ -218,6 +236,7 @@ minetest.register_node("maptools:desert_cobble", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:desert_stonebrick", {
@ -228,6 +247,7 @@ minetest.register_node("maptools:desert_stonebrick", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:grass", {
@ -241,6 +261,7 @@ minetest.register_node("maptools:grass", {
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain = 0.4},
}),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fullgrass", {
@ -253,6 +274,7 @@ minetest.register_node("maptools:fullgrass", {
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain=0.4},
}),
on_drop = maptools.drop_msg
})
for slab_num = 1,3,1 do
@ -272,6 +294,7 @@ for slab_num = 1,3,1 do
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}),
on_drop = maptools.drop_msg
})
end
@ -283,6 +306,7 @@ minetest.register_node("maptools:cobble", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:mossycobble", {
@ -293,6 +317,7 @@ minetest.register_node("maptools:mossycobble", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:brick", {
@ -303,6 +328,7 @@ minetest.register_node("maptools:brick", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:coalblock", {
@ -313,6 +339,7 @@ minetest.register_node("maptools:coalblock", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
@ -324,6 +351,7 @@ minetest.register_node("maptools:steelblock", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:goldblock", {
@ -334,6 +362,7 @@ minetest.register_node("maptools:goldblock", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:copperblock", {
@ -344,6 +373,7 @@ minetest.register_node("maptools:copperblock", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:bronzeblock", {
@ -354,6 +384,7 @@ minetest.register_node("maptools:bronzeblock", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:diamondblock", {
@ -364,6 +395,7 @@ minetest.register_node("maptools:diamondblock", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
-- Farming:
@ -376,6 +408,7 @@ minetest.register_node("maptools:soil_wet", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, grassland = 1},
sounds = default.node_sound_dirt_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:desert_sand_soil_wet", {
@ -386,4 +419,5 @@ minetest.register_node("maptools:desert_sand_soil_wet", {
tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"},
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, desert = 1},
sounds = default.node_sound_sand_defaults(),
on_drop = maptools.drop_msg
})

View File

@ -20,6 +20,11 @@ maptools.intllib = S
local modpath = minetest.get_modpath("maptools")
maptools.drop_msg = function(itemstack, player)
local name = player:get_player_name()
minetest.chat_send_player(name, S("[maptools] tools/nodes do not drop!"))
end
dofile(modpath .. "/config.lua")
dofile(modpath .. "/aliases.lua")
dofile(modpath .. "/craftitems.lua")

View File

@ -16,6 +16,7 @@ minetest.register_node(":default:cloud", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_defaults(),
on_drop = maptools.drop_msg
})
-- Nodes
@ -30,6 +31,7 @@ minetest.register_node("maptools:black", {
post_effect_color = {a=255, r=0, g=0, b=0},
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:white", {
@ -41,6 +43,7 @@ minetest.register_node("maptools:white", {
post_effect_color = {a=255, r=128, g=128, b=128},
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_stone_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:playerclip", {
@ -54,6 +57,7 @@ minetest.register_node("maptools:playerclip", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fake_walkable", {
@ -74,6 +78,7 @@ minetest.register_node("maptools:fake_walkable", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fullclip", {
@ -86,6 +91,7 @@ minetest.register_node("maptools:fullclip", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fake_walkable_pointable", {
@ -105,6 +111,7 @@ minetest.register_node("maptools:fake_walkable_pointable", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:ignore_like", {
@ -117,6 +124,7 @@ minetest.register_node("maptools:ignore_like", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:ignore_like_no_clip", {
@ -130,6 +138,7 @@ minetest.register_node("maptools:ignore_like_no_clip", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
@ -144,6 +153,7 @@ minetest.register_node("maptools:ignore_like_no_point", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:ignore_like_no_clip_no_point", {
@ -158,6 +168,7 @@ minetest.register_node("maptools:ignore_like_no_clip_no_point", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fullclip_face", {
@ -176,6 +187,7 @@ minetest.register_node("maptools:fullclip_face", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:playerclip_bottom", {
@ -194,6 +206,7 @@ minetest.register_node("maptools:playerclip_bottom", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:playerclip_top", {
@ -212,6 +225,7 @@ minetest.register_node("maptools:playerclip_top", {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
on_drop = maptools.drop_msg
})
for pusher_num=1,10,1 do
@ -231,6 +245,7 @@ minetest.register_node("maptools:pusher_" .. pusher_num, {
},
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100, bouncy=pusher_num*100},
on_drop = maptools.drop_msg
})
end
@ -247,6 +262,7 @@ minetest.register_node("maptools:lightbulb", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:nobuild", {
@ -261,6 +277,7 @@ minetest.register_node("maptools:nobuild", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:nointeract", {
@ -274,6 +291,7 @@ minetest.register_node("maptools:nointeract", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:climb", {
@ -289,6 +307,7 @@ minetest.register_node("maptools:climb", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
for damage_num=1,5,1 do
@ -305,6 +324,7 @@ minetest.register_node("maptools:damage_" .. damage_num, {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
end
@ -321,6 +341,7 @@ minetest.register_node("maptools:kill", {
sunlight_propagates = true,
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:smoke", {
@ -334,6 +355,7 @@ minetest.register_node("maptools:smoke", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
post_effect_color = {a=192, r=96, g=96, b=96},
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:ladder", {
@ -354,6 +376,7 @@ minetest.register_node("maptools:ladder", {
drop = "",
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sounds = default.node_sound_wood_defaults(),
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:permanent_fire", {
@ -373,6 +396,7 @@ minetest.register_node("maptools:permanent_fire", {
sunlight_propagates = true,
walkable = false,
damage_per_second = 4,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:fake_fire", {
@ -391,6 +415,7 @@ minetest.register_node("maptools:fake_fire", {
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
sunlight_propagates = true,
walkable = false,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:igniter", {
@ -406,6 +431,7 @@ minetest.register_node("maptools:igniter", {
sunlight_propagates = true,
pointable = false,
walkable = false,
on_drop = maptools.drop_msg
})
minetest.register_node("maptools:superapple", {
@ -426,4 +452,5 @@ minetest.register_node("maptools:superapple", {
groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory = maptools.creative},
on_use = minetest.item_eat(20),
sounds = default.node_sound_defaults(),
on_drop = maptools.drop_msg
})

View File

@ -28,6 +28,7 @@ minetest.register_tool("maptools:pick_admin", {
},
damage_groups = {fleshy = 1000},
},
on_drop = maptools.drop_msg
})
minetest.register_tool("maptools:pick_admin_with_drops", {
@ -49,6 +50,7 @@ minetest.register_tool("maptools:pick_admin_with_drops", {
},
damage_groups = {fleshy = 1000},
},
on_drop = maptools.drop_msg
})
minetest.register_on_punchnode(function(pos, node, puncher)
@ -56,6 +58,6 @@ minetest.register_on_punchnode(function(pos, node, puncher)
and minetest.get_node(pos).name ~= "air" then
minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.")
minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes.
nodeupdate(pos) -- Run node update actions like falling nodes.
minetest.check_for_falling(pos) -- Run node update actions like falling nodes.
end
end)

View File

@ -30,7 +30,7 @@ minetest.register_node("mesecons:mesecon_on", {
},
groups = {dig_immediate=3, not_in_creaive_inventory=1, mesecon=1},
drop = "mesecons:mesecon_off 1",
light_source = default.LIGHT_MAX-11,
light_source = minetest.LIGHT_MAX-11,
mesecons = {conductor={
state = mesecon.state.on,
offstate = "mesecons:mesecon_off"

View File

@ -73,7 +73,7 @@ minetest.register_node("mesecons_button:button_on", {
legacy_wallmounted = true,
walkable = false,
on_rotate = false,
light_source = default.LIGHT_MAX-7,
light_source = minetest.LIGHT_MAX-7,
sunlight_propagates = true,
selection_box = {
type = "fixed",

View File

@ -158,6 +158,7 @@ minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), {
end,
delayer_time = delaytime,
delayer_offstate = "mesecons_delayer:delayer_off_"..tostring(i),
sounds = default.node_sound_stone_defaults(),
mesecons = {
receptor =
{

View File

@ -42,6 +42,7 @@ minetest.register_node("mesecons_extrawires:corner_on", {
node_box = corner_nodebox,
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons_extrawires:corner_off",
sounds = default.node_sound_defaults(),
mesecons = {conductor =
{
state = mesecon.state.on,
@ -71,6 +72,7 @@ minetest.register_node("mesecons_extrawires:corner_off", {
selection_box = corner_selectionbox,
node_box = corner_nodebox,
groups = {dig_immediate = 3},
sounds = default.node_sound_defaults(),
mesecons = {conductor =
{
state = mesecon.state.off,

View File

@ -34,6 +34,7 @@ minetest.register_node("mesecons_extrawires:crossover_off", {
stack_max = 99,
selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}},
groups = {dig_immediate=3, mesecon=3},
sounds = default.node_sound_defaults(),
mesecons = {
conductor = {
states = crossover_states,
@ -60,6 +61,7 @@ minetest.register_node("mesecons_extrawires:crossover_01", {
stack_max = 99,
selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}},
groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1},
sounds = default.node_sound_defaults(),
mesecons = {
conductor = {
states = crossover_states,
@ -86,6 +88,7 @@ minetest.register_node("mesecons_extrawires:crossover_10", {
stack_max = 99,
selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}},
groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1},
sounds = default.node_sound_defaults(),
mesecons = {
conductor = {
states = crossover_states,
@ -112,6 +115,7 @@ minetest.register_node("mesecons_extrawires:crossover_on", {
stack_max = 99,
selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}},
groups = {dig_immediate=3, mesecon=3, not_in_creative_inventory=1},
sounds = default.node_sound_defaults(),
mesecons = {
conductor = {
states = crossover_states,

View File

@ -43,6 +43,7 @@ minetest.register_node("mesecons_extrawires:tjunction_on", {
node_box = tjunction_nodebox,
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons_extrawires:tjunction_off",
sounds = default.node_sound_defaults(),
mesecons = {conductor =
{
state = mesecon.state.on,
@ -72,6 +73,7 @@ minetest.register_node("mesecons_extrawires:tjunction_off", {
selection_box = tjunction_selectionbox,
node_box = tjunction_nodebox,
groups = {dig_immediate = 3},
sounds = default.node_sound_defaults(),
mesecons = {conductor =
{
state = mesecon.state.off,

View File

@ -88,7 +88,8 @@ mesecon.register_node("mesecons_extrawires:vertical", {
is_vertical_conductor = true,
drop = "mesecons_extrawires:vertical_off",
after_place_node = vertical_update,
after_dig_node = vertical_update
after_dig_node = vertical_update,
sounds = default.node_sound_defaults(),
},{
tiles = {"mesecons_wire_off.png"},
groups = {dig_immediate=3},
@ -121,7 +122,8 @@ mesecon.register_node("mesecons_extrawires:vertical_top", {
is_vertical_conductor = true,
drop = "mesecons_extrawires:vertical_off",
after_place_node = vertical_update,
after_dig_node = vertical_update
after_dig_node = vertical_update,
sounds = default.node_sound_defaults(),
},{
tiles = {"mesecons_wire_off.png"},
mesecons = {conductor = {
@ -152,7 +154,8 @@ mesecon.register_node("mesecons_extrawires:vertical_bottom", {
is_vertical_conductor = true,
drop = "mesecons_extrawires:vertical_off",
after_place_node = vertical_update,
after_dig_node = vertical_update
after_dig_node = vertical_update,
sounds = default.node_sound_defaults(),
},{
tiles = {"mesecons_wire_off.png"},
mesecons = {conductor = {

View File

@ -22,7 +22,7 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_off", {
type = "fixed",
fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 },
},
sounds = default.node_sound_stone_defaults(),
sounds = default.node_sound_metal_defaults(),
mesecons = {receptor = {
state = mesecon.state.off
}},
@ -51,7 +51,7 @@ minetest.register_node("mesecons_hydroturbine:hydro_turbine_on", {
type = "fixed",
fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 },
},
sounds = default.node_sound_stone_defaults(),
sounds = default.node_sound_metal_defaults(),
mesecons = {receptor = {
state = mesecon.state.on
}},

View File

@ -35,6 +35,7 @@ minetest.register_node("mesecons_insulated:insulated_on", {
},
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons_insulated:insulated_off",
sounds = default.node_sound_defaults(),
mesecons = {conductor = {
state = mesecon.state.on,
offstate = "mesecons_insulated:insulated_off",
@ -69,6 +70,7 @@ minetest.register_node("mesecons_insulated:insulated_off", {
fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }
},
groups = {dig_immediate = 3},
sounds = default.node_sound_defaults(),
mesecons = {conductor = {
state = mesecon.state.off,
onstate = "mesecons_insulated:insulated_on",

View File

@ -198,7 +198,11 @@ end
-------------------------
local function safe_print(param)
local string_meta = getmetatable("")
local sandbox = string_meta.__index
string_meta.__index = string -- Leave string sandbox temporarily
print(dump(param))
string_meta.__index = sandbox -- Restore string sandbox
end
local function safe_date()
@ -718,7 +722,7 @@ local function on_receive_fields(pos, form_name, fields, sender)
local ok, err = set_program(pos, fields.code)
if not ok then
-- it's not an error from the server perspective
minetest.log("action", "Lua controller programming error: " .. err)
minetest.log("action", "Lua controller programming error: " .. tostring(err))
end
end

View File

@ -103,6 +103,12 @@ minetest.register_node(nodename, {
meta:set_string("eeprom", r)
end,
on_receive_fields = function(pos, formanme, fields, sender)
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) and
not minetest.check_player_privs(player_name, {protection_bypass=true}) then
minetest.record_protection_violation(pos, player_name)
return
end
local meta = minetest.get_meta(pos)
if fields.band then
fields.code = "sbi(C, A&B) :A and B are inputs, C is output"
@ -272,7 +278,7 @@ yc.parsecode = function(code, pos)
end
yc.parse_get_command = function(code, starti)
i = starti
local i = starti
local s
while s ~= "" do
s = string.sub(code, i, i)
@ -298,7 +304,7 @@ yc.parse_get_command = function(code, starti)
end
yc.parse_get_params = function(code, starti)
i = starti
local i = starti
local s
local params = {}
local is_string = false
@ -321,7 +327,7 @@ yc.parse_get_params = function(code, starti)
end
yc.parse_get_eeprom_param = function(cond, starti)
i = starti
local i = starti
local s
local addr
while s ~= "" do
@ -488,7 +494,7 @@ end
--Condition parsing
yc.command_if_getcondition = function(code, starti)
i = starti
local i = starti
local s
local brackets = 1 --1 Bracket to close
while s ~= "" do

View File

@ -60,14 +60,16 @@ function mesecon.register_movestone(name, def, is_sticky, is_vertical)
minetest.get_node_timer(frontpos):start(timer_interval)
-- ### Step 3: If sticky, pull stack behind ###
if not is_sticky then
return
end
local backpos = vector.subtract(pos, direction)
success, stack, oldstack = mesecon.mvps_pull_all(backpos, direction, max_pull)
if success then
mesecon.mvps_move_objects(backpos, vector.multiply(direction, -1), oldstack, -1)
if is_sticky then
local backpos = vector.subtract(pos, direction)
success, stack, oldstack = mesecon.mvps_pull_all(backpos, direction, max_pull)
if success then
mesecon.mvps_move_objects(backpos, vector.multiply(direction, -1), oldstack, -1)
end
end
-- ### Step 4: Let things fall ###
minetest.check_for_falling(vector.add(pos, {x=0, y=1, z=0}))
end
def.is_ground_content = false

View File

@ -326,6 +326,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_normal", {
node_box = piston_pusher_box,
on_rotate = piston_rotate_pusher,
drop = "",
sounds = default.node_sound_wood_defaults(),
})
-- Sticky ones
@ -403,6 +404,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_sticky", {
node_box = piston_pusher_box,
on_rotate = piston_rotate_pusher,
drop = "",
sounds = default.node_sound_wood_defaults(),
})

View File

@ -10,7 +10,7 @@ minetest.register_node("mesecons_powerplant:power_plant", {
is_ground_content = false,
walkable = false,
groups = {dig_immediate=3, mesecon = 2},
light_source = default.LIGHT_MAX-9,
light_source = minetest.LIGHT_MAX-9,
description="Power Plant",
selection_box = {
type = "fixed",

View File

@ -42,8 +42,18 @@ end
-- tiles_on: textures of the pressure plate when active
-- image: inventory and wield image of the pressure plate
-- recipe: crafting recipe of the pressure plate
-- groups: groups
-- sounds: sound table
function mesecon.register_pressure_plate(basename, description, textures_off, textures_on, image_w, image_i, recipe, groups, sounds)
local groups_off, groups_on
if not groups then
groups = {}
end
local groups_off = table.copy(groups)
local groups_on = table.copy(groups)
groups_on.not_in_creative_inventory = 1
function mesecon.register_pressure_plate(basename, description, textures_off, textures_on, image_w, image_i, recipe)
mesecon.register_node(basename, {
drawtype = "nodebox",
inventory_image = image_i,
@ -56,17 +66,18 @@ function mesecon.register_pressure_plate(basename, description, textures_off, te
on_construct = function(pos)
minetest.get_node_timer(pos):start(mesecon.setting("pplate_interval", 0.1))
end,
sounds = sounds,
},{
mesecons = {receptor = { state = mesecon.state.off, rules = mesecon.rules.pplate }},
node_box = pp_box_off,
selection_box = pp_box_off,
groups = {snappy = 2, oddly_breakable_by_hand = 3},
groups = groups_off,
tiles = textures_off
},{
mesecons = {receptor = { state = mesecon.state.on, rules = mesecon.rules.pplate }},
node_box = pp_box_on,
selection_box = pp_box_on,
groups = {snappy = 2, oddly_breakable_by_hand = 3, not_in_creative_inventory = 1},
groups = groups_on,
tiles = textures_on
})
@ -83,7 +94,9 @@ mesecon.register_pressure_plate(
{"jeija_pressure_plate_wood_on.png","jeija_pressure_plate_wood_on.png","jeija_pressure_plate_wood_on_edges.png"},
"jeija_pressure_plate_wood_wield.png",
"jeija_pressure_plate_wood_inv.png",
{{"group:wood", "group:wood"}})
{{"group:wood", "group:wood"}},
{ choppy = 3, oddly_breakable_by_hand = 3 },
default.node_sound_wood_defaults())
mesecon.register_pressure_plate(
"mesecons_pressureplates:pressure_plate_stone",
@ -92,4 +105,6 @@ mesecon.register_pressure_plate(
{"jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on.png","jeija_pressure_plate_stone_on_edges.png"},
"jeija_pressure_plate_stone_wield.png",
"jeija_pressure_plate_stone_inv.png",
{{"default:cobble", "default:cobble"}})
{{"default:cobble", "default:cobble"}},
{ cracky = 3, oddly_breakable_by_hand = 3 },
default.node_sound_stone_defaults())

View File

@ -56,6 +56,7 @@ mesecon.register_node("mesecons_receiver:receiver", {
},
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons:wire_00000000_off",
sounds = default.node_sound_defaults(),
}, {
tiles = {
"receiver_top_off.png",
@ -104,6 +105,7 @@ mesecon.register_node("mesecons_receiver:receiver_up", {
},
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons:wire_00000000_off",
sounds = default.node_sound_defaults(),
}, {
tiles = {"mesecons_wire_off.png"},
mesecons = {conductor = {
@ -148,6 +150,7 @@ mesecon.register_node("mesecons_receiver:receiver_down", {
},
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons:wire_00000000_off",
sounds = default.node_sound_defaults(),
}, {
tiles = {"mesecons_wire_off.png"},
mesecons = {conductor = {
@ -206,7 +209,6 @@ function mesecon.receiver_place(rcpt_pos)
local param2 = minetest.dir_to_facedir(minetest.facedir_to_dir(node.param2))
if string.find(nn.name, "mesecons:wire_") ~= nil then
minetest.dig_node(pos)
minetest.set_node(pos, {name = rcvtype, param2 = param2})
mesecon.on_placenode(pos, nn)
end
@ -215,8 +217,7 @@ end
function mesecon.receiver_remove(rcpt_pos, dugnode)
local pos = mesecon.receiver_get_pos_from_rcpt(rcpt_pos, dugnode.param2)
local nn = minetest.get_node(pos)
if string.find(nn.name, "mesecons_receiver:receiver_") ~=nil then
minetest.dig_node(pos)
if string.find(nn.name, "mesecons_receiver:receiver_") ~= nil then
local node = {name = "mesecons:wire_00000000_off"}
minetest.set_node(pos, node)
mesecon.on_placenode(pos, node)

View File

@ -60,6 +60,7 @@ minetest.register_node("mesecons_torch:mesecon_torch_off", {
selection_box = torch_selectionbox,
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
drop = "mesecons_torch:mesecon_torch_on",
sounds = default.node_sound_defaults(),
mesecons = {receptor = {
state = mesecon.state.off,
rules = torch_get_output_rules
@ -79,8 +80,9 @@ minetest.register_node("mesecons_torch:mesecon_torch_on", {
paramtype2 = "wallmounted",
selection_box = torch_selectionbox,
groups = {dig_immediate=3},
light_source = default.LIGHT_MAX-5,
light_source = minetest.LIGHT_MAX-5,
description="Mesecon Torch",
sounds = default.node_sound_defaults(),
mesecons = {receptor = {
state = mesecon.state.on,
rules = torch_get_output_rules

View File

@ -215,6 +215,7 @@ local function register_wires()
walkable = false,
drop = "mesecons:wire_00000000_off",
mesecon_wire = true,
sounds = default.node_sound_defaults(),
on_rotate = false,
}, {tiles = tiles_off, mesecons = meseconspec_off, groups = groups_off},
{tiles = tiles_on, mesecons = meseconspec_on, groups = groups_on})

View File

@ -25,6 +25,11 @@ minetest.register_craft({
}
})
minetest.clear_craft({
recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"}
}
})
minetest.register_craft({
output = "default:paper 4",
recipe = {

View File

@ -71,6 +71,8 @@ for _, name in pairs(default_nodes) do
mod = "moreblocks"
stairsplus:register_all(mod, name, nodename, ndef)
minetest.register_alias_force("stairs:stair_" .. name, mod .. ":stair_" .. name)
minetest.register_alias_force("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer")
minetest.register_alias_force("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner")
minetest.register_alias_force("stairs:slab_" .. name, mod .. ":slab_" .. name)
end
@ -86,6 +88,8 @@ if minetest.get_modpath("farming") then
mod = "moreblocks"
stairsplus:register_all(mod, name, nodename, ndef)
minetest.register_alias_force("stairs:stair_" .. name, mod .. ":stair_" .. name)
minetest.register_alias_force("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer")
minetest.register_alias_force("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner")
minetest.register_alias_force("stairs:slab_" .. name, mod .. ":slab_" .. name)
end
end

View File

@ -157,3 +157,134 @@ function pipeworks.load_position(pos)
local vm = minetest.get_voxel_manip()
vm:read_from_map(pos, pos)
end
local function delay(...)
local args = {...}
return (function() return unpack(args) end)
end
local function get_set_wrap(name, is_dynamic)
return (function(self)
return self["_" .. name]
end), (function(self, value)
if is_dynamic then
self["_" .. name] = type(value) == "table"
and table.copy(value) or value
end
end)
end
function pipeworks.create_fake_player(def, is_dynamic)
local wielded_item = ItemStack("")
if def.inventory and def.wield_list then
wielded_item = def.inventory:get_stack(def.wield_list, def.wield_index or 1)
end
local p = {
get_player_name = delay(def.name),
is_player = delay(true),
is_fake_player = true,
_formspec = def.formspec or default.gui_survival_form,
_hp = def.hp or 20,
_breath = 11,
_pos = def.position and table.copy(def.position) or vector.new(),
_properties = def.properties or { eye_height = def.eye_height or 1.47 },
_inventory = def.inventory,
_wield_index = def.wield_index or 1,
_wielded_item = wielded_item,
-- Model and view
_eye_offset1 = vector.new(),
_eye_offset3 = vector.new(),
set_eye_offset = function(self, first, third)
self._eye_offset1 = table.copy(first)
self._eye_offset3 = table.copy(third)
end,
get_eye_offset = function(self)
return self._eye_offset1, self._eye_offset3
end,
get_look_dir = delay(def.look_dir or {x=0, y=0, z=1}),
get_look_pitch = delay(def.look_pitch or 0),
get_look_yaw = delay(def.look_yaw or 0),
get_look_horizontal = delay(def.look_yaw or 0),
get_look_vertical = delay(-(def.look_pitch or 0)),
set_animation = delay(),
-- Controls
get_player_control = delay({
jump=false, right=false, left=false, LMB=false, RMB=false,
sneak=def.sneak, aux1=false, down=false, up=false
}),
get_player_control_bits = delay(def.sneak and 64 or 0),
-- Inventory and ItemStacks
get_inventory = delay(def.inventory),
set_wielded_item = function(self, item)
if self._inventory and def.wield_list then
return self._inventory:set_stack(def.wield_list,
self._wield_index, item)
end
_wielded_item = ItemStack(item)
end,
get_wielded_item = function(self, item)
if self._inventory and def.wield_list then
return self._inventory:get_stack(def.wield_list,
self._wield_index)
end
return ItemStack(self._wielded_item)
end,
get_wield_list = delay(def.wield_list),
punch = delay(),
remove = delay(),
right_click = delay(),
set_attach = delay(),
set_detach = delay(),
set_bone_position = delay(),
hud_change = delay(),
}
local _trash
-- Getter & setter functions
p.get_inventory_formspec, p.set_inventory_formspec
= get_set_wrap("formspec", is_dynamic)
p.get_breath, p.set_breath = get_set_wrap("breath", is_dynamic)
p.get_hp, p.set_hp = get_set_wrap("hp", is_dynamic)
p.get_pos, p.set_pos = get_set_wrap("pos", is_dynamic)
_trash, p.move_to = get_set_wrap("pos", is_dynamic)
p.get_wield_index, p.set_wield_index = get_set_wrap("wield_index", true)
p.get_properties, p.set_properties = get_set_wrap("properties", false)
-- Backwards compatibilty
p.getpos = p.get_pos
p.setpos = p.set_pos
p.moveto = p.move_to
-- TODO "implement" all these
-- set_armor_groups
-- get_armor_groups
-- get_animation
-- get_bone_position
-- get_player_velocity
-- set_look_pitch
-- set_look_yaw
-- set_physics_override
-- get_physics_override
-- hud_add
-- hud_remove
-- hud_get
-- hud_set_flags
-- hud_get_flags
-- hud_set_hotbar_itemcount
-- hud_get_hotbar_itemcount
-- hud_set_hotbar_image
-- hud_get_hotbar_image
-- hud_set_hotbar_selected_image
-- hud_get_hotbar_selected_image
-- hud_replace_builtin
-- set_sky
-- get_sky
-- override_day_night_ratio
-- get_day_night_ratio
-- set_local_animation
return p
end

View File

@ -167,11 +167,9 @@ local function punch_filter(data, filtpos, filtnode, msg)
local filtmeta = minetest.get_meta(filtpos)
local filtinv = filtmeta:get_inventory()
local owner = filtmeta:get_string("owner")
local fakePlayer = {
get_player_name = delay(owner),
is_fake_player = ":pipeworks",
get_wielded_item = delay(ItemStack(nil))
} -- TODO: use a mechanism as the wielder one
local fakePlayer = pipeworks.create_fake_player({
name = owner
})
local dir = pipeworks.facedir_to_right_dir(filtnode.param2)
local frompos = vector.subtract(filtpos, dir)
local fromnode = minetest.get_node(frompos)

View File

@ -13,7 +13,7 @@ function pipeworks.tube_inject_item(pos, start_pos, velocity, item, owner)
local obj = luaentity.add_entity(pos, "pipeworks:tubed_item")
obj:set_item(stack:to_string())
obj.start_pos = vector.new(start_pos)
obj:setvelocity(velocity)
obj:set_velocity(velocity)
obj.owner = owner
--obj:set_color("red") -- todo: this is test-only code
return obj
@ -207,7 +207,7 @@ minetest.register_entity("pipeworks:tubed_item", {
textures = {stack:get_name()}
})
local def = stack:get_definition()
self.object:setyaw((def and def.type == "node") and 0 or math.pi * 0.25)
self.object:set_yaw((def and def.type == "node") and 0 or math.pi * 0.25)
end,
get_staticdata = luaentity.get_staticdata,
@ -220,7 +220,7 @@ minetest.register_entity("pipeworks:tubed_item", {
return
end
local item = minetest.deserialize(staticdata)
pipeworks.tube_inject_item(self.object:getpos(), item.start_pos, item.velocity, item.itemstring)
pipeworks.tube_inject_item(self.object:get_pos(), item.start_pos, item.velocity, item.itemstring)
self.object:remove()
end,
})
@ -293,15 +293,15 @@ luaentity.register_entity("pipeworks:tubed_item", {
end,
on_step = function(self, dtime)
local pos = self:getpos()
local pos = self:get_pos()
if self.start_pos == nil then
self.start_pos = vector.round(pos)
self:setpos(pos)
self:set_pos(pos)
end
local stack = ItemStack(self.itemstring)
local velocity = self:getvelocity()
local velocity = self:get_velocity()
local moved = false
local speed = math.abs(velocity.x + velocity.y + velocity.z)
@ -331,8 +331,8 @@ luaentity.register_entity("pipeworks:tubed_item", {
return
end
velocity = vector.multiply(velocity, -1)
self:setpos(vector.subtract(self.start_pos, vector.multiply(vel, moved_by - 1)))
self:setvelocity(velocity)
self:set_pos(vector.subtract(self.start_pos, vector.multiply(vel, moved_by - 1)))
self:set_velocity(velocity)
self:set_item(leftover:to_string())
return
end
@ -350,13 +350,13 @@ luaentity.register_entity("pipeworks:tubed_item", {
-- compatible with Minetest 0.4.13.
-- Using item_drop here makes Minetest 0.4.13 crash.
local dropped_item = minetest.add_item(self.start_pos, stack)
dropped_item:setvelocity(vector.multiply(velocity, 5))
dropped_item:set_velocity(vector.multiply(velocity, 5))
self:remove()
return
else
velocity = vector.multiply(velocity, -1)
self:setpos(vector.subtract(self.start_pos, vector.multiply(vel, moved_by - 1)))
self:setvelocity(velocity)
self:set_pos(vector.subtract(self.start_pos, vector.multiply(vel, moved_by - 1)))
self:set_velocity(velocity)
end
elseif is_multimode(multimode) then
-- create new stacks according to returned data.
@ -371,8 +371,8 @@ luaentity.register_entity("pipeworks:tubed_item", {
if new_velocity and not vector.equals(velocity, new_velocity) then
local nvelr = math.abs(new_velocity.x + new_velocity.y + new_velocity.z)
self:setpos(vector.add(self.start_pos, vector.multiply(new_velocity, (moved_by - 1) / nvelr)))
self:setvelocity(new_velocity)
self:set_pos(vector.add(self.start_pos, vector.multiply(new_velocity, (moved_by - 1) / nvelr)))
self:set_velocity(new_velocity)
end
end
end
@ -388,11 +388,11 @@ if minetest.get_modpath("mesecons_mvps") then
end
for id, entity in pairs(luaentity.entities) do
if entity.name == "pipeworks:tubed_item" then
local pos = entity:getpos()
local pos = entity:get_pos()
local rpos = vector.round(pos)
local dir = moved[minetest.hash_node_position(rpos)]
if dir then
entity:setpos(vector.add(pos, dir))
entity:set_pos(vector.add(pos, dir))
entity.start_pos = vector.add(entity.start_pos, dir)
end
end

View File

@ -36,7 +36,7 @@ if not minetest.get_modpath("auto_tree_tap") and
end,
after_place_node = function (pos, placer)
pipeworks.scan_for_tube_objects(pos, placer)
local placer_pos = placer:getpos()
local placer_pos = placer:get_pos()
--correct for the player's height
if placer:is_player() then placer_pos.y = placer_pos.y + 1.5 end

View File

@ -74,7 +74,7 @@ local move_entities_globalstep_part1 = function(dtime)
local active_block_range = tonumber(minetest.settings:get("active_block_range")) or 2
local new_active_blocks = {}
for _, player in ipairs(minetest.get_connected_players()) do
local blockpos = get_blockpos(player:getpos())
local blockpos = get_blockpos(player:get_pos())
local minp = vector.subtract(blockpos, active_block_range)
local maxp = vector.add(blockpos, active_block_range)
@ -114,9 +114,9 @@ local entitydef_default = {
if not def.entity then
return
end
def.entity:setpos(vector.add(self._pos, def.offset))
def.entity:setvelocity(self._velocity)
def.entity:setacceleration(self._acceleration)
def.entity:set_pos(vector.add(self._pos, def.offset))
def.entity:set_velocity(self._velocity)
def.entity:set_acceleration(self._acceleration)
end,
_attach_all = function(self)
local master = self._attached_entities_master
@ -186,43 +186,43 @@ local entitydef_default = {
self:_add_attached(id)
end
end,
getid = function(self)
get_id = function(self)
return self._id
end,
getpos = function(self)
get_pos = function(self)
return vector.new(self._pos)
end,
setpos = function(self, pos)
set_pos = function(self, pos)
self._pos = vector.new(pos)
--for _, entity in pairs(self._attached_entities) do
-- if entity.entity then
-- entity.entity:setpos(vector.add(self._pos, entity.offset))
-- entity.entity:set_pos(vector.add(self._pos, entity.offset))
-- end
--end
local master = self._attached_entities_master
if master then
local master_def = self._attached_entities[master]
master_def.entity:setpos(vector.add(self._pos, master_def.offset))
master_def.entity:set_pos(vector.add(self._pos, master_def.offset))
end
end,
getvelocity = function(self)
get_velocity = function(self)
return vector.new(self._velocity)
end,
setvelocity = function(self, velocity)
set_velocity = function(self, velocity)
self._velocity = vector.new(velocity)
local master = self._attached_entities_master
if master then
self._attached_entities[master].entity:setvelocity(self._velocity)
self._attached_entities[master].entity:set_velocity(self._velocity)
end
end,
getacceleration = function(self)
get_acceleration = function(self)
return vector.new(self._acceleration)
end,
setacceleration = function(self, acceleration)
set_acceleration = function(self, acceleration)
self._acceleration = vector.new(acceleration)
local master = self._attached_entities_master
if master then
self._attached_entities[master].entity:setacceleration(self._acceleration)
self._attached_entities[master].entity:set_acceleration(self._acceleration)
end
end,
remove = function(self)
@ -314,7 +314,7 @@ function luaentity.get_objects_inside_radius(pos, radius)
local objects = {}
local index = 1
for id, entity in pairs(luaentity.entities) do
if vector.distance(pos, entity:getpos()) <= radius then
if vector.distance(pos, entity:get_pos()) <= radius then
objects[index] = entity
index = index + 1
end
@ -329,11 +329,11 @@ local move_entities_globalstep_part2 = function(dtime)
local master = entity._attached_entities_master
local master_def = master and entity._attached_entities[master]
local master_entity = master_def and master_def.entity
local master_entity_pos = master_entity and master_entity:getpos()
local master_entity_pos = master_entity and master_entity:get_pos()
if master_entity_pos then
entity._pos = vector.subtract(master_entity_pos, master_def.offset)
entity._velocity = master_entity:getvelocity()
entity._acceleration = master_entity:getacceleration()
entity._velocity = master_entity:get_velocity()
entity._acceleration = master_entity:get_acceleration()
else
entity._pos = vector.add(vector.add(
entity._pos,

View File

@ -87,7 +87,7 @@ local function vacuum(pos, radius)
for _, object in pairs(minetest.get_objects_inside_radius(pos, math.sqrt(3) * radius)) do
local lua_entity = object:get_luaentity()
if not object:is_player() and lua_entity and lua_entity.name == "__builtin:item" then
local obj_pos = object:getpos()
local obj_pos = object:get_pos()
local minpos = vector.subtract(pos, radius)
local maxpos = vector.add(pos, radius)
if obj_pos.x >= minpos.x and obj_pos.x <= maxpos.x

View File

@ -53,11 +53,10 @@ local function wielder_on(data, wielder_pos, wielder_node)
local wielder_meta = minetest.get_meta(wielder_pos)
local inv = wielder_meta:get_inventory()
local wield_inv_name = data.wield_inv_name
local wieldindex, wieldstack
local wieldindex
for i, stack in ipairs(inv:get_list(wield_inv_name)) do
if not stack:is_empty() then
wieldindex = i
wieldstack = stack
break
end
end
@ -66,7 +65,6 @@ local function wielder_on(data, wielder_pos, wielder_node)
wield_inv_name = data.ghost_inv_name
inv:set_stack(wield_inv_name, 1, ItemStack(data.ghost_tool))
wieldindex = 1
wieldstack = inv:get_stack(wield_inv_name, 1)
end
local dir = minetest.facedir_to_dir(wielder_node.param2)
-- under/above is currently intentionally left switched
@ -98,73 +96,20 @@ local function wielder_on(data, wielder_pos, wielder_node)
yaw = 0
pitch = math.pi/2
end
local virtplayer = {
get_inventory_formspec = delay(wielder_meta:get_string("formspec")),
get_look_dir = delay(vector.multiply(dir, -1)),
get_look_pitch = delay(pitch),
get_look_yaw = delay(yaw),
get_look_horizontal = delay(yaw),
get_look_vertical = delay(pitch),
get_player_control = delay({ jump=false, right=false, left=false, LMB=false, RMB=false, sneak=data.sneak, aux1=false, down=false, up=false }),
get_player_control_bits = delay(data.sneak and 64 or 0),
get_player_name = delay(data.masquerade_as_owner and wielder_meta:get_string("owner") or ":pipeworks:"..minetest.pos_to_string(wielder_pos)),
is_player = delay(true),
is_fake_player = true,
set_inventory_formspec = delay(),
getpos = delay(vector.subtract(wielder_pos, assumed_eye_pos)),
get_hp = delay(20),
get_inventory = delay(inv),
get_wielded_item = delay(wieldstack),
get_wield_index = delay(wieldindex),
get_wield_list = delay(wield_inv_name),
moveto = delay(),
punch = delay(),
remove = delay(),
right_click = delay(),
setpos = delay(),
set_hp = delay(),
set_properties = delay(),
set_wielded_item = function(self, item)
wieldstack = item
inv:set_stack(wield_inv_name, wieldindex, item)
end,
set_animation = delay(),
set_attach = delay(),
set_detach = delay(),
set_bone_position = delay(),
hud_change = delay(),
get_breath = delay(11),
-- TODO "implement" all these
-- set_armor_groups
-- get_armor_groups
-- get_animation
-- get_attach
-- get_bone_position
-- get_properties
-- get_player_velocity
-- set_look_pitch
-- set_look_yaw
-- set_breath
-- set_physics_override
-- get_physics_override
-- hud_add
-- hud_remove
-- hud_get
-- hud_set_flags
-- hud_get_flags
-- hud_set_hotbar_itemcount
-- hud_get_hotbar_itemcount
-- hud_set_hotbar_image
-- hud_get_hotbar_image
-- hud_set_hotbar_selected_image
-- hud_get_hotbar_selected_image
-- hud_replace_builtin
-- set_sky
-- get_sky
-- override_day_night_ratio
-- get_day_night_ratio
-- set_local_animation
}
local virtplayer = pipeworks.create_fake_player({
name = data.masquerade_as_owner and wielder_meta:get_string("owner")
or ":pipeworks:" .. minetest.pos_to_string(wielder_pos),
formspec = wielder_meta:get_string("formspec"),
look_dir = vector.multiply(dir, -1),
look_pitch = pitch,
look_yaw = yaw,
sneak = data.sneak,
position = vector.subtract(wielder_pos, assumed_eye_pos),
inventory = inv,
wield_index = wieldindex,
wield_list = wield_inv_name
})
local pointed_thing = { type="node", under=under_pos, above=above_pos }
data.act(virtplayer, pointed_thing)
if data.eject_drops then
@ -258,7 +203,7 @@ local function register_wielder(data)
end,
after_place_node = function (pos, placer)
pipeworks.scan_for_tube_objects(pos)
local placer_pos = placer:getpos()
local placer_pos = placer:get_pos()
if placer_pos and placer:is_player() then placer_pos = vector.add(placer_pos, assumed_eye_pos) end
if placer_pos then
local dir = vector.subtract(pos, placer_pos)
@ -495,7 +440,9 @@ if pipeworks.enable_dispenser then
sneak = true,
act = function(virtplayer, pointed_thing)
local wieldstack = virtplayer:get_wielded_item()
virtplayer:set_wielded_item((minetest.registered_items[wieldstack:get_name()] or {on_drop=minetest.item_drop}).on_drop(wieldstack, virtplayer, virtplayer:getpos()) or wieldstack)
virtplayer:set_wielded_item((minetest.registered_items[wieldstack:get_name()] or
{on_drop=minetest.item_drop}).on_drop(wieldstack, virtplayer, virtplayer:get_pos()) or
wieldstack)
end,
eject_drops = false,
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 679 B

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -1,4 +1,19 @@
License
=======
- Code WTFPL
- Texture CC
## MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -950,7 +950,7 @@ signs_text_on_activate = function(self)
local meta = minetest.get_meta(pos)
local text = meta:get_string("text")
local new = (meta:get_int("__signslib_new_format") ~= 0)
if text then
if text and minetest.registered_nodes[minetest.get_node(pos).name] then
text = trim_input(text)
set_obj_text(self.object, text, new, pos)
end

View File

@ -11,9 +11,12 @@ switching station handles the network activity.
Helper functions
----------------
* `technic.EU_string(num)`
* Converts num to a human-readable string (see pretty_num)
and adds the `EU` unit
* Use this function when showing players energy values
* `technic.pretty_num(num)`
* Converts the number `num` to a human-readable string.
* Use this function when showing players power values.
* Converts the number `num` to a human-readable string with SI prefixes
* `technic.swap_node(pos, nodename)`
* Same as `mintest.swap_node` but it only changes the nodename.
* It uses `minetest.get_node` before swapping to ensure the new nodename

View File

@ -1,23 +1,56 @@
local digit_sep_esc
do
local sep = technic.config:get("digit_separator")
sep = tonumber(sep) and string.char(sep) or sep or " "
-- Escape for gsub
for magic in ("().%+-*?[^$"):gmatch(".") do
if sep == magic then
sep = "%"..sep
end
local constant_digit_count = technic.config:get("constant_digit_count")
-- converts a number to a readable string with SI prefix, e.g. 10000 → "10 k",
-- 15 → "15 ", 0.1501 → "150.1 m"
-- a non-breaking space (U+a0) instead of a usual one is put after number
-- The precision is 4 digits
local prefixes = {[-8] = "y", [-7] = "z", [-6] = "a", [-5] = "f", [-4] = "p",
[-3] = "n", [-2] = "µ", [-1] = "m", [0] = "", [1] = "k", [2] = "M",
[3] = "G", [4] = "T", [5] = "P", [6] = "E", [7] = "Z", [8] = "Y"}
function technic.pretty_num(num)
-- the small number added is due to floating point inaccuracy
local b = math.floor(math.log10(math.abs(num)) +0.000001)
local pref_i
if b ~= 0 then
-- b is decremented by 1 to avoid a single digit with many decimals,
-- e.g. instead of 1.021 MEU, 1021 kEU is shown
pref_i = math.floor((b - 1) / 3)
else
-- as special case, avoid showing e.g. 1100 mEU instead of 1.1 EU
pref_i = 0
end
digit_sep_esc = sep
if not prefixes[pref_i] then
-- This happens for 0, nan, inf, very big values, etc.
if num == 0 then
-- handle 0 explicilty to avoid showing "-0"
if not constant_digit_count then
return "0 "
end
-- gives 0.000
return string.format("%.3f ", 0)
end
return string.format("%.4g ", num)
end
num = num * 10 ^ (-3 * pref_i)
if constant_digit_count then
local comma_digits_cnt = 3 - (b - 3 * pref_i)
return string.format("%." .. comma_digits_cnt .. "f %s",
num, prefixes[pref_i])
end
return string.format("%.4g %s", num, prefixes[pref_i])
end
-- some unittests
assert(technic.pretty_num(-0) == "0 ")
assert(technic.pretty_num(0) == "0 ")
assert(technic.pretty_num(1234) == "1234 ")
assert(technic.pretty_num(123456789) == "123.5 M")
function technic.pretty_num(num)
local str, k = tostring(num), nil
repeat
str, k = str:gsub("^(-?%d+)(%d%d%d)", "%1"..digit_sep_esc.."%2")
until k == 0
return str
-- used to display power values
function technic.EU_string(num)
return technic.pretty_num(num) .. "EU"
end

View File

@ -48,7 +48,7 @@ local twosize_products = {
}
local cnc_formspec =
"invsize[9,11;]"..
"size[9,11;]"..
"label[1,0;"..S("Choose Milling Program:").."]"..
"image_button[1,0.5;1,1;technic_cnc_slope.png;slope; ]"..
"image_button[2,0.5;1,1;technic_cnc_slope_edge.png;slope_edge; ]"..

View File

@ -35,7 +35,8 @@ local run = function(pos, node)
local charge_to_give = math.floor((light + pos1.y) * 3)
charge_to_give = math.max(charge_to_give, 0)
charge_to_give = math.min(charge_to_give, 200)
meta:set_string("infotext", S("@1 Active (@2 EU)", machine_name, technic.pretty_num(charge_to_give)))
meta:set_string("infotext", S("@1 Active (@2)", machine_name,
technic.EU_string(charge_to_give)))
meta:set_int("LV_EU_supply", charge_to_give)
else
meta:set_string("infotext", S("%s Idle"):format(machine_name))
@ -54,7 +55,7 @@ minetest.register_node("technic:solar_panel", {
active = false,
drawtype = "nodebox",
paramtype = "light",
is_ground_content = true,
is_ground_content = true,
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},

View File

@ -19,7 +19,7 @@ minetest.register_craft({
local workshop_demand = {5000, 3500, 2000}
local workshop_formspec =
"invsize[8,9;]"..
"size[8,9;]"..
"list[current_name;src;3,1;1,1;]"..
"label[0,0;"..S("%s Tool Workshop"):format("MV").."]"..
"list[current_name;upgrade1;1,3;1,1;]"..

View File

@ -60,7 +60,8 @@ local run = function(pos, node)
elseif check == true then
local power = math.min(pos.y * 100, 5000)
meta:set_int("MV_EU_supply", power)
meta:set_string("infotext", S("@1 (@2 EU)", machine_name, technic.pretty_num(power)))
meta:set_string("infotext", S("@1 (@2)", machine_name,
technic.EU_string(power)))
end
-- check == nil: assume nothing has changed
end

View File

@ -99,7 +99,7 @@ local function make_on(mark, length)
if node.name == "technic:constructor_mk"..mark.."_off" then
technic.swap_node(pos, "technic:constructor_mk"..mark.."_on")
nodeupdate(pos)
minetest.check_for_falling(pos)
for i = 1, length do
place_pos = vector.add(place_pos, dir)
local place_node = minetest.get_node(place_pos)
@ -113,7 +113,7 @@ local function make_off(mark)
return function(pos, node)
if node.name == "technic:constructor_mk"..mark.."_on" then
technic.swap_node(pos,"technic:constructor_mk"..mark.."_off")
nodeupdate(pos)
minetest.check_for_falling(pos)
end
end
end

View File

@ -55,7 +55,7 @@ minetest.register_craft({
local function set_injector_formspec(meta)
local is_stack = meta:get_string("mode") == "whole stacks"
meta:set_string("formspec",
"invsize[8,9;]"..
"size[8,9;]"..
"item_image[0,0;1,1;technic:injector]"..
"label[1,0;"..S("Self-Contained Injector").."]"..
(is_stack and

View File

@ -55,7 +55,7 @@ minetest.register_abm({
local demand = sw_meta:get_int("demand")
meta:set_string("infotext",
S("Power Monitor. Supply: @1 Demand: @2",
technic.pretty_num(supply), technic.pretty_num(demand)))
technic.EU_string(supply), technic.EU_string(demand)))
else
meta:set_string("infotext",S("Power Monitor Has No Network"))
end

View File

@ -255,8 +255,9 @@ function technic.register_battery_box(data)
local charge_percent = math.floor(current_charge / max_charge * 100)
meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, charge_percent))
local infotext = S("@1 Battery Box: @2/@3", tier,
technic.pretty_num(current_charge), technic.pretty_num(max_charge))
local infotext = S("@1 Battery Box: @2 / @3", tier,
technic.EU_string(current_charge),
technic.EU_string(max_charge))
if eu_input == 0 then
infotext = S("%s Idle"):format(infotext)
end

View File

@ -35,7 +35,7 @@ function technic.register_generator(data)
for k, v in pairs(groups) do active_groups[k] = v end
local generator_formspec =
"invsize[8,9;]"..
"size[8,9;]"..
"label[0,0;"..S("Fuel-Fired %s Generator"):format(tier).."]"..
"list[current_name;src;3,1;1,1;]"..
"image[4,1;1,1;default_furnace_fire_bg.png]"..

View File

@ -44,7 +44,7 @@ function technic.register_base_machine(data)
for k, v in pairs(groups) do active_groups[k] = v end
local formspec =
"invsize[8,9;]"..
"size[8,9;]"..
"list[current_name;src;"..(4-input_size)..",1;"..input_size..",1;]"..
"list[current_name;dst;5,1;2,2;]"..
"list[current_player;main;0,5;8,4;]"..

View File

@ -30,14 +30,15 @@ function technic.register_solar_array(data)
local charge_to_give = math.floor((light + pos.y) * data.power)
charge_to_give = math.max(charge_to_give, 0)
charge_to_give = math.min(charge_to_give, data.power * 50)
meta:set_string("infotext", S("@1 Active (@2 EU)", machine_name, technic.pretty_num(charge_to_give)))
meta:set_string("infotext", S("@1 Active (@2)", machine_name,
technic.EU_string(charge_to_give)))
meta:set_int(tier.."_EU_supply", charge_to_give)
else
meta:set_string("infotext", S("%s Idle"):format(machine_name))
meta:set_int(tier.."_EU_supply", 0)
end
end
minetest.register_node("technic:solar_array_"..ltier, {
tiles = {"technic_"..ltier.."_solar_array_top.png", "technic_"..ltier.."_solar_array_bottom.png",
"technic_"..ltier.."_solar_array_side.png", "technic_"..ltier.."_solar_array_side.png",

View File

@ -149,7 +149,9 @@ local run = function(pos, node, run_stage)
meta:set_int(from.."_EU_supply", 0)
meta:set_int(to.."_EU_demand", 0)
meta:set_int(to.."_EU_supply", input * remain)
meta:set_string("infotext", S("@1 (@2 @3 -> @4 @5)", machine_name, technic.pretty_num(input), from, technic.pretty_num(input * remain), to))
meta:set_string("infotext", S("@1 (@2 @3 -> @4 @5)", machine_name,
technic.EU_string(input), from,
technic.EU_string(input * remain), to))
else
meta:set_string("infotext", S("%s Has Bad Cabling"):format(machine_name))
if to then

View File

@ -361,9 +361,9 @@ minetest.register_abm({
end
--dprint("Total BA demand:"..BA_eu_demand)
meta:set_string("infotext",
S("@1. Supply: @2 Demand: @3",
machine_name, technic.pretty_num(PR_eu_supply), technic.pretty_num(RE_eu_demand)))
meta:set_string("infotext", S("@1. Supply: @2 Demand: @3",
machine_name, technic.EU_string(PR_eu_supply),
technic.EU_string(RE_eu_demand)))
-- If mesecon signal and power supply or demand changed then
-- send them via digilines.

View File

@ -28,7 +28,9 @@ technic.chests.can_dig = function(pos, player)
end
local function inv_change(pos, count, player)
if not default.can_interact_with_node(player, pos) then
-- Skip check for pipeworks (fake player)
if minetest.is_player(player) and
not default.can_interact_with_node(player, pos) then
return 0
end
return count

View File

@ -15,3 +15,11 @@ dofile(modpath.."/silver_chest.lua")
dofile(modpath.."/gold_chest.lua")
dofile(modpath.."/mithril_chest.lua")
minetest.register_lbm({
name = "technic_chests:fix_wooden_chests",
nodenames = {"default:chest"},
action = function(pos, node)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", "")
end
})

View File

@ -141,17 +141,20 @@ minetest.register_on_generated(function(minp, maxp, seed)
for y = minp.y + math.floor(grid_size / 2), maxp.y, grid_size do
for z = minp.z + math.floor(grid_size / 2), maxp.z, grid_size do
local c = data[a:index(x, y, z)]
if (c == c_lava or c == c_lava_flowing) and sulfur_noise:get3d({x = x, y = z, z = z}) >= 0.4 then
for xx = math.max(minp.x, x - grid_size), math.min(maxp.x, x + grid_size) do
for yy = math.max(minp.y, y - grid_size), math.min(maxp.y, y + grid_size) do
for zz = math.max(minp.z, z - grid_size), math.min(maxp.z, z + grid_size) do
local i = a:index(xx, yy, zz)
if (c == c_lava or c == c_lava_flowing)
and sulfur_noise:get3d({x = x, y = z, z = z}) >= 0.4 then
for i in a:iter(
math.max(minp.x, x - grid_size),
math.max(minp.y, y - grid_size),
math.max(minp.z, z - grid_size),
math.min(maxp.x, x + grid_size),
math.min(maxp.y, y + grid_size),
math.min(maxp.z, z + grid_size)
) do
if data[i] == c_stone and pr:next(1, 10) <= 7 then
data[i] = c_sulfur
end
end
end
end
end
end
end

View File

@ -1,5 +1,5 @@
local S = unified_inventory.gettext
local F = unified_inventory.fgettext
local F = minetest.formspec_escape
-- Create detached creative inventory after loading all mods
minetest.after(0.01, function()
@ -233,7 +233,7 @@ end
unified_inventory.register_craft_type("normal", {
description = F("Crafting"),
description = F(S("Crafting")),
icon = "ui_craftgrid_icon.png",
width = 3,
height = 3,
@ -249,7 +249,7 @@ unified_inventory.register_craft_type("normal", {
unified_inventory.register_craft_type("shapeless", {
description = F("Mixing"),
description = F(S("Mixing")),
icon = "ui_craftgrid_icon.png",
width = 3,
height = 3,
@ -264,7 +264,7 @@ unified_inventory.register_craft_type("shapeless", {
unified_inventory.register_craft_type("cooking", {
description = F("Cooking"),
description = F(S("Cooking")),
icon = "default_furnace_front.png",
width = 1,
height = 1,
@ -272,7 +272,7 @@ unified_inventory.register_craft_type("cooking", {
unified_inventory.register_craft_type("digging", {
description = F("Digging"),
description = F(S("Digging")),
icon = "default_tool_steelpick.png",
width = 1,
height = 1,
@ -303,6 +303,6 @@ end
function unified_inventory.is_creative(playername)
return minetest.check_player_privs(playername, {creative=true})
or minetest.setting_getbool("creative_mode")
or minetest.settings:get_bool("creative_mode")
end

View File

@ -4,22 +4,22 @@
-- License: GPLv3
local S = unified_inventory.gettext
local F = unified_inventory.fgettext
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("Bags").."]"
formspec = formspec.."button[0,2;2,0.5;bag1;"..F("Bag 1").."]"
formspec = formspec.."button[2,2;2,0.5;bag2;"..F("Bag 2").."]"
formspec = formspec.."button[4,2;2,0.5;bag3;"..F("Bag 3").."]"
formspec = formspec.."button[6,2;2,0.5;bag4;"..F("Bag 4").."]"
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:"..minetest.formspec_escape(player_name).."_bags;bag1;0.5,1;1,1;]"
formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag2;2.5,1;1,1;]"
formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag3;4.5,1;1,1;]"
formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag4;6.5,1;1,1;]"
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}
end,
})
@ -45,7 +45,7 @@ for i = 1, 4 do
local stack = get_player_bag_stack(player, bi)
local image = stack:get_definition().inventory_image
local formspec = ("image[7,0;1,1;"..image.."]"
.."label[0,0;"..F("Bag @1", bi).."]"
.."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]"
@ -78,7 +78,7 @@ for i = 1, 4 do
end
end
local img = def.inventory_image
local label = F("Bag @1", i).."\n"..used.."/"..size
local label = F(S("Bag @1", i)).."\n"..used.."/"..size
button = "image_button["..(i+1)..",0;1,1;"..img..";bag"..i..";"..label.."]"
else
button = ""

View File

@ -1,16 +1,10 @@
-- Unified Inventory for Minetest 0.4.8+
-- Unified Inventory for Minetest >= 0.4.16
local modpath = minetest.get_modpath(minetest.get_current_modname())
local worldpath = minetest.get_worldpath()
local mygettext
if rawget(_G, "intllib") then
mygettext = intllib.Getter()
else
function mygettext(s, ...)
local t = { ... }
return (s:gsub("@(%d+)", function(n) return t[tonumber(n)] end))
end
end
-- Intllib
local S, NS = dofile(modpath .. "/intllib.lua")
-- Data tables definitions
unified_inventory = {
@ -40,14 +34,13 @@ unified_inventory = {
default = "craft",
-- intllib
gettext = mygettext,
fgettext = function(...) return minetest.formspec_escape(mygettext(...)) end,
gettext = S,
-- "Lite" mode
lite_mode = minetest.setting_getbool("unified_inventory_lite"),
lite_mode = minetest.settings:get_bool("unified_inventory_lite"),
-- Trash enabled
trash_enabled = (minetest.setting_getbool("unified_inventory_trash") ~= false),
trash_enabled = (minetest.settings:get_bool("unified_inventory_trash") ~= false),
pagecols = 8,
pagerows = 10,
@ -80,7 +73,7 @@ dofile(modpath.."/internal.lua")
dofile(modpath.."/callbacks.lua")
dofile(modpath.."/register.lua")
if minetest.setting_getbool("unified_inventory_bags") ~= false then
if minetest.settings:get_bool("unified_inventory_bags") ~= false then
dofile(modpath.."/bags.lua")
end

View File

@ -1,5 +1,5 @@
local S = unified_inventory.gettext
local F = unified_inventory.fgettext
local F = minetest.formspec_escape
-- This pair of encoding functions is used where variable text must go in
-- button names, where the text might contain formspec metacharacters.
@ -94,7 +94,7 @@ function unified_inventory.get_formspec(player, page)
local filtered_inv_buttons = {}
for i, def in pairs(unified_inventory.buttons) do
if not (draw_lite_mode and def.hide_lite) then
if not (draw_lite_mode and def.hide_lite) then
table.insert(filtered_inv_buttons, def)
end
end
@ -111,16 +111,16 @@ function unified_inventory.get_formspec(player, page)
formspec[n] = "image_button["
formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4)
formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;"
formspec[n+3] = minetest.formspec_escape(def.image)..";"
formspec[n+4] = minetest.formspec_escape(def.name)..";]"
formspec[n+5] = "tooltip["..minetest.formspec_escape(def.name)
formspec[n+3] = F(def.image)..";"
formspec[n+4] = F(def.name)..";]"
formspec[n+5] = "tooltip["..F(def.name)
formspec[n+6] = ";"..(def.tooltip or "").."]"
n = n+7
else
formspec[n] = "image["
formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4)
formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;"
formspec[n+3] = minetest.formspec_escape(def.image).."^[colorize:#808080:alpha]"
formspec[n+3] = F(def.image).."^[colorize:#808080:alpha]"
n = n+4
end
@ -145,39 +145,39 @@ function unified_inventory.get_formspec(player, page)
formspec[n] =
"image_button[" .. (start_x + 0.6 * 0)
.. ",9;.8,.8;ui_skip_backward_icon.png;start_list;]"
.. "tooltip[start_list;" .. F("First page") .. "]"
.. "tooltip[start_list;" .. F(S("First page")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 1)
.. ",9;.8,.8;ui_doubleleft_icon.png;rewind3;]"
.. "tooltip[rewind3;" .. F("Back three pages") .. "]"
.. "tooltip[rewind3;" .. F(S("Back three pages")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 2)
.. ",9;.8,.8;ui_left_icon.png;rewind1;]"
.. "tooltip[rewind1;" .. F("Back one page") .. "]"
.. "tooltip[rewind1;" .. F(S("Back one page")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 3)
.. ",9;.8,.8;ui_right_icon.png;forward1;]"
.. "tooltip[forward1;" .. F("Forward one page") .. "]"
.. "tooltip[forward1;" .. F(S("Forward one page")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 4)
.. ",9;.8,.8;ui_doubleright_icon.png;forward3;]"
.. "tooltip[forward3;" .. F("Forward three pages") .. "]"
.. "tooltip[forward3;" .. F(S("Forward three pages")) .. "]"
.. "image_button[" .. (start_x + 0.6 * 5)
.. ",9;.8,.8;ui_skip_forward_icon.png;end_list;]"
.. "tooltip[end_list;" .. F("Last page") .. "]"
.. "tooltip[end_list;" .. F(S("Last page")) .. "]"
else
formspec[n] =
"image_button[" .. (8.2 + 0.65 * 0)
.. ",5.8;.8,.8;ui_skip_backward_icon.png;start_list;]"
.. "tooltip[start_list;" .. F("First page") .. "]"
.. "tooltip[start_list;" .. F(S("First page")) .. "]"
.. "image_button[" .. (8.2 + 0.65 * 1)
.. ",5.8;.8,.8;ui_left_icon.png;rewind1;]"
.. "tooltip[rewind1;" .. F("Back one page") .. "]"
.. "tooltip[rewind1;" .. F(S("Back one page")) .. "]"
.. "image_button[" .. (8.2 + 0.65 * 2)
.. ",5.8;.8,.8;ui_right_icon.png;forward1;]"
.. "tooltip[forward1;" .. F("Forward one page") .. "]"
.. "tooltip[forward1;" .. F(S("Forward one page")) .. "]"
.. "image_button[" .. (8.2 + 0.65 * 3)
.. ",5.8;.8,.8;ui_skip_forward_icon.png;end_list;]"
.. "tooltip[end_list;" .. F("Last page") .. "]"
.. "tooltip[end_list;" .. F(S("Last page")) .. "]"
end
n = n+1
@ -187,26 +187,26 @@ function unified_inventory.get_formspec(player, page)
if not draw_lite_mode then
formspec[n] = "field[9.5,8.325;3,1;searchbox;;"
.. minetest.formspec_escape(unified_inventory.current_searchbox[player_name]) .. "]"
.. F(unified_inventory.current_searchbox[player_name]) .. "]"
formspec[n+1] = "image_button[12.2,8.1;.8,.8;ui_search_icon.png;searchbutton;]"
.. "tooltip[searchbutton;" ..F("Search") .. "]"
.. "tooltip[searchbutton;" ..F(S("Search")) .. "]"
formspec[n+2] = "image_button[12.9,8.1;.8,.8;ui_reset_icon.png;searchresetbutton;]"
.. "tooltip[searchbutton;" ..F("Search") .. "]"
.. "tooltip[searchresetbutton;" ..F("Reset search and display everything") .. "]"
.. "tooltip[searchbutton;" ..F(S("Search")) .. "]"
.. "tooltip[searchresetbutton;" ..F(S("Reset search and display everything")) .. "]"
else
formspec[n] = "field[8.5,5.225;2.2,1;searchbox;;"
.. minetest.formspec_escape(unified_inventory.current_searchbox[player_name]) .. "]"
.. F(unified_inventory.current_searchbox[player_name]) .. "]"
formspec[n+1] = "image_button[10.3,5;.8,.8;ui_search_icon.png;searchbutton;]"
.. "tooltip[searchbutton;" ..F("Search") .. "]"
.. "tooltip[searchbutton;" ..F(S("Search")) .. "]"
formspec[n+2] = "image_button[11,5;.8,.8;ui_reset_icon.png;searchresetbutton;]"
.. "tooltip[searchbutton;" ..F("Search") .. "]"
.. "tooltip[searchresetbutton;" ..F("Reset search and display everything") .. "]"
.. "tooltip[searchbutton;" ..F(S("Search")) .. "]"
.. "tooltip[searchresetbutton;" ..F(S("Reset search and display everything")) .. "]"
end
n = n+3
local no_matches = "No matching items"
local no_matches = S("No matching items")
if draw_lite_mode then
no_matches = "No matches."
no_matches = S("No matches.")
end
-- Items list
@ -246,14 +246,14 @@ function unified_inventory.get_formspec(player, page)
end
end
end
formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";"..F("Page") .. ": "
formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";"..F(S("Page")) .. ": "
.. S("%s of %s"):format(page,pagemax).."]"
end
n= n+1
if unified_inventory.activefilter[player_name] ~= "" then
formspec[n] = "label[8.2,"..(ui_peruser.form_header_y + 0.4)..";" .. F("Filter") .. ":]"
formspec[n+1] = "label[9.1,"..(ui_peruser.form_header_y + 0.4)..";"..minetest.formspec_escape(unified_inventory.activefilter[player_name]).."]"
formspec[n] = "label[8.2,"..(ui_peruser.form_header_y + 0.4)..";" .. F(S("Filter")) .. ":]"
formspec[n+1] = "label[9.1,"..(ui_peruser.form_header_y + 0.4)..";"..F(unified_inventory.activefilter[player_name]).."]"
end
return table.concat(formspec, "")
end

View File

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

View File

@ -0,0 +1,366 @@
# German translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# Xanthin
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 13:41+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"
#: api.lua register.lua
msgid "Crafting"
msgstr "Fertigung"
#: api.lua
msgid "Mixing"
msgstr "Mischen"
#: api.lua
msgid "Cooking"
msgstr "Kochen"
#: api.lua
msgid "Digging"
msgstr "Graben"
#: bags.lua
msgid "Bags"
msgstr "Taschen"
#: bags.lua
msgid "Bag @1"
msgstr "Tasche @1"
#: bags.lua
msgid "Small Bag"
msgstr "Kleine Tasche"
#: bags.lua
msgid "Medium Bag"
msgstr "Mittelgroße Tasche"
#: bags.lua
msgid "Large Bag"
msgstr "Große Tasche"
#: group.lua
msgid " and "
msgstr " und "
#: internal.lua
msgid "First page"
msgstr "Erste Seite"
#: internal.lua
msgid "Back three pages"
msgstr "3 Seiten zurückblättern"
#: internal.lua
msgid "Back one page"
msgstr "1 Seite zurückblättern"
#: internal.lua
msgid "Forward one page"
msgstr "1 Seite vorblättern"
#: internal.lua
msgid "Forward three pages"
msgstr "3 Seiten vorblättern"
#: internal.lua
msgid "Last page"
msgstr "Letzte Seite"
#: internal.lua
msgid "Search"
msgstr "Suchen"
#: internal.lua
msgid "Reset search and display everything"
msgstr "Suche zurücksetzen und alles anzeigen"
#: internal.lua
msgid "No matching items"
msgstr "Keine passenden Gegenstände"
#: internal.lua
msgid "No matches."
msgstr "Keine Treffer"
#: internal.lua
msgid "Page"
msgstr "Seite"
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr "%s von %s"
#: internal.lua
msgid "Filter"
msgstr "Filter"
#: register.lua
msgid "Can use the creative inventory"
msgstr "Kann das Kreativinventar nutzen"
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
#: register.lua
msgid "Crafting Grid"
msgstr "Fertigungsraster"
#: register.lua
msgid "Crafting Guide"
msgstr "Fertigungsführer"
#: register.lua
msgid "Set home position"
msgstr "Heimatposition setzen"
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr "Heimatposition nach: %s gesetzt"
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr "Du hast das \"home\"-Privileg nicht!"
#: register.lua
msgid "Go home"
msgstr "Nach Hause gehen"
#: register.lua
msgid "Set time to day"
msgstr "Zur Tageszeit wechseln"
#: register.lua
msgid "Time of day set to 6am"
msgstr "Tageszeit auf 6 Uhr gesetzt"
#: register.lua
msgid "You don't have the settime privilege!"
msgstr "Du hast das \"settime\"-Privileg nicht!"
#: register.lua
msgid "Set time to night"
msgstr "Zur Nachtzeit wechseln"
#: register.lua
msgid "Time of day set to 9pm"
msgstr "Tageszeit auf 21 Uhr gesetzt"
#: register.lua
msgid "Clear inventory"
msgstr "Inventar leeren"
#: register.lua
#, fuzzy
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr ""
"Diese Funktion ist außerhalb des Kreativmodus deaktiviert, um ein "
"versehentliches Löschen des ganzen Inventars zu verhindern.\n"
"Nutze stattdessen das Müllfeld."
#: register.lua
msgid "Inventory cleared!"
msgstr "Inventar geleert!"
#: register.lua
msgid "Trash:"
msgstr "Müll:"
#: register.lua
msgid "Refill:"
msgstr "Nachfüllen:"
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr "Irgendein Gegenstand, der zur Gruppe %s gehört"
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr "Irgendein Gegenstand, der zu den Gruppen %s gehört"
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr "Rezept %d von %d"
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr "Verwendung %d von %d"
#: register.lua
msgid "No recipes"
msgstr "Keine Rezepte"
#: register.lua
msgid "No usages"
msgstr "Keine Verwendungen"
#: register.lua
msgid "Result"
msgstr "Ergebnis"
#: register.lua
msgid "Ingredient"
msgstr "Zutat"
#: register.lua
msgid "Show next recipe"
msgstr "Nächstes Rezept zeigen"
#: register.lua
msgid "Show next usage"
msgstr "Nächste Verwendung zeigen"
#: register.lua
msgid "Show previous recipe"
msgstr "Vorheriges Rezept zeigen"
#: register.lua
msgid "Show previous usage"
msgstr "Vorherige Verwendung zeigen"
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr ""
#: register.lua
msgid "Give me:"
msgstr "Gib mir:"
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
"Dieses Rezept ist zu\n"
"groß, um angezeigt\n"
"zu werden."
#: register.lua
msgid "To craft grid:"
msgstr "Ins Fertigungsraster:"
#: register.lua
msgid "All"
msgstr "Alles"
#: waypoints.lua
msgid "White"
msgstr "Weiß"
#: waypoints.lua
msgid "Yellow"
msgstr "Gelb"
#: waypoints.lua
msgid "Red"
msgstr "Rot"
#: waypoints.lua
msgid "Green"
msgstr "Grün"
#: waypoints.lua
msgid "Blue"
msgstr "Blau"
#: waypoints.lua
msgid "Waypoints"
msgstr "Wegpunkte"
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr "Wegpunkt Nr. %d auswählen"
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr "Wegpunkt Nr. %d"
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr "Setze Wegpunkt zur derzeitigen Position"
#: waypoints.lua
msgid "invisible"
msgstr "unsichtbar"
#: waypoints.lua
msgid "visible"
msgstr "sichtbar"
#: waypoints.lua
msgid "Make waypoint @1"
msgstr "Wegpunkt @1 machen"
#: waypoints.lua
msgid "Disable"
msgstr "ausschalten"
#: waypoints.lua
msgid "Enable"
msgstr "einschalten"
#: waypoints.lua
msgid "@1 display of waypoint coordinates"
msgstr "Anzeige der Wegpunktkoordinaten @1"
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr "Farbe der Darstellung der Wegpunkte ändern"
#: waypoints.lua
msgid "Edit waypoint name"
msgstr "Name des Wegpunkts ändern"
#: waypoints.lua
msgid "Waypoint active"
msgstr "Wegpunkt aktiv"
#: waypoints.lua
msgid "Waypoint inactive"
msgstr "Wegpunkt inaktiv"
#: waypoints.lua
msgid "Finish editing"
msgstr "Bearbeitung abschließen"
#: waypoints.lua
msgid "World position"
msgstr "Weltposition"
#: waypoints.lua
msgid "Name"
msgstr "Name"
#: waypoints.lua
msgid "HUD text color"
msgstr "HUD-Textfarbe"

View File

@ -1,98 +0,0 @@
# Translation mostly by Xanthin
### api.lua ###
Digging (by chance) = Graben (durch Zufall)
### bags.lua ###
Bags = Taschen
Bag @1 = Tasche @1
Small Bag = Kleine Tasche
Medium Bag = Mittelgroße Tasche
Large Bag = Große Tasche
### inernal.lua ###
First page = Erste Seite
Back three pages = Drei Seiten zurueckblättern
Back one page = Eine Seite zurueckblättern
Forward one page = Eine Seite vorblättern
Forward three pages = Drei Seiten vorblättern
Last page = Letzte Seite
No matching items = Keine passenden Gegenstände
Page = Seite
%s of %s = %s von %s
Filter = Filter
Search = Suchen
Reset search and display everything = Suche zurücksetzen und alles anzeigen
### register.lua ###
Can use the creative inventory = Kann das Kreativinventar nutzen
Home position set to: %s = Heimatposition nach: %s gesetzt
Time of day set to 6am = Tageszeit auf 6 Uhr geändert
You don't have the settime privilege! = Du hast nicht das „settime“-Privileg!
Time of day set to 9pm = Tageszeit auf 21 Uhr geändert
This button has been disabled outside of creative mode to prevent accidental inventory trashing. Use the trash slot instead. = Diese Funktion ist außerhalb des Kreativmodus deaktiviert, um ein versehentliches Löschen des ganzen Inventars zu verhindern.\nNutze stattdessen das Müllfeld.
Inventory cleared! = Inventar geleert!
Crafting = Fertigung
Digging = Graben
Cooking = Kochen
Mixing = Mischen
Trash: = Müll:
Refill: = Nachfüllen:
Crafting Guide = Fertigungsführer
Method: = Methode:
Result: %s = Ergebnis: %s
crafting = Bauen
shapeless crafting = Formlose Fertigung
cooking = Kochen
alloy cooking = Legierung Kochen
Copy to craft grid: = Ins Fertigungsraster kopieren:
All = Alles
Alternate = Alternative
Crafting Grid = Fertigungsraster
Show next recipe = Nächstes Rezept zeigen
Show next usage = Nächste Verwendung zeigen
Show previous recipe = Vorheriges Rezept zeigen
Show previous usage = Vorherige Verwendung zeigen
This recipe is too\nlarge to be displayed. = Dieses Rezept ist zu\ngroß, um angezeigt\nzu werden.
Any item belonging to the %s group = Irgendein Gegenstand, der zur Gruppe %s gehört
Any item belonging to the groups %s = Irgendein Gegenstand, der zu den Gruppen %s gehört
Recipe %d of %d = Rezept %d von %d
Usage %d of %d = Verwendung %d von %d
No recipes = Keine Rezepte
No usages = Keine Verwendungen
Result = Ergebnis
Ingredient = Zutat
Set time to day = Zur Tageszeit wechseln
Set time to night = Zur Nachtzeit wechseln
Set home position = Heimatposition setzen
Go home = Nach Hause gehen
Clear inventory = Inventar leeren
Give me: = Gib mir:
To craft grid: = Ins Fertigungsraster:
### group.lua ###
\sand\s=\sund\s
### waypoints.lua ###
White = Weiß
Yellow = Gelb
Red = Rot
Green = Grün
Blue = Blau
Waypoints = Wegpunkte
Waypoint %d = Wegpunkt Nr. %d
Waypoint active = Wegpunkt aktiv
Waypoint inactive = Wegpunkt inaktiv
World position = Weltposition
Name = Name
HUD text color = HUD-Textfarbe
Edit waypoint name = Name des Wegpunkts ändern
Rename waypoint = Wegpunkt umbenennen
Change color of waypoint display = Farbe der Darstellung der Wegpunkte ändern
Set waypoint to current location = Setze Wegpunkt zur derzeitigen Position
Make waypoint visible = Wegpunkt sichtbar machen
Make waypoint invisible = Wegpunkt verstecken
Disable display of waypoint coordinates = Anzeige der Wegpunktkoordinaten deaktivieren
Enable display of waypoint coordinates = Anzeige der Wegpunktkoordinaten aktivieren
Finish editing = Bearbeitung abschließen
Select Waypoint #%d = Wegpunkt Nr. %d auswählen

View File

@ -0,0 +1,366 @@
# Spanish translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# Diego Martínez <kaeza>
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 16:15+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"
#: api.lua register.lua
msgid "Crafting"
msgstr "Elaboración"
#: api.lua
msgid "Mixing"
msgstr ""
#: api.lua
#, fuzzy
msgid "Cooking"
msgstr "hornear"
#: api.lua
msgid "Digging"
msgstr ""
#: bags.lua
msgid "Bags"
msgstr "Bolsas"
#: bags.lua
msgid "Bag @1"
msgstr "Bolsa @1"
#: bags.lua
msgid "Small Bag"
msgstr "Bolsa Pequeña"
#: bags.lua
msgid "Medium Bag"
msgstr "Bolsa Mediana"
#: bags.lua
msgid "Large Bag"
msgstr "Bolsa Grande"
#: group.lua
msgid " and "
msgstr ""
#: internal.lua
msgid "First page"
msgstr ""
#: internal.lua
msgid "Back three pages"
msgstr ""
#: internal.lua
msgid "Back one page"
msgstr ""
#: internal.lua
msgid "Forward one page"
msgstr ""
#: internal.lua
msgid "Forward three pages"
msgstr ""
#: internal.lua
msgid "Last page"
msgstr ""
#: internal.lua
msgid "Search"
msgstr ""
#: internal.lua
msgid "Reset search and display everything"
msgstr ""
#: internal.lua
msgid "No matching items"
msgstr ""
#: internal.lua
msgid "No matches."
msgstr ""
#: internal.lua
msgid "Page"
msgstr "Página"
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr "%s de %s"
#: internal.lua
msgid "Filter"
msgstr "Filtro"
#: register.lua
msgid "Can use the creative inventory"
msgstr "Puede usar el inventario creativo"
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
#: register.lua
msgid "Crafting Grid"
msgstr ""
#: register.lua
msgid "Crafting Guide"
msgstr "Guía de Elaboración"
#: register.lua
#, fuzzy
msgid "Set home position"
msgstr "Posición en el mundo"
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr "Posición de hogar cambiada a: %s"
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr "¡No tienes el privilegio \"home\"!"
#: register.lua
msgid "Go home"
msgstr ""
#: register.lua
msgid "Set time to day"
msgstr ""
#: register.lua
msgid "Time of day set to 6am"
msgstr "Hora del día cambiada a 6AM"
#: register.lua
msgid "You don't have the settime privilege!"
msgstr "¡No tienes el privilegio \"settime\"!"
#: register.lua
msgid "Set time to night"
msgstr ""
#: register.lua
msgid "Time of day set to 9pm"
msgstr "Hora del día cambiada a 9PM"
#: register.lua
msgid "Clear inventory"
msgstr ""
#: register.lua
#, fuzzy
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr ""
"Éste botón ha sido deshabilitado para prevenir la destrucción accidental del "
"inventario.\n"
"Usa la ranura para basura en su lugar."
#: register.lua
msgid "Inventory cleared!"
msgstr "¡Inventario limpio!"
#: register.lua
msgid "Trash:"
msgstr "Basura:"
#: register.lua
msgid "Refill:"
msgstr "Rellenar:"
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr ""
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr ""
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr "Receta %d de %d"
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr ""
#: register.lua
msgid "No recipes"
msgstr ""
#: register.lua
msgid "No usages"
msgstr ""
#: register.lua
msgid "Result"
msgstr "Resultado"
#: register.lua
msgid "Ingredient"
msgstr ""
#: register.lua
msgid "Show next recipe"
msgstr ""
#: register.lua
msgid "Show next usage"
msgstr ""
#: register.lua
msgid "Show previous recipe"
msgstr ""
#: register.lua
msgid "Show previous usage"
msgstr ""
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr ""
#: register.lua
msgid "Give me:"
msgstr ""
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
#: register.lua
#, fuzzy
msgid "To craft grid:"
msgstr "Copiar al cuadro de elaboración"
#: register.lua
msgid "All"
msgstr "Todos"
#: waypoints.lua
msgid "White"
msgstr "Blanco"
#: waypoints.lua
msgid "Yellow"
msgstr "Amarillo"
#: waypoints.lua
msgid "Red"
msgstr "Rojo"
#: waypoints.lua
msgid "Green"
msgstr "Verde"
#: waypoints.lua
msgid "Blue"
msgstr "Azul"
#: waypoints.lua
msgid "Waypoints"
msgstr "Puntos de paso"
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr ""
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr "Puntos de paso %d"
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr ""
#: waypoints.lua
msgid "invisible"
msgstr ""
#: waypoints.lua
msgid "visible"
msgstr ""
#: waypoints.lua
msgid "Make waypoint @1"
msgstr ""
#: waypoints.lua
msgid "Disable"
msgstr ""
#: waypoints.lua
msgid "Enable"
msgstr ""
#: waypoints.lua
msgid "@1 display of waypoint coordinates"
msgstr ""
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr ""
#: waypoints.lua
msgid "Edit waypoint name"
msgstr ""
#: waypoints.lua
msgid "Waypoint active"
msgstr "Punto de paso activo"
#: waypoints.lua
msgid "Waypoint inactive"
msgstr "Punto de paso inactivo"
#: waypoints.lua
msgid "Finish editing"
msgstr ""
#: waypoints.lua
msgid "World position"
msgstr "Posición en el mundo"
#: waypoints.lua
msgid "Name"
msgstr "Nombre"
#: waypoints.lua
msgid "HUD text color"
msgstr "Color del HUD"

View File

@ -1,72 +0,0 @@
# Translation by Diego Martínez <kaeza>
### api.lua ###
Digging (by chance) = Excavado (por azar)
# Template
### bags.lua ###
Bags = Bolsas
Bag @1 = Bolsa @1
Small Bag = Bolsa Pequeña
Medium Bag = Bolsa Mediana
Large Bag = Bolsa Grande
### inernal.lua ###
First page =
Back three pages =
Back one page =
Forward one page =
Forward three pages =
Last page =
No matching items =
Page = Página
%s of %s = %s de %s
Filter = Filtro
Search =
### register.lua ###
Can use the creative inventory = Puede usar el inventario creativo
Home position set to: %s = Posición de hogar cambiada a: %s
Time of day set to 6am = Hora del día cambiada a 6AM
You don't have the settime priviledge! = ¡No tienes el privilegio `settime'!
Time of day set to 9pm = Hora del día cambiada a 9PM
This button has been disabled outside of creative mode to prevent accidental inventory trashing. Use the trash slot instead. = Éste botón ha sido deshabilitado para prevenir la destrucción accidental del inventario.\nUsa la ranura para basura en su lugar.
Inventory cleared! = ¡Inventario limpio!
Crafting = Elaboración
Trash: = Basura:
Refill: = Rellenar:
Crafting Guide = Guía de Elaboración
Method: = Método:
Result: %s = Resultado: %s
crafting = elaboración
shapeless crafting = elaboración sin forma
cooking = hornear
alloy cooking = horneado de aleación
Copy to craft grid: = Copiar al cuadro de elaboración
All = Todos
Recipe %s of %s = Receta %s de %s
Alternate = Alternar
Crafting Grid =
### waypoints.lua ###
White = Blanco
Yellow = Amarillo
Red = Rojo
Green = Verde
Blue = Azul
Waypoints = Puntos de paso
Waypoint active = Punto de paso activo
Waypoint inactive = Punto de paso inactivo
World position = Posición en el mundo
Name = Nombre
HUD text color = Color del HUD
Edit waypoint name =
Rename waypoint =
Change color of waypoint display =
Set waypoint to current location =
Make waypoint visible =
Make waypoint invisible =
Disable display of waypoint coordinates =
Enable display of waypoint coordinates =
Finish editing =
Select Waypoint #%d =

View File

@ -0,0 +1,364 @@
# French translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# kilbith
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 16:15+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: CodeXP <codexp@gmx.net>\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"
#: api.lua register.lua
msgid "Crafting"
msgstr "Création"
#: api.lua
msgid "Mixing"
msgstr ""
#: api.lua
msgid "Cooking"
msgstr "Cuisson"
#: api.lua
msgid "Digging"
msgstr "Creuser"
#: bags.lua
msgid "Bags"
msgstr "Sacs"
#: bags.lua
msgid "Bag @1"
msgstr "Sac @1"
#: bags.lua
msgid "Small Bag"
msgstr "Petit sac"
#: bags.lua
msgid "Medium Bag"
msgstr "Sac moyen"
#: bags.lua
msgid "Large Bag"
msgstr "Grand sac"
#: group.lua
msgid " and "
msgstr " et "
#: internal.lua
msgid "First page"
msgstr "1ère page"
#: internal.lua
msgid "Back three pages"
msgstr "3 pages en arrière"
#: internal.lua
msgid "Back one page"
msgstr "Page précédente"
#: internal.lua
msgid "Forward one page"
msgstr "Page suivante"
#: internal.lua
msgid "Forward three pages"
msgstr "3 pages en avant"
#: internal.lua
msgid "Last page"
msgstr "Dernière page"
#: internal.lua
msgid "Search"
msgstr "Rechercher"
#: internal.lua
msgid "Reset search and display everything"
msgstr ""
#: internal.lua
msgid "No matching items"
msgstr "Aucun élément correspondant"
#: internal.lua
msgid "No matches."
msgstr "Aucun match"
#: internal.lua
msgid "Page"
msgstr "Page"
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr "%s de %s"
#: internal.lua
msgid "Filter"
msgstr "Filtre"
#: register.lua
msgid "Can use the creative inventory"
msgstr "Vous pouvez utiliser l'inventaire créatif"
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
#: register.lua
msgid "Crafting Grid"
msgstr "Grille de création"
#: register.lua
msgid "Crafting Guide"
msgstr "Guide de création"
#: register.lua
#, fuzzy
msgid "Set home position"
msgstr "Position dans le monde"
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr "Position de votre base fixée à: %s"
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr "Vous n'avez pas le privilège \"home\"!"
#: register.lua
msgid "Go home"
msgstr ""
#: register.lua
msgid "Set time to day"
msgstr ""
#: register.lua
msgid "Time of day set to 6am"
msgstr "Heure fixée à 6h"
#: register.lua
msgid "You don't have the settime privilege!"
msgstr "Vous n'avez pas le privilège \"settime\"!"
#: register.lua
msgid "Set time to night"
msgstr ""
#: register.lua
msgid "Time of day set to 9pm"
msgstr "Heure fixée à 21h"
#: register.lua
msgid "Clear inventory"
msgstr ""
#: register.lua
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr ""
"Ce bouton a été désactivé en dehors du mode créatif pour éviter des saccages "
"dans l'inventaire.\n"
"Utilisez plutôt la case poubelle."
#: register.lua
msgid "Inventory cleared!"
msgstr "Inventaire vidé !"
#: register.lua
msgid "Trash:"
msgstr "Poubelle :"
#: register.lua
msgid "Refill:"
msgstr "Remplir :"
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr ""
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr ""
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr "Recette %d de %d"
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr ""
#: register.lua
msgid "No recipes"
msgstr ""
#: register.lua
msgid "No usages"
msgstr ""
#: register.lua
msgid "Result"
msgstr "Résultat"
#: register.lua
msgid "Ingredient"
msgstr ""
#: register.lua
msgid "Show next recipe"
msgstr ""
#: register.lua
msgid "Show next usage"
msgstr ""
#: register.lua
msgid "Show previous recipe"
msgstr ""
#: register.lua
msgid "Show previous usage"
msgstr ""
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr ""
#: register.lua
msgid "Give me:"
msgstr ""
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
#: register.lua
msgid "To craft grid:"
msgstr "Sur de création:"
#: register.lua
msgid "All"
msgstr "Tout"
#: waypoints.lua
msgid "White"
msgstr "Blanc"
#: waypoints.lua
msgid "Yellow"
msgstr "Jaune"
#: waypoints.lua
msgid "Red"
msgstr "Rouge"
#: waypoints.lua
msgid "Green"
msgstr "Vert"
#: waypoints.lua
msgid "Blue"
msgstr "Bleu"
#: waypoints.lua
msgid "Waypoints"
msgstr "Point de passage"
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr "Choisir un point de passage #%d"
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr "Point de passage %d"
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr "Marquer un point de passage à la position actuelle"
#: waypoints.lua
msgid "invisible"
msgstr ""
#: waypoints.lua
msgid "visible"
msgstr ""
#: waypoints.lua
msgid "Make waypoint @1"
msgstr "Rendre @1 le point de passage"
#: waypoints.lua
msgid "Disable"
msgstr ""
#: waypoints.lua
msgid "Enable"
msgstr ""
#: waypoints.lua
#, fuzzy
msgid "@1 display of waypoint coordinates"
msgstr "@1 montrer les coordonnées des points de passages"
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr "Changer la couleur du point de passage"
#: waypoints.lua
msgid "Edit waypoint name"
msgstr "Editer le nom du point de passage"
#: waypoints.lua
msgid "Waypoint active"
msgstr "Point de passage actif"
#: waypoints.lua
msgid "Waypoint inactive"
msgstr "Point de passage inactif"
#: waypoints.lua
msgid "Finish editing"
msgstr "Terminer l'édition"
#: waypoints.lua
msgid "World position"
msgstr "Position dans le monde"
#: waypoints.lua
msgid "Name"
msgstr "Nom"
#: waypoints.lua
msgid "HUD text color"
msgstr "Couleur de texte du HUD"

View File

@ -1,69 +0,0 @@
# Translation by kilbith
# Template
### bags.lua ###
Bags = Sacs
Bag @1 = Sac @1
Small Bag = Petit sac
Medium Bag = Sac moyen
Large Bag = Grand sac
### inernal.lua ###
First page = 1ère page
Back three pages = 3 pages en arrière
Back one page = Page précédente
Forward one page = Page suivante
Forward three pages = 3 pages en avant
Last page = Dernière page
No matching items = Aucun élément correspondant
Page = Page
%s of %s = %s de %s
Filter = Filtre
Search = Rechercher
### register.lua ###
Can use the creative inventory = Vous pouvez utiliser l'inventaire créatif
Home position set to: %s = Position de votre base fixée à : %s
Time of day set to 6am = Heure fixée à 6h
You don't have the settime priviledge! = Vous n'avez pas le privilège 'settime' !
Time of day set to 9pm = Heure fixée à 21h
This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Ce bouton a été désactivé en dehors du mode créatif pour éviter des saccages dans l'inventaire.\nUtilisez plutôt la case poubelle.
Inventory cleared! = Inventaire vidé !
Crafting = Création
Trash: = Poubelle :
Refill: = Remplir :
Crafting Guide = Guide de création
Method: = Méthode :
Result: %s = Résultat : %s
crafting = fabrication
shapeless crafting = fabrication sans forme
cooking = cuisson
alloy cooking = cuisson des métaux
Copy to craft grid: = Copier sur la grille de création
All = Tout
Recipe %s of %s = Recette %s de %d
Alternate = Alternative
Crafting Grid = Grille de création
### waypoints.lua ###
White = Blanc
Yellow = Jaune
Red = Rouge
Green = Vert
Blue = Bleu
Waypoints = Point de passage
Waypoint active = Point de passage actif
Waypoint inactive = Point de passage inactif
World position = Position dans le monde
Name = Nom
HUD text color = Couleur de texte du HUD
Edit waypoint name = Editer le nom du point de passage
Rename waypoint = Renommer le point de passage
Change color of waypoint display = Changer la couleur du point de passage
Set waypoint to current location = Marquer un point de passage à la position actuelle
Make waypoint visible = Rendre visible le point de passage
Make waypoint invisible = Rendre invisible le point de passage
Disable display of waypoint coordinates = Masquer les coordonnées des points de passages
Enable display of waypoint coordinates = Montrer les coordonnées des points de passages
Finish editing = Terminer l'édition
Select Waypoint #%d = Choisir un point de passage #%d

View File

@ -0,0 +1,369 @@
# Malay translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# muhdnurhidayat <translation@mnh48.moe>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 03:34+0200\n"
"PO-Revision-Date: 2018-07-17 20:14+0800\n"
"Language-Team: muhdnurhidayat <translation@mnh48.moe>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.9\n"
"Last-Translator: muhdnurhidayat <translation@mnh48.moe>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ms\n"
"X-Poedit-Flags-xgettext: --add-comments\n"
#: api.lua register.lua
msgid "Crafting"
msgstr "Pertukangan"
#: api.lua
msgid "Mixing"
msgstr "Pencampuran"
#: api.lua
msgid "Cooking"
msgstr "Pemasakan"
#: api.lua
msgid "Digging"
msgstr "Penggalian"
#: bags.lua
msgid "Bags"
msgstr "Beg"
#: bags.lua
msgid "Bag @1"
msgstr "Beg @1"
#: bags.lua
msgid "Small Bag"
msgstr "Beg Kecil"
#: bags.lua
msgid "Medium Bag"
msgstr "Beg Sederhana"
#: bags.lua
msgid "Large Bag"
msgstr "Beg Besar"
#: group.lua
msgid " and "
msgstr " dan "
#: internal.lua
msgid "First page"
msgstr "Halaman pertama"
#: internal.lua
msgid "Back three pages"
msgstr "Tiga halaman sebelumnya"
#: internal.lua
msgid "Back one page"
msgstr "Halaman sebelumnya"
#: internal.lua
msgid "Forward one page"
msgstr "Halaman seterusnya"
#: internal.lua
msgid "Forward three pages"
msgstr "Tiga halaman seterusnya"
#: internal.lua
msgid "Last page"
msgstr "Halaman terakhir"
#: internal.lua
msgid "Search"
msgstr "Cari"
#: internal.lua
msgid "Reset search and display everything"
msgstr "Set semula carian dan tunjukkan semua benda"
#: internal.lua
msgid "No matching items"
msgstr "Tiada item sepadan"
#: internal.lua
msgid "No matches."
msgstr "Tiada padanan."
#: internal.lua
msgid "Page"
msgstr "Halaman"
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr "%s drpd %s"
#: internal.lua
msgid "Filter"
msgstr "Tapis"
#: register.lua
msgid "Can use the creative inventory"
msgstr "Boleh guna inventori kreatif"
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
"Memaksa Unified Inventory untuk dipaparkan dalam mod Full jika mod Lite "
"ditetapkan secara global"
#: register.lua
msgid "Crafting Grid"
msgstr "Grid Pertukangan"
#: register.lua
msgid "Crafting Guide"
msgstr "Panduan Pertukangan"
#: register.lua
msgid "Set home position"
msgstr "Tetapkan kedudukan rumah"
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr "Kedudukan rumah ditetapkan ke: %s"
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr "Anda tidak ada keistimewaan \"home\"!"
#: register.lua
msgid "Go home"
msgstr "Balik rumah"
#: register.lua
msgid "Set time to day"
msgstr "Tetapkan masa jadi siang"
#: register.lua
msgid "Time of day set to 6am"
msgstr "Masa ditetapkan ke 6 pagi"
#: register.lua
msgid "You don't have the settime privilege!"
msgstr "Anda tidak ada keistimewaan settime!"
#: register.lua
msgid "Set time to night"
msgstr "Tetapkan masa jadi malam"
#: register.lua
msgid "Time of day set to 9pm"
msgstr "Masa ditetapkan ke 9 malam"
#: register.lua
msgid "Clear inventory"
msgstr "Kosongkan inventori"
#: register.lua
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr ""
"Butang ini dilumpuhkan di luar mod kreatif untuk mengelakkan pengosongan "
"inventori secara tidak sengaja.\n"
"Sebaliknya, gunakan slot tong sampah."
#: register.lua
msgid "Inventory cleared!"
msgstr "Inventori dikosongkan!"
#: register.lua
msgid "Trash:"
msgstr "Buang:"
#: register.lua
msgid "Refill:"
msgstr "Isi balik:"
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr "Sebarang item dari kumpulan %s"
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr "Sebarang item dari kumpulan %s"
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr "Resipi %d drpd %d"
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr "Kegunaan %d drpd %d"
#: register.lua
msgid "No recipes"
msgstr "Tiada resipi"
#: register.lua
msgid "No usages"
msgstr "Tiada kegunaan"
#: register.lua
msgid "Result"
msgstr "Hasil"
#: register.lua
msgid "Ingredient"
msgstr "Bahan"
#: register.lua
msgid "Show next recipe"
msgstr "Tunjuk resipi seterusnya"
#: register.lua
msgid "Show next usage"
msgstr "Tunjuk kegunaan seterusnya"
#: register.lua
msgid "Show previous recipe"
msgstr "Tunjuk resipi sebelumnya"
#: register.lua
msgid "Show previous usage"
msgstr "Tunjuk kegunaan sebelumnya"
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr "%s (%s)"
#: register.lua
msgid "Give me:"
msgstr "Beri saya:"
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
"Resipi ini terlalu\n"
"besar untuk paparan."
#: register.lua
msgid "To craft grid:"
msgstr "Ke grid pertukangan:"
#: register.lua
msgid "All"
msgstr ""
"SE\n"
"MUA"
#: waypoints.lua
msgid "White"
msgstr "Putih"
#: waypoints.lua
msgid "Yellow"
msgstr "Kuning"
#: waypoints.lua
msgid "Red"
msgstr "Merah"
#: waypoints.lua
msgid "Green"
msgstr "Hijau"
#: waypoints.lua
msgid "Blue"
msgstr "Biru"
#: waypoints.lua
msgid "Waypoints"
msgstr "Titik Arah"
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr "Pilih Titik Arah #%d"
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr "Titik Arah %d"
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr "Tetapkan titik arah ke lokasi semasa"
#: waypoints.lua
msgid "invisible"
msgstr "Sembunyikan"
#: waypoints.lua
msgid "visible"
msgstr "Paparkan"
#: waypoints.lua
msgid "Make waypoint @1"
msgstr "@1 titik arah"
#: waypoints.lua
msgid "Disable"
msgstr "Sembunyikan"
#: waypoints.lua
msgid "Enable"
msgstr "Paparkan"
#: waypoints.lua
msgid "@1 display of waypoint coordinates"
msgstr "@1 koordinat untuk titik arah"
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr "Tukar warna paparan titik arah"
#: waypoints.lua
msgid "Edit waypoint name"
msgstr "Edit nama titik arah"
#: waypoints.lua
msgid "Waypoint active"
msgstr "Titik arah aktif"
#: waypoints.lua
msgid "Waypoint inactive"
msgstr "Titik arah tidak aktif"
#: waypoints.lua
msgid "Finish editing"
msgstr "Selesai edit"
#: waypoints.lua
msgid "World position"
msgstr "Kedudukan dunia"
#: waypoints.lua
msgid "Name"
msgstr "Nama"
#: waypoints.lua
msgid "HUD text color"
msgstr "Warna tulisan HUD"

View File

@ -0,0 +1,359 @@
# Polish translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# RealBadAngel
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 16:30+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: CodeXP <codexp@gmx.net>\n"
"Language-Team: \n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: api.lua register.lua
msgid "Crafting"
msgstr ""
#: api.lua
msgid "Mixing"
msgstr ""
#: api.lua
msgid "Cooking"
msgstr ""
#: api.lua
msgid "Digging"
msgstr ""
#: bags.lua
msgid "Bags"
msgstr "Plecaki"
#: bags.lua
msgid "Bag @1"
msgstr "Plecak @1"
#: bags.lua
msgid "Small Bag"
msgstr "Maly plecak"
#: bags.lua
msgid "Medium Bag"
msgstr "Sredni plecak"
#: bags.lua
msgid "Large Bag"
msgstr "Duzy plecak"
#: group.lua
msgid " and "
msgstr " i "
#: internal.lua
msgid "First page"
msgstr "Pierwsza strona"
#: internal.lua
msgid "Back three pages"
msgstr "3 strony w tyl"
#: internal.lua
msgid "Back one page"
msgstr "1 strona w tyl"
#: internal.lua
msgid "Forward one page"
msgstr "1 strona do przodu"
#: internal.lua
msgid "Forward three pages"
msgstr "3 strony do przodu"
#: internal.lua
msgid "Last page"
msgstr "Ostatnia strona"
#: internal.lua
msgid "Search"
msgstr "Szukaj"
#: internal.lua
msgid "Reset search and display everything"
msgstr ""
#: internal.lua
msgid "No matching items"
msgstr "Brak pasujacych przedmiotow"
#: internal.lua
msgid "No matches."
msgstr "Brak wyników"
#: internal.lua
msgid "Page"
msgstr "Strona"
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr "%s z %s"
#: internal.lua
msgid "Filter"
msgstr "Filtr"
#: register.lua
msgid "Can use the creative inventory"
msgstr ""
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
#: register.lua
msgid "Crafting Grid"
msgstr ""
#: register.lua
msgid "Crafting Guide"
msgstr ""
#: register.lua
msgid "Set home position"
msgstr "Ustaw pozycję wyjściową"
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr "Pozycja domowa ustawiona na: %s"
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr "Nie masz uprawnien do zmiany czasu \"home\"!"
#: register.lua
msgid "Go home"
msgstr "Idź do domu"
#: register.lua
msgid "Set time to day"
msgstr "Ustaw czas na dzień"
#: register.lua
msgid "Time of day set to 6am"
msgstr "Czas ustawiony na 6:00"
#: register.lua
msgid "You don't have the settime privilege!"
msgstr "Nie masz uprawnien do zmiany czasu \"settime\"!"
#: register.lua
msgid "Set time to night"
msgstr "Ustaw czas na noc"
#: register.lua
msgid "Time of day set to 9pm"
msgstr "Czas ustawiony na 21:00"
#: register.lua
msgid "Clear inventory"
msgstr "Wyczyść zapasy"
#: register.lua
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr ""
#: register.lua
msgid "Inventory cleared!"
msgstr "Zapasy zostały wyczyszczone!"
#: register.lua
msgid "Trash:"
msgstr "Smietnik:"
#: register.lua
msgid "Refill:"
msgstr "Uzupelnianie:"
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr ""
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr ""
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr "Recepta %d z %d"
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr "Użycie %d z %d"
#: register.lua
msgid "No recipes"
msgstr "Brak recepty"
#: register.lua
msgid "No usages"
msgstr "Bez użycia"
#: register.lua
msgid "Result"
msgstr "Wynik"
#: register.lua
msgid "Ingredient"
msgstr "Składnik"
#: register.lua
msgid "Show next recipe"
msgstr ""
#: register.lua
msgid "Show next usage"
msgstr ""
#: register.lua
msgid "Show previous recipe"
msgstr ""
#: register.lua
msgid "Show previous usage"
msgstr ""
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr ""
#: register.lua
msgid "Give me:"
msgstr "Daj mi:"
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
#: register.lua
msgid "To craft grid:"
msgstr ""
#: register.lua
msgid "All"
msgstr "Wszystko"
#: waypoints.lua
msgid "White"
msgstr "Bialy"
#: waypoints.lua
msgid "Yellow"
msgstr "Zolty"
#: waypoints.lua
msgid "Red"
msgstr "Czerwony"
#: waypoints.lua
msgid "Green"
msgstr "Zielony"
#: waypoints.lua
msgid "Blue"
msgstr "Niebieski"
#: waypoints.lua
msgid "Waypoints"
msgstr "Punkty orientacyjne"
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr "Wybierz punkt #%d"
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr "Punkty orientacyjne %d"
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr "Ustaw punkt orientacyjny na biezacej pozycji"
#: waypoints.lua
msgid "invisible"
msgstr "niewidzialny"
#: waypoints.lua
msgid "visible"
msgstr "widomy"
#: waypoints.lua
msgid "Make waypoint @1"
msgstr "Robić punkt @1"
#: waypoints.lua
msgid "Disable"
msgstr ""
#: waypoints.lua
msgid "Enable"
msgstr ""
#: waypoints.lua
msgid "@1 display of waypoint coordinates"
msgstr "@1 koordynatow punktu"
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr "Zmien kolor punktu"
#: waypoints.lua
msgid "Edit waypoint name"
msgstr "Edytuj nazwe punktu"
#: waypoints.lua
msgid "Waypoint active"
msgstr "Punkt wlaczony"
#: waypoints.lua
msgid "Waypoint inactive"
msgstr "Punkt wylaczony"
#: waypoints.lua
msgid "Finish editing"
msgstr "Zakoncz edycje"
#: waypoints.lua
msgid "World position"
msgstr "Pozycja"
#: waypoints.lua
msgid "Name"
msgstr "Nazwa"
#: waypoints.lua
msgid "HUD text color"
msgstr "Kolor tekstu HUD"

View File

@ -1,68 +0,0 @@
# Translation by RealBadAngel
### bags.lua ###
Bags = Plecaki
Bag @1 = Plecak @1
Small Bag = Maly plecak
Medium Bag = Sredni plecak
Large Bag = Duzy plecak
### inernal.lua ###
First page = Pierwsza strona
Back three pages = 3 strony w tyl
Back one page = 1 strona w tyl
Forward one page = 1 strona do przodu
Forward three pages = 3 strony do przodu
Last page = Ostatnia strona
No matching items = Brak pasujacych przedmiotow
Page = Strona
%s of %s = %s z %s
Filter = Filtr
Search = Szukaj
### register.lua ###
Can use the creative inventory =
Home position set to: %s = Pozycja domowa ustawiona na: %s
Time of day set to 6am = Czas ustawiony na 6:00
You don't have the settime priviledge! = Nie masz uprawnien do zmiany czasu (settime)!
Time of day set to 9pm = Czas ustawiony na 21:00
This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. =
Inventory cleared! =
Crafting =
Trash: = Smietnik:
Refill: = Uzupelnianie:
Crafting Guide =
Method: = Metoda:
Result: %s = Wynik: %s
crafting =
shapeless crafting =
cooking =
alloy cooking =
Copy to craft grid: =
All = Wszystko
Recipe %s of %s = Recepta %s z %s
Alternate = Alternatywa
Crafting Grid =
### waypoints.lua ###
White = Bialy
Yellow = Zolty
Red = Czerwony
Green = Zielony
Blue = Niebieski
Waypoints = Punkty orientacyjne
Waypoint active = Punkt wlaczony
Waypoint inactive = Punkt wylaczony
World position = Pozycja
Name = Nazwa
HUD text color = Kolor tekstu HUD
Edit waypoint name = Edytuj nazwe punktu
Rename waypoint = Zmien nazwe punktu
Change color of waypoint display = Zmien kolor punktu
Set waypoint to current location = Ustaw punkt orientacyjny na biezacej pozycji
Make waypoint visible = Pokaz punkt
Make waypoint invisible = Nie pokazuj punktu
Disable display of waypoint coordinates = Pokazuj koordynaty punktu
Enable display of waypoint coordinates = Nie pokazuj koordynatow punktu
Finish editing = Zakoncz edycje
Select Waypoint #%d = Wybierz punkt #%d

View File

@ -0,0 +1,366 @@
# Portuguese translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# Lunovox <lunovox@openmailbox.org>
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 16:48+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: CodeXP <codexp@gmx.net>\n"
"Language-Team: \n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: api.lua register.lua
msgid "Crafting"
msgstr "Artesanato"
#: api.lua
msgid "Mixing"
msgstr "Muistura"
#: api.lua
msgid "Cooking"
msgstr "Cozimento"
#: api.lua
msgid "Digging"
msgstr "Escavação"
#: bags.lua
msgid "Bags"
msgstr "Bolsas"
#: bags.lua
msgid "Bag @1"
msgstr "Bolsa @1"
#: bags.lua
msgid "Small Bag"
msgstr "Bolsa Pequena"
#: bags.lua
msgid "Medium Bag"
msgstr "Bolsa Média"
#: bags.lua
msgid "Large Bag"
msgstr "Bolsa Grande"
#: group.lua
msgid " and "
msgstr " e "
#: internal.lua
msgid "First page"
msgstr "Primeira Página"
#: internal.lua
msgid "Back three pages"
msgstr "Voltar 3 Páginas"
#: internal.lua
msgid "Back one page"
msgstr "Voltar 1 Página"
#: internal.lua
msgid "Forward one page"
msgstr "Avançar 1 Página"
#: internal.lua
msgid "Forward three pages"
msgstr "Avançar 3 Páginas"
#: internal.lua
msgid "Last page"
msgstr "Ultima Página"
#: internal.lua
msgid "Search"
msgstr "Pesquisar"
#: internal.lua
msgid "Reset search and display everything"
msgstr "Redefinir pesquisa e exibir tudo"
#: internal.lua
msgid "No matching items"
msgstr "Nenhum item correspondente"
#: internal.lua
msgid "No matches."
msgstr "Sem correspondências"
#: internal.lua
msgid "Page"
msgstr "Página"
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr "%s de %s"
#: internal.lua
msgid "Filter"
msgstr "Filtro"
#: register.lua
msgid "Can use the creative inventory"
msgstr "Pode usar o inventário do criativo"
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
"Força o Unified Inventory a ser exibido no modo Full se o modo Lite estiver "
"configurado globalmente"
#: register.lua
msgid "Crafting Grid"
msgstr "Grade de Artesanato"
#: register.lua
msgid "Crafting Guide"
msgstr "Guia de Artesanato"
#: register.lua
msgid "Set home position"
msgstr "Definir posição de casa"
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr "Posição inicial definida para: %s"
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr "Você não tem o privilégio de \"home\"!"
#: register.lua
msgid "Go home"
msgstr "Transportar para Casa"
#: register.lua
msgid "Set time to day"
msgstr "Definir turno para dia"
#: register.lua
msgid "Time of day set to 6am"
msgstr "Hora do dia definida para 06h"
#: register.lua
msgid "You don't have the settime privilege!"
msgstr "Você não tem o privilégio de \"settime\"!"
#: register.lua
msgid "Set time to night"
msgstr "Definir turno para noite"
#: register.lua
msgid "Time of day set to 9pm"
msgstr "Hora do dia ajustada para 21h"
#: register.lua
msgid "Clear inventory"
msgstr "Limpar Inventário"
#: register.lua
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr ""
"Este botão foi desativado fora do modo de criativo para evitar o descarte "
"acidental de inventário. \n"
"Use o slot de lixo em vez disso."
#: register.lua
msgid "Inventory cleared!"
msgstr "Inventário Apagado!"
#: register.lua
msgid "Trash:"
msgstr "Lixo:"
#: register.lua
msgid "Refill:"
msgstr "Recarga:"
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr "Qualquer item pertencente ao grupo '%s'."
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr "Qualquer item pertencente aos grupos '%s'."
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr "Receita %d de %d"
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr "Utilização %d de %d"
#: register.lua
msgid "No recipes"
msgstr "Sem Receita"
#: register.lua
msgid "No usages"
msgstr "Sem Utilização"
#: register.lua
msgid "Result"
msgstr "Resultado"
#: register.lua
msgid "Ingredient"
msgstr "Ingrediente"
#: register.lua
msgid "Show next recipe"
msgstr "Exibir Próxima Receita"
#: register.lua
msgid "Show next usage"
msgstr "Mostrar Próxima Utilização"
#: register.lua
msgid "Show previous recipe"
msgstr "Exibir Receita Anterior"
#: register.lua
msgid "Show previous usage"
msgstr "Exibir Utilização Anterior"
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr ""
#: register.lua
msgid "Give me:"
msgstr "Gerado:"
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
"Esta receita é grande \n"
"demais para ser apresentada."
#: register.lua
msgid "To craft grid:"
msgstr "Para Grade de Artesanato"
#: register.lua
msgid "All"
msgstr "MAX"
#: waypoints.lua
msgid "White"
msgstr "Branco"
#: waypoints.lua
msgid "Yellow"
msgstr "Amarelo"
#: waypoints.lua
msgid "Red"
msgstr "Vermelho"
#: waypoints.lua
msgid "Green"
msgstr "Verde"
#: waypoints.lua
msgid "Blue"
msgstr "Azul"
#: waypoints.lua
msgid "Waypoints"
msgstr "Apontador de Direção"
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr "Seleção de Apontador de Direção #%02d"
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr "Apontador de Direção %d"
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr "Configurar localização atual do Apontador de Direção"
#: waypoints.lua
msgid "invisible"
msgstr "invisível"
#: waypoints.lua
msgid "visible"
msgstr "visível"
#: waypoints.lua
msgid "Make waypoint @1"
msgstr "Fazer Apontador de Direção @1"
#: waypoints.lua
msgid "Disable"
msgstr ""
#: waypoints.lua
msgid "Enable"
msgstr ""
#: waypoints.lua
msgid "@1 display of waypoint coordinates"
msgstr "@1 exibição de coordenadas de Fazer Apontador de Direção"
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr "Mudar cor exibida do Apontador de Direção"
#: waypoints.lua
msgid "Edit waypoint name"
msgstr "Editar Nome de Apontador de Direção"
#: waypoints.lua
msgid "Waypoint active"
msgstr "Apontador de Direção Ativo"
#: waypoints.lua
msgid "Waypoint inactive"
msgstr "Apontador de Direção Inativo"
#: waypoints.lua
msgid "Finish editing"
msgstr "Edição Finalizada"
#: waypoints.lua
msgid "World position"
msgstr "Posição Mundial"
#: waypoints.lua
msgid "Name"
msgstr "Nome"
#: waypoints.lua
msgid "HUD text color"
msgstr "Cor de HUD"

View File

@ -1,107 +0,0 @@
# Translation by Lunovox <lunovox@openmailbox.org>
### api.lua ###
Digging (by chance) = Cavando (por acaso)
# Template
### bags.lua ###
Bags = Bolsas
Bag @1 = Bolsa @1
Small Bag = Bolsa Pequena
Medium Bag = Bolsa Média
Large Bag = Bolsa Grande
### inernal.lua ###
First page = Primeira Página
Back three pages = Voltar 3 Páginas
Back one page = Voltar 1 Página
Forward one page = Avançar 1 Página
Forward three pages = Avançar 3 Páginas
Last page = Ultima Página
No matching items = Nenhum item correspondente
Page = Página
%s of %s = %s de %s
Filter = Filtro
Search = Pesquisar
Reset search and display everything = Redefinir pesquisa e exibir tudo
### register.lua ###
Can use the creative inventory = Pode usar o inventário do criativo
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally = Força o Unified Inventory a ser exibido no modo Full se o modo Lite estiver configurado globalmente
Home position set to: %s = Posição inicial definida para: %s
Time of day set to 6am = Hora do dia definida para 06h
You don't have the settime priviledge! = Você não tem o privilégio de 'settime'!
Time of day set to 9pm = Hora do dia ajustada para 21h
This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Este botão foi desativado fora do modo de criativo para evitar o descarte acidental de inventário. \nUse o slot de lixo em vez disso.
Inventory cleared! = Inventário Apagado!
Crafting = Artesanato
Digging = Escavação
Cooking = Cozimento
Mixing = Muistura
Trash: = Lixo:
Refill: = Recarga:
Crafting Guide = Guia de Artesanato
Method: = Método:
Result: %s = Resultado: %s
crafting = artesanato
shapeless crafting = artesanato sem formato
cooking = cozinhar
alloy cooking = Cozinhar em liga
Copy to craft grid: = Copiar para grade de artesanato:
All = MAX
Alternate = Alternar
Crafting Grid = Grade de Artesanato
Show next recipe = Exibir Próxima Receita
Show next usage = Mostrar Próxima Utilização
Show previous recipe = Exibir Receita Anterior
Show previous usage = Exibir Utilização Anterior
# Shown for huge crafting recipes; try to keep the line length short and use multiple line breaks as needed
This recipe is too\nlarge to be displayed. = Esta receita é grande \ndemais para ser apresentada.
# %s = group name (e.g. wool)
Any item belonging to the %s group = Qualquer item pertencente ao grupo '%s'.
# %s = List of “and”-concatenated group names
Any item belonging to the groups %s = Qualquer item pertencente aos grupos '%s'.
Recipe %d of %d = Receita %s de %s
Usage %d of %d = Utilização %s de %s
No recipes = Sem Receita
No usages = Sem Utilização
Result = Resultado
Ingredient = Ingrediente
Set time to day = Definir turno para dia
Set time to night = Definir turno para noite
Set home position = Definir posição de casa
Go home = Transportar para Casa
Clear inventory = Limpar Inventário
Give me: = Gerado:
To craft grid: = Para Grade de Artesanato
### group.lua ###
# Logical connective, example: “Any item belonging to the groups foo and bar”
\sand\s =
### waypoints.lua ###
White = Branco
Yellow = Amarelo
Red = Vermelho
Green = Verde
Blue = Azul
Waypoints = Apontador de Direção
Waypoint %d = Apontador de Direção %002
Waypoint active = Apontador de Direção Ativo
Waypoint inactive = Apontador de Direção Inativo
World position = Posição Mundial
Name = Nome
HUD text color = Cor de HUD
Edit waypoint name = Editar Nome de Apontador de Direção
Rename waypoint = Renomear Apontador de Direção
Change color of waypoint display = Mudar cor exibida do Apontador de Direção
Set waypoint to current location = Configurar localização atual do Apontador de Direção
Make waypoint visible = Fazer Apontador de Direção Visível
Make waypoint invisible = Fazer Apontador de Direção Invisível
Disable display of waypoint coordinates = Desativar exibição de coordenadas de Fazer Apontador de Direção
Enable display of waypoint coordinates = Ativar exibição de coordenadas de Fazer Apontador de Direção
Finish editing = Edição Finalizada
Select Waypoint #%d = Seleção de Apontador de Direção #%02d

View File

@ -0,0 +1,366 @@
# Russian translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# eternal_sorrow
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 03:34+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: CodeXP <codexp@gmx.net>\n"
"Language-Team: \n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: api.lua register.lua
#, fuzzy
msgid "Crafting"
msgstr "Крафт"
#: api.lua
msgid "Mixing"
msgstr "Мешать"
#: api.lua
msgid "Cooking"
msgstr "Варить"
#: api.lua
msgid "Digging"
msgstr "Копать"
#: bags.lua
msgid "Bags"
msgstr "Сумки"
#: bags.lua
msgid "Bag @1"
msgstr "Сумка @1"
#: bags.lua
msgid "Small Bag"
msgstr "Малая сумка"
#: bags.lua
msgid "Medium Bag"
msgstr "Средняя сумка"
#: bags.lua
msgid "Large Bag"
msgstr "Большая сумка"
#: group.lua
msgid " and "
msgstr " и "
#: internal.lua
msgid "First page"
msgstr "Первая страница"
#: internal.lua
msgid "Back three pages"
msgstr "3 страницы назад"
#: internal.lua
msgid "Back one page"
msgstr "1 страницу назад"
#: internal.lua
msgid "Forward one page"
msgstr "1 страницу вперёд"
#: internal.lua
msgid "Forward three pages"
msgstr "3 страницы вперёд"
#: internal.lua
msgid "Last page"
msgstr "Последняя страница"
#: internal.lua
msgid "Search"
msgstr "Поиск"
#: internal.lua
msgid "Reset search and display everything"
msgstr "Сброс поиска, показать всё"
#: internal.lua
msgid "No matching items"
msgstr "Нет подходящих элементов"
#: internal.lua
msgid "No matches."
msgstr "Ничего не найдено"
#: internal.lua
msgid "Page"
msgstr "Страница"
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr "%s из %s"
#: internal.lua
msgid "Filter"
msgstr "Фильтр"
#: register.lua
msgid "Can use the creative inventory"
msgstr "Можно использовать инвентарь творческого режима"
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
#: register.lua
msgid "Crafting Grid"
msgstr "Решетка крафта"
#: register.lua
msgid "Crafting Guide"
msgstr "Книга рецептов"
#: register.lua
msgid "Set home position"
msgstr "Установить позицию дома"
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr "Дом теперь расположен по коодинатам: %s"
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr "У вас нет привилегии \"home\"!"
#: register.lua
msgid "Go home"
msgstr "Отправиться домой"
#: register.lua
msgid "Set time to day"
msgstr "День"
#: register.lua
msgid "Time of day set to 6am"
msgstr "Установлено время 6 утра"
#: register.lua
#, fuzzy
msgid "You don't have the settime privilege!"
msgstr "Вам не разрешено устанавливать время! (нет привилегии \"settime\")"
#: register.lua
msgid "Set time to night"
msgstr "Ночь"
#: register.lua
msgid "Time of day set to 9pm"
msgstr "Установлено время 9 вечера"
#: register.lua
msgid "Clear inventory"
msgstr "Очистить инвентарь"
#: register.lua
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr ""
"Эта кнопка отключена вне творческого режима, чтобы предотвратить случайное "
"уничтожение предметов.\n"
"Используйте слот корзины вместо нее."
#: register.lua
msgid "Inventory cleared!"
msgstr "Инвентарь очищен!"
#: register.lua
msgid "Trash:"
msgstr "Мусор:"
#: register.lua
msgid "Refill:"
msgstr "Наполнить:"
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr "Любой элемент из группы: %s"
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr "Любой элемент из группы: %s"
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr "Рецепт %s из %s"
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr "Вариант %d of %d"
#: register.lua
msgid "No recipes"
msgstr "Рецептов нет"
#: register.lua
msgid "No usages"
msgstr "Не используется"
#: register.lua
msgid "Result"
msgstr "Результат"
#: register.lua
msgid "Ingredient"
msgstr "Состав"
#: register.lua
msgid "Show next recipe"
msgstr "Следующий рецепт"
#: register.lua
msgid "Show next usage"
msgstr "Следующее использование"
#: register.lua
msgid "Show previous recipe"
msgstr "Прошлый рецепт"
#: register.lua
msgid "Show previous usage"
msgstr "Прошлая страница"
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr ""
#: register.lua
msgid "Give me:"
msgstr "Дай мне:"
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
"Этот рецепт не\n"
"помещается в решетку."
#: register.lua
msgid "To craft grid:"
msgstr "На решeтку крафта:"
#: register.lua
msgid "All"
msgstr "Все"
#: waypoints.lua
msgid "White"
msgstr "Белый"
#: waypoints.lua
msgid "Yellow"
msgstr "Желтый"
#: waypoints.lua
msgid "Red"
msgstr "Красный"
#: waypoints.lua
msgid "Green"
msgstr "Зелёный"
#: waypoints.lua
msgid "Blue"
msgstr "Синий"
#: waypoints.lua
msgid "Waypoints"
msgstr "Путевые точки"
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr "Выбрать путевую точку №%d"
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr "Путевая точка %d"
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr "Установить путевую точку по текущей позиции"
#: waypoints.lua
msgid "invisible"
msgstr "невидимой"
#: waypoints.lua
msgid "visible"
msgstr "видимой"
#: waypoints.lua
msgid "Make waypoint @1"
msgstr "Сделать путевую точку @1"
#: waypoints.lua
msgid "Disable"
msgstr "Выключить"
#: waypoints.lua
msgid "Enable"
msgstr "Включить"
#: waypoints.lua
msgid "@1 display of waypoint coordinates"
msgstr "@1 показ координат путевых точек"
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr "Поменять цвет путевой точки"
#: waypoints.lua
msgid "Edit waypoint name"
msgstr "Переименовать путевую точку"
#: waypoints.lua
msgid "Waypoint active"
msgstr "Путевая точка включена"
#: waypoints.lua
msgid "Waypoint inactive"
msgstr "Путевая точка выключена"
#: waypoints.lua
msgid "Finish editing"
msgstr "Закончить редакцию"
#: waypoints.lua
msgid "World position"
msgstr "Позиция мира"
#: waypoints.lua
msgid "Name"
msgstr "Имя"
#: waypoints.lua
msgid "HUD text color"
msgstr "Цвет текста HUDа"

View File

@ -1,73 +0,0 @@
# Translation by eternal_sorrow
# Template
### bags.lua ###
Bags = Сумки
Bag @1 = Сумка @1
Small Bag = Малая сумка
Medium Bag = Средняя сумка
Large Bag = Большая сумка
### inernal.lua ###
First page = Первая страница
Back three pages = Назад на три страницы
Back one page = Назад на одну страницу
Forward one page = Вперед на одну страницу
Forward three pages = Вперед на три страницы
Last page = Последняя страница
No matching items = Совпадений нет
Page = Страница
%s of %s = %s из %s
Filter = Фильтр
Search = Поиск
### register.lua ###
Can use the creative inventory = Можно использовать инвентарь творческого режима
Home position set to: %s = Дом теперь расположен по коодинатам: %s
Time of day set to 6am = Установлено время 6 утра
You don't have the settime priviledge! = Вам не разрешено устанавливать время!
Time of day set to 9pm = Установлено время 9 вечера
This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Эта кнопка отключена вне творческого режима, чтобы предотвратить случайное уничтожение предметов.\nИспользуйте слот корзины вместо нее.
Inventory cleared! = Инвентарь очищен!
Crafting = Крафт
Trash: = Корзина:
Refill: = Размножить:
Crafting Guide = Книга рецептов
Method: = Способ:
Result: %s = Результат: %s
crafting = крафт
shapeless crafting = бесформенный крафт
cooking = жарка
alloy cooking = приготовление сплавов
Copy to craft grid: = В решетку крафта:
All = Все
Recipe %s of %s = Рецепт %s из %s
Alternate = Следующий
Crafting Grid = Решетка крафта
Go home = Отправиться домой
Set time to day = День
Set time to night = Ночь
Clear inventory = Очистить инвентарь
### waypoints.lua ###
White = Белый
Yellow = Желтый
Red = Красный
Green = Зелёный
Blue = Синий
Waypoints = Путевые точки
Waypoint active = Путевая точка активна
Waypoint inactive = Путевая точка неактивна
World position = Позиция
Name = Имя
HUD text color = Цвет текста
Edit waypoint name = Редактировать имя путевой точки
Rename waypoint = Переименовать путевую точку
Change color of waypoint display = Изменить цвет путевой точки
Set waypoint to current location = Установить путевую точку в текущем местоположении
Make waypoint visible = Сделать путевую точку видимой
Make waypoint invisible = Сделать путевую точку невидимой
Disable display of waypoint coordinates = Отключить отображение координат путевой точки
Enable display of waypoint coordinates = Включить отображение координат путевой точки
Finish editing = Завершить редактирование
Select Waypoint #%d = Выбрать путевую точку №%d

View File

@ -0,0 +1,358 @@
# LANGUAGE translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 03:34+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: api.lua register.lua
msgid "Crafting"
msgstr ""
#: api.lua
msgid "Mixing"
msgstr ""
#: api.lua
msgid "Cooking"
msgstr ""
#: api.lua
msgid "Digging"
msgstr ""
#: bags.lua
msgid "Bags"
msgstr ""
#: bags.lua
msgid "Bag @1"
msgstr ""
#: bags.lua
msgid "Small Bag"
msgstr ""
#: bags.lua
msgid "Medium Bag"
msgstr ""
#: bags.lua
msgid "Large Bag"
msgstr ""
#: group.lua
msgid " and "
msgstr ""
#: internal.lua
msgid "First page"
msgstr ""
#: internal.lua
msgid "Back three pages"
msgstr ""
#: internal.lua
msgid "Back one page"
msgstr ""
#: internal.lua
msgid "Forward one page"
msgstr ""
#: internal.lua
msgid "Forward three pages"
msgstr ""
#: internal.lua
msgid "Last page"
msgstr ""
#: internal.lua
msgid "Search"
msgstr ""
#: internal.lua
msgid "Reset search and display everything"
msgstr ""
#: internal.lua
msgid "No matching items"
msgstr ""
#: internal.lua
msgid "No matches."
msgstr ""
#: internal.lua
msgid "Page"
msgstr ""
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr ""
#: internal.lua
msgid "Filter"
msgstr ""
#: register.lua
msgid "Can use the creative inventory"
msgstr ""
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
#: register.lua
msgid "Crafting Grid"
msgstr ""
#: register.lua
msgid "Crafting Guide"
msgstr ""
#: register.lua
msgid "Set home position"
msgstr ""
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr ""
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr ""
#: register.lua
msgid "Go home"
msgstr ""
#: register.lua
msgid "Set time to day"
msgstr ""
#: register.lua
msgid "Time of day set to 6am"
msgstr ""
#: register.lua
msgid "You don't have the settime privilege!"
msgstr ""
#: register.lua
msgid "Set time to night"
msgstr ""
#: register.lua
msgid "Time of day set to 9pm"
msgstr ""
#: register.lua
msgid "Clear inventory"
msgstr ""
#: register.lua
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr ""
#: register.lua
msgid "Inventory cleared!"
msgstr ""
#: register.lua
msgid "Trash:"
msgstr ""
#: register.lua
msgid "Refill:"
msgstr ""
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr ""
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr ""
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr ""
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr ""
#: register.lua
msgid "No recipes"
msgstr ""
#: register.lua
msgid "No usages"
msgstr ""
#: register.lua
msgid "Result"
msgstr ""
#: register.lua
msgid "Ingredient"
msgstr ""
#: register.lua
msgid "Show next recipe"
msgstr ""
#: register.lua
msgid "Show next usage"
msgstr ""
#: register.lua
msgid "Show previous recipe"
msgstr ""
#: register.lua
msgid "Show previous usage"
msgstr ""
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr ""
#: register.lua
msgid "Give me:"
msgstr ""
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
#: register.lua
msgid "To craft grid:"
msgstr ""
#: register.lua
msgid "All"
msgstr ""
#: waypoints.lua
msgid "White"
msgstr ""
#: waypoints.lua
msgid "Yellow"
msgstr ""
#: waypoints.lua
msgid "Red"
msgstr ""
#: waypoints.lua
msgid "Green"
msgstr ""
#: waypoints.lua
msgid "Blue"
msgstr ""
#: waypoints.lua
msgid "Waypoints"
msgstr ""
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr ""
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr ""
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr ""
#: waypoints.lua
msgid "invisible"
msgstr ""
#: waypoints.lua
msgid "visible"
msgstr ""
#: waypoints.lua
msgid "Make waypoint @1"
msgstr ""
#: waypoints.lua
msgid "Disable"
msgstr ""
#: waypoints.lua
msgid "Enable"
msgstr ""
#: waypoints.lua
msgid "@1 display of waypoint coordinates"
msgstr ""
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr ""
#: waypoints.lua
msgid "Edit waypoint name"
msgstr ""
#: waypoints.lua
msgid "Waypoint active"
msgstr ""
#: waypoints.lua
msgid "Waypoint inactive"
msgstr ""
#: waypoints.lua
msgid "Finish editing"
msgstr ""
#: waypoints.lua
msgid "World position"
msgstr ""
#: waypoints.lua
msgid "Name"
msgstr ""
#: waypoints.lua
msgid "HUD text color"
msgstr ""

View File

@ -1,104 +0,0 @@
# Translation by
### api.lua ###
Digging (by chance) =
# Template
### bags.lua ###
Bags =
Bag @1 =
Small Bag =
Medium Bag =
Large Bag =
### inernal.lua ###
First page =
Back three pages =
Back one page =
Forward one page =
Forward three pages =
Last page =
No matching items =
Page =
%s of %s =
Filter =
Search =
Reset search and display everything =
### register.lua ###
Can use the creative inventory =
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally =
Home position set to: %s =
Time of day set to 6am =
You don't have the settime priviledge! =
Time of day set to 9pm =
This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. =
Inventory cleared! =
Crafting =
Digging =
Cooking =
Mixing =
Trash: =
Refill: =
Crafting Guide =
Method: =
Result: %s =
crafting =
shapeless crafting =
cooking =
alloy cooking =
Copy to craft grid: =
All =
Alternate =
Crafting Grid =
Show next recipe =
Show next usage =
Show previous recipe =
Show previous usage =
# Shown for huge crafting recipes; try to keep the line length short and use multiple line breaks as needed
This recipe is too\nlarge to be displayed. =
# %s = group name (e.g. wool)
Any item belonging to the %s group =
# %s = List of “and”-concatenated group names
Any item belonging to the groups %s =
Recipe %d of %d =
Usage %d of %d =
No recipes =
No usages =
Result =
Ingredient =
Set time to day =
Set time to night =
Set home position =
Go home =
Clear inventory =
Give me: =
To craft grid: =
### group.lua ###
# Logical connective, example: “Any item belonging to the groups foo and bar”
\sand\s =
### waypoints.lua ###
White =
Yellow =
Red =
Green =
Blue =
Waypoints =
Waypoint %d =
Waypoint active =
Waypoint inactive =
World position =
Name =
HUD text color =
Edit waypoint name =
Rename waypoint =
Change color of waypoint display =
Set waypoint to current location =
Make waypoint visible =
Make waypoint invisible =
Disable display of waypoint coordinates =
Enable display of waypoint coordinates =
Finish editing =
Select Waypoint #%d =

View File

@ -0,0 +1,360 @@
# Turkish translation for the unified_inventory mod.
# Copyright (C) 2018 Maciej Kasatkin (RealBadAngel)
# This file is distributed under the same license as the unified_inventory package.
# Mahmutelmas06@hotmail.com
# CodeXP <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: unified_inventory\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-02 13:41+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: CodeXP <codexp@gmx.net>\n"
"Language-Team: \n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: api.lua register.lua
msgid "Crafting"
msgstr "Üretim"
#: api.lua
msgid "Mixing"
msgstr "Karıştırma"
#: api.lua
msgid "Cooking"
msgstr "Pişirme"
#: api.lua
msgid "Digging"
msgstr "Kazma"
#: bags.lua
msgid "Bags"
msgstr "Çantalarım"
#: bags.lua
msgid "Bag @1"
msgstr "@1. Çanta"
#: bags.lua
msgid "Small Bag"
msgstr "Küçük Çanta"
#: bags.lua
msgid "Medium Bag"
msgstr "Çanta"
#: bags.lua
msgid "Large Bag"
msgstr "Büyük Çanta"
#: group.lua
msgid " and "
msgstr " ve "
#: internal.lua
msgid "First page"
msgstr "İlk Sayfa"
#: internal.lua
msgid "Back three pages"
msgstr "3 Sayfa Gerile"
#: internal.lua
msgid "Back one page"
msgstr "Geri"
#: internal.lua
msgid "Forward one page"
msgstr "İleri"
#: internal.lua
msgid "Forward three pages"
msgstr "3 Sayfa İlerile"
#: internal.lua
msgid "Last page"
msgstr "Son Sayfa"
#: internal.lua
msgid "Search"
msgstr "Ara"
#: internal.lua
msgid "Reset search and display everything"
msgstr ""
#: internal.lua
msgid "No matching items"
msgstr "Eşleşme yok"
#: internal.lua
msgid "No matches."
msgstr "Eşleşme yok"
#: internal.lua
msgid "Page"
msgstr "Sayfa"
#: internal.lua
#, lua-format
msgid "%s of %s"
msgstr "%s dan %s"
#: internal.lua
msgid "Filter"
msgstr "Süzgeç"
#: register.lua
msgid "Can use the creative inventory"
msgstr "Yaratıcı envanteri kullanabilir"
#: register.lua
msgid ""
"Forces Unified Inventory to be displayed in Full mode if Lite mode is "
"configured globally"
msgstr ""
#: register.lua
msgid "Crafting Grid"
msgstr "Üretim tablosu"
#: register.lua
msgid "Crafting Guide"
msgstr "Kılavuz"
#: register.lua
msgid "Set home position"
msgstr "Set ev pozisyon"
#: register.lua
#, lua-format
msgid "Home position set to: %s"
msgstr "Yeni eviniz: %s"
#: register.lua
msgid "You don't have the \"home\" privilege!"
msgstr "\"home\" yetkiniz yok!"
#: register.lua
msgid "Go home"
msgstr "Eve git"
#: register.lua
msgid "Set time to day"
msgstr "Güne zaman ayarla"
#: register.lua
msgid "Time of day set to 6am"
msgstr "Saat 06:00 olarak ayarlandı"
#: register.lua
msgid "You don't have the settime privilege!"
msgstr "\"settime\" yetkiniz yok!"
#: register.lua
msgid "Set time to night"
msgstr "Geceye zaman ayarla"
#: register.lua
msgid "Time of day set to 9pm"
msgstr "Saat 19:00 olarak ayarlandı"
#: register.lua
msgid "Clear inventory"
msgstr ""
#: register.lua
msgid ""
"This button has been disabled outside of creative mode to prevent accidental "
"inventory trashing.\n"
"Use the trash slot instead."
msgstr "Yaratıcı modu dışında iken bu tuş kullanılamaz."
#: register.lua
msgid "Inventory cleared!"
msgstr "Envanter temizlendi!"
#: register.lua
msgid "Trash:"
msgstr "Çöp"
#: register.lua
msgid "Refill:"
msgstr "Doldur"
#: register.lua
#, lua-format
msgid "Any item belonging to the %s group"
msgstr ""
#: register.lua
#, lua-format
msgid "Any item belonging to the groups %s"
msgstr ""
#: register.lua
#, lua-format
msgid "Recipe %d of %d"
msgstr "%d dan %d tarifi"
#: register.lua
#, lua-format
msgid "Usage %d of %d"
msgstr "Kullanım %d/%d"
#: register.lua
msgid "No recipes"
msgstr "Tarifi yok"
#: register.lua
msgid "No usages"
msgstr "Kullanım yok"
#: register.lua
msgid "Result"
msgstr "Çıktı"
#: register.lua
msgid "Ingredient"
msgstr "Bileşen"
#: register.lua
msgid "Show next recipe"
msgstr ""
#: register.lua
msgid "Show next usage"
msgstr ""
#: register.lua
msgid "Show previous recipe"
msgstr ""
#: register.lua
msgid "Show previous usage"
msgstr ""
#: register.lua
#, lua-format
msgid "%s (%s)"
msgstr ""
#: register.lua
msgid "Give me:"
msgstr "Ver bana:"
#: register.lua
msgid ""
"This recipe is too\n"
"large to be displayed."
msgstr ""
#: register.lua
#, fuzzy
msgid "To craft grid:"
msgstr "Üretim tablosuna kopyala"
#: register.lua
msgid "All"
msgstr "Tümü"
#: waypoints.lua
msgid "White"
msgstr "Beyaz"
#: waypoints.lua
msgid "Yellow"
msgstr "Sarı"
#: waypoints.lua
msgid "Red"
msgstr "Kırmızı"
#: waypoints.lua
msgid "Green"
msgstr "Yeşil"
#: waypoints.lua
msgid "Blue"
msgstr "Mavi"
#: waypoints.lua
msgid "Waypoints"
msgstr "Konum Noktaları"
#: waypoints.lua
#, lua-format
msgid "Select Waypoint #%d"
msgstr "#%d konum noktası seç"
#: waypoints.lua
#, lua-format
msgid "Waypoint %d"
msgstr "%d Konum Noktaları"
#: waypoints.lua
msgid "Set waypoint to current location"
msgstr "Bulunduğun noktayı işaretle"
#: waypoints.lua
msgid "invisible"
msgstr "görünmez"
#: waypoints.lua
msgid "visible"
msgstr "görünür"
#: waypoints.lua
msgid "Make waypoint @1"
msgstr "Yol noktası @1"
#: waypoints.lua
msgid "Disable"
msgstr ""
#: waypoints.lua
msgid "Enable"
msgstr ""
#: waypoints.lua
msgid "@1 display of waypoint coordinates"
msgstr "Yol noktası koordinatlarının görüntülenmesini @1"
#: waypoints.lua
msgid "Change color of waypoint display"
msgstr "Konum Gösterge Rengi"
#: waypoints.lua
msgid "Edit waypoint name"
msgstr "Konum Noktasını Düzenle"
#: waypoints.lua
msgid "Waypoint active"
msgstr "Konum Etkin"
#: waypoints.lua
msgid "Waypoint inactive"
msgstr "Konum Devredışı"
#: waypoints.lua
msgid "Finish editing"
msgstr "Düzenleme bitti"
#: waypoints.lua
msgid "World position"
msgstr "Dünya konumu"
#: waypoints.lua
msgid "Name"
msgstr "İsim"
#: waypoints.lua
msgid "HUD text color"
msgstr "Metin rengi"

View File

@ -1,69 +0,0 @@
# Translation by Mahmutelmas06@hotmail.com
# Template
### bags.lua ###
Bags = Çantalarım
Bag @1 = @1. Çanta
Small Bag = Küçük Çanta
Medium Bag = Çanta
Large Bag = Büyük Çanta
### inernal.lua ###
First page = İlk Sayfa
Back three pages = 3 Sayfa Gerile
Back one page = Geri
Forward one page = İleri
Forward three pages = 3 Sayfa İlerile
Last page = Son Sayfa
No matching items = Eşleşme yok
Page = Sayfa
%s of %s = %s dan %s
Filter = Süzgeç
Search = Ara
### register.lua ###
Can use the creative inventory = Yaratıcı envanteri kullanabilir
Home position set to: %s = Yeni eviniz: %s
Time of day set to 6am = Saat 06:00 olarak ayarlandı
You don't have the settime priviledge = Saati düzenleme yetkiniz yok!
Time of day set to 9pm = Saat 19:00 olarak ayarlandı
This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Yaratıcı modu dışında iken bu tuş kullanılamaz.
Inventory cleared! = Envanter temizlendi!
Crafting = Üretim
Trash: = Çöp
Refill: = Doldur
Crafting Guide = Kılavuz
Method: = Yöntem
Result: %s = Çıktı: %s
crafting = üretim
shapeless crafting = şekilsiz üretim
cooking = pişirme
alloy cooking = karıştırma
Copy to craft grid: = Üretim tablosuna kopyala
All = Tümü
Recipe %s of %s = %s dan %s tarifi
Alternate = Altarnatif
Crafting Grid = Üretim tablosu
### waypoints.lua ###
White = Beyaz
Yellow = Sarı
Red = Kırmızı
Green = Yeşil
Blue = Mavi
Waypoints = Konum Noktaları
Waypoint active = Konum Etkin
Waypoint inactive = Konum Devredışı
World position = Dünya konumu
Name = İsim
HUD text color = Metin rengi
Edit waypoint name = Konum Noktasını Düzenle
Rename waypoint = Konum Noktasını Adlandır
Change color of waypoint display = Konum Gösterge Rengi
Set waypoint to current location = Bulunduğun noktayı işaretle
Make waypoint visible = Konumlar görünür
Make waypoint invisible = Konumlar gözükmez
Disable display of waypoint coordinates = Koordinatları gizle
Enable display of waypoint coordinates = Koordinatları göster
Finish editing = Düzenleme bitti
Select Waypoint #%d = #%d konum noktası seç

View File

@ -1,5 +1,5 @@
local S = unified_inventory.gettext
local F = unified_inventory.fgettext
local F = minetest.formspec_escape
minetest.register_privilege("creative", {
description = S("Can use the creative inventory"),
@ -171,20 +171,20 @@ unified_inventory.register_page("craft", {
local player_name = player:get_player_name()
local formspec = "background[2,"..formspecy..";6,3;ui_crafting_form.png]"
formspec = formspec.."background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]"
formspec = formspec.."label[0,"..formheadery..";" ..F("Crafting").."]"
formspec = formspec.."label[0,"..formheadery..";" ..F(S("Crafting")).."]"
formspec = formspec.."listcolors[#00000000;#00000000]"
formspec = formspec.."list[current_player;craftpreview;6,"..formspecy..";1,1;]"
formspec = formspec.."list[current_player;craft;2,"..formspecy..";3,3;]"
if unified_inventory.trash_enabled or unified_inventory.is_creative(player_name) or minetest.get_player_privs(player_name).give then
formspec = formspec.."label[7,"..(formspecy + 1.5)..";" .. F("Trash:") .. "]"
formspec = formspec.."label[7,"..(formspecy + 1.5)..";" .. F(S("Trash:")) .. "]"
formspec = formspec.."background[7,"..(formspecy + 2)..";1,1;ui_single_slot.png]"
formspec = formspec.."list[detached:trash;main;7,"..(formspecy + 2)..";1,1;]"
end
formspec = formspec.."listring[current_name;craft]"
formspec = formspec.."listring[current_player;main]"
if unified_inventory.is_creative(player_name) then
formspec = formspec.."label[0,"..(formspecy + 1.5)..";" .. F("Refill:") .. "]"
formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."refill;main;0,"..(formspecy +2)..";1,1;]"
formspec = formspec.."label[0,"..(formspecy + 1.5)..";" .. F(S("Refill:")) .. "]"
formspec = formspec.."list[detached:"..F(player_name).."refill;main;0,"..(formspecy +2)..";1,1;]"
end
return {formspec=formspec}
end,
@ -211,10 +211,10 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item)
selectitem = group_item.sole and displayitem or name
end
local label = show_is_group and "G" or ""
local buttonname = minetest.formspec_escape(buttonname_prefix..unified_inventory.mangle_for_formspec(selectitem))
local buttonname = F(buttonname_prefix..unified_inventory.mangle_for_formspec(selectitem))
local button = string.format("item_image_button[%f,%f;%f,%f;%s;%s;%s]",
x, y, w, h,
minetest.formspec_escape(displayitem), buttonname, label)
F(displayitem), buttonname, label)
if show_is_group then
local groupstring, andcount = unified_inventory.extract_groupnames(name)
local grouptip
@ -223,7 +223,7 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item)
elseif andcount > 1 then
grouptip = string.format(S("Any item belonging to the groups %s"), groupstring)
end
grouptip = minetest.formspec_escape(grouptip)
grouptip = F(grouptip)
if andcount >= 1 then
button = button .. string.format("tooltip[%s;%s]", buttonname, grouptip)
end
@ -232,24 +232,24 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item)
end
local recipe_text = {
recipe = "Recipe %d of %d",
usage = "Usage %d of %d",
recipe = S("Recipe %d of %d"),
usage = S("Usage %d of %d"),
}
local no_recipe_text = {
recipe = "No recipes",
usage = "No usages",
recipe = S("No recipes"),
usage = S("No usages"),
}
local role_text = {
recipe = "Result",
usage = "Ingredient",
recipe = S("Result"),
usage = S("Ingredient"),
}
local next_alt_text = {
recipe = "Show next recipe",
usage = "Show next usage",
recipe = S("Show next recipe"),
usage = S("Show next usage"),
}
local prev_alt_text = {
recipe = "Show previous recipe",
usage = "Show previous usage",
recipe = S("Show previous recipe"),
usage = S("Show previous usage"),
}
local other_dir = {
recipe = "usage",
@ -268,7 +268,7 @@ unified_inventory.register_page("craftguide", {
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("Crafting Guide") .. "]"
formspec = formspec.."label[0,"..formheadery..";" .. F(S("Crafting Guide")) .. "]"
formspec = formspec.."listcolors[#00000000;#00000000]"
local item_name = unified_inventory.current_item[player_name]
if not item_name then return {formspec=formspec} end
@ -290,23 +290,25 @@ unified_inventory.register_page("craftguide", {
alternates = #crafts
craft = crafts[alternate]
end
local has_creative = player_privs.give or player_privs.creative or
minetest.settings:get_bool("creative_mode")
formspec = formspec.."background[0.5,"..(formspecy + 0.2)..";8,3;ui_craftguide_form.png]"
formspec = formspec.."textarea["..craftresultx..","..craftresulty
..";10,1;;"..minetest.formspec_escape(F(role_text[dir])..": "..item_name_shown)..";]"
..";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))
if not craft then
formspec = formspec.."label[5.5,"..(formspecy + 2.35)..";"
..minetest.formspec_escape(F(no_recipe_text[dir])).."]"
..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))
if player_privs.give == true or player_privs.creative == true or minetest.setting_getbool("creative_mode") == true then
formspec = formspec.."label[0,"..(formspecy + 2.10)..";" .. F("Give me:") .. "]"
if has_creative 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]"
@ -319,7 +321,7 @@ unified_inventory.register_page("craftguide", {
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)
end
formspec = formspec.."label[5.5,"..(formspecy + 1)..";" .. minetest.formspec_escape(craft_type.description).."]"
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
@ -373,17 +375,17 @@ unified_inventory.register_page("craftguide", {
-- Error
formspec = formspec.."label["
..tostring(2)..","..tostring(formspecy)
..";"..minetest.formspec_escape(S("This recipe is too\nlarge to be displayed.")).."]"
..";"..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("To craft grid:") .. "]"
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("All") .. "]"
.."button[1.3,"..(formspecy + 1.5)..";0.8,0.5;craftguide_craft_max;" .. F(S("All")) .. "]"
end
if player_privs.give == true or player_privs.creative == true or minetest.setting_getbool("creative_mode") == true then
formspec = formspec.."label[0,"..(formspecy + 2.1)..";" .. F("Give me:") .. "]"
if has_creative 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]"

View File

@ -1,5 +1,5 @@
local S = unified_inventory.gettext
local F = unified_inventory.fgettext
local F = minetest.formspec_escape
local hud_colors = {
{"#FFFFFF", 0xFFFFFF, S("White")},
@ -25,7 +25,7 @@ unified_inventory.register_page("waypoints", {
local waypoints = datastorage.get(player_name, "waypoints")
local formspec = "background[0,4.5;8,4;ui_main_inventory.png]" ..
"image[0,0;1,1;ui_waypoints_icon.png]" ..
"label[1,0;" .. F("Waypoints") .. "]"
"label[1,0;" .. F(S("Waypoints")) .. "]"
-- Tabs buttons:
for i = 1, 5, 1 do
@ -49,43 +49,43 @@ unified_inventory.register_page("waypoints", {
"ui_waypoint_set_icon.png;"..
"set_waypoint"..i..";]"..
"tooltip[set_waypoint" .. i .. ";"
.. F("Set waypoint to current location").."]"
.. F(S("Set waypoint to current location")).."]"
formspec = formspec ..
"image_button[5.2,3.7;.8,.8;"..
(waypoint.active and "ui_on_icon.png" or "ui_off_icon.png")..";"..
"toggle_waypoint"..i..";]"..
"tooltip[toggle_waypoint" .. i .. ";"
.. F("Make waypoint "
..(waypoint.active and "invisible" or "visible")).."]"
.. F(S("Make waypoint @1",
waypoint.active and S("invisible") or S("visible"))).."]"
formspec = formspec ..
"image_button[5.9,3.7;.8,.8;"..
(waypoint.display_pos and "ui_green_icon_background.png" or "ui_red_icon_background.png").."^ui_xyz_icon.png;"..
"toggle_display_pos" .. i .. ";]"..
"tooltip[toggle_display_pos" .. i .. ";"
.. F((waypoint.display_pos and "Disable" or "Enable")
.." display of waypoint coordinates").."]"
.. F(S("@1 display of waypoint coordinates",
waypoint.display_pos and S("Disable") or S("Enable"))) .."]"
formspec = formspec ..
"image_button[6.6,3.7;.8,.8;"..
"ui_circular_arrows_icon.png;"..
"toggle_color"..i..";]"..
"tooltip[toggle_color" .. i .. ";"
.. F("Change color of waypoint display").."]"
.. F(S("Change color of waypoint display")).."]"
formspec = formspec ..
"image_button[7.3,3.7;.8,.8;"..
"ui_pencil_icon.png;"..
"rename_waypoint"..i..";]"..
"tooltip[rename_waypoint" .. i .. ";"
.. F("Edit waypoint name").."]"
.. F(S("Edit waypoint name")).."]"
-- Waypoint's info:
if waypoint.active then
formspec = formspec .. "label[1,0.8;"..F("Waypoint active").."]"
formspec = formspec .. "label[1,0.8;"..F(S("Waypoint active")).."]"
else
formspec = formspec .. "label[1,0.8;"..F("Waypoint inactive").."]"
formspec = formspec .. "label[1,0.8;"..F(S("Waypoint inactive")).."]"
end
if temp.edit then
@ -96,13 +96,13 @@ unified_inventory.register_page("waypoints", {
"ui_ok_icon.png;"..
"confirm_rename"..i.. ";]"..
"tooltip[confirm_rename" .. i .. ";"
.. F("Finish editing").."]"
.. F(S("Finish editing")).."]"
end
formspec = formspec .. "label[1,1.3;"..F("World position")..": " ..
formspec = formspec .. "label[1,1.3;"..F(S("World position"))..": " ..
minetest.pos_to_string(waypoint.world_pos or vector.new()) .. "]" ..
"label[1,1.8;"..F("Name")..": ".. (waypoint.name or default_name) .. "]" ..
"label[1,2.3;"..F("HUD text color")..": " ..
"label[1,1.8;"..F(S("Name"))..": ".. (waypoint.name or default_name) .. "]" ..
"label[1,2.3;"..F(S("HUD text color"))..": " ..
hud_colors[waypoint.color or 1][3] .. "]"
return {formspec=formspec}

View File

@ -564,7 +564,7 @@ function unifieddyes.on_use(itemstack, player, pointed_thing)
local stackname = itemstack:get_name()
local playername = player:get_player_name()
if pointed_thing and pointed_thing.type == "node" then
if pointed_thing and pointed_thing.type == "node" and unifieddyes.select_node(pointed_thing) then
if minetest.is_protected(unifieddyes.select_node(pointed_thing), playername)
and not minetest.check_player_privs(playername, "protection_bypass") then
minetest.chat_send_player(playername, "Sorry, someone else owns that spot.")

View File

@ -9,9 +9,9 @@ local tempbans = { }
local DEF_SAVE_INTERVAL = 300 -- 5 minutes
local DEF_DB_FILENAME = minetest.get_worldpath().."/xban.db"
local DB_FILENAME = minetest.setting_get("xban.db_filename")
local DB_FILENAME = minetest.settings:get("xban.db_filename")
local SAVE_INTERVAL = tonumber(
minetest.setting_get("xban.db_save_interval")) or DEF_SAVE_INTERVAL
minetest.settings:get("xban.db_save_interval")) or DEF_SAVE_INTERVAL
if (not DB_FILENAME) or (DB_FILENAME == "") then
DB_FILENAME = DEF_DB_FILENAME