diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..fea960c1 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,16 @@ +name: build +on: [push, pull_request] + +jobs: + luacheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install Luarocks + run: | + sudo apt-get update -qyy + sudo apt-get install luarocks -qyy + - name: Install Luacheck + run: luarocks install --local luacheck + - name: Run Luacheck + run: $HOME/.luarocks/bin/luacheck mods diff --git a/.luacheckrc b/.luacheckrc index c3df64be..2be56e80 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -3,7 +3,7 @@ allow_defined_top = true read_globals = { "DIR_DELIM", - "minetest", "core", + "minetest", "dump", "vector", "VoxelManip", "VoxelArea", @@ -12,11 +12,16 @@ read_globals = { "Settings", "unpack", -- Silence errors about custom table methods. - table = { fields = { "copy", "indexof" } } + table = { fields = { "copy", "indexof" } }, + -- Silence warnings about accessing undefined fields of global 'math' + math = { fields = { "sign" } } } -- Overwrites minetest.handle_node_drops files["mods/creative/init.lua"].globals = { "minetest" } +-- Overwrites minetest.calculate_knockback +files["mods/player_api/api.lua"].globals = { "minetest" } + -- Don't report on legacy definitions of globals. files["mods/default/legacy.lua"].global = false diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index a367215f..00000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: generic -addons: - apt: - packages: - - luarocks -before_install: - - luarocks install --local luacheck -script: -- $HOME/.luarocks/bin/luacheck ./mods -notifications: - email: false diff --git a/README.md b/README.md index d7fcb30c..099a7e03 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,32 @@ # Minetest Game -The default game bundled in the Minetest engine. +The default game bundled in the Minetest engine. + +For further information, check [this forum topic](https://forum.minetest.net/viewtopic.php?f=15&t=9724). -For further information, check [this forum topic](https://forum.minetest.net/viewtopic.php?f=15&t=9724). Also see the [Minetest Wiki](https://wiki.minetest.net/Subgames/Minetest_Game) for more information. ## Installation -- Unzip the archive, rename the folder to minetest_game and -place it in .. minetest/games/ +- Unzip the archive, rename the folder to `minetest_game` and +place it in .. `minetest/games/` -- GNU/Linux: If you use a system-wide installation place - it in ~/.minetest/games/. +- GNU/Linux: If you use a system-wide installation place it in `~/.minetest/games/`. -The Minetest engine can be found at - [GitHub](https://github.com/minetest/minetest). +The Minetest engine can be found at [GitHub](https://github.com/minetest/minetest). -For further information or help, see: -https://wiki.minetest.net/Installing_Mods +For further information or help, see: [Installing Mods](https://wiki.minetest.net/Installing_Mods). ## Compatibility -The Minetest Game GitHub master HEAD is generally compatible with the GitHub -master HEAD of the Minetest engine. -Additionally, when the Minetest engine is tagged to be a certain version (e.g. -0.4.10), Minetest Game is tagged with the version too. +The Minetest Game GitHub `master` `HEAD` is generally compatible with the GitHub +`master` `HEAD` of the Minetest engine. -When stable releases are made, Minetest Game and the Minetest engine is packaged and made available at - https://minetest.net/downloads/ +Additionally, when the Minetest engine is tagged to be a certain version (e.g. +`0.4.10`), Minetest Game is tagged with the version, too. + +When stable releases are made, Minetest Game and the Minetest engine is packaged +and made available at [www.minetest.net](https://www.minetest.net/downloads/). ## Licensing diff --git a/game.conf b/game.conf index 5c968825..02b585cd 100644 --- a/game.conf +++ b/game.conf @@ -1,3 +1,3 @@ -name = Minetest Game -author = Minetest -description = Bundled by default with Minetest, and aims to be lightweight, moddable, and fairly playable without mods. +name = Minetest Game +author = Minetest +description = A basic exploration, mining, crafting, and building, sandbox game with no NPCs, monsters, or animals. Minetest Game is usually used with mods added, and many mods are available for this game. Reliably maintained by Minetest Engine core developers. diff --git a/game_api.txt b/game_api.txt index fc01dba3..ab68aa9a 100644 --- a/game_api.txt +++ b/game_api.txt @@ -93,16 +93,21 @@ For example, is used to show all tools. Name is used in the sfinv page name, title is the human readable title. -`is_enabled_for` is used to check whether a player is in creative mode: - - creative.is_enabled_for(name) - -Override this to allow per-player game modes. +Creative provides `creative.is_enabled_for(name)`, which is identical in +functionality to the engine's `minetest.creative_is_enabled(name)`. +Its use is deprecated and it should also not be overriden. The contents of `creative.formspec_add` is appended to every creative inventory page. Mods can use it to add additional formspec elements onto the default creative inventory formspec to be drawn after each update. +Group overrides can be used for any registered item, node or tool. Use one of +the groups stated below to pick which category it will appear in. + + node = 1 -- Appears in the Nodes category + tool = 1 -- Appears in the Tools category + craftitem = 1 -- Appears in the Items category + Chests API ---------- @@ -129,12 +134,12 @@ The chests API allows the creation of chests, which have their own inventories f * A table indexed by player name to keep track of who opened what chest. * Key: The name of the player. * Value: A table containing information about the chest the player is looking at. - e.g `{ pos = {1, 1, 1}, sound = null, swap = "chest" }` + e.g `{ pos = {1, 1, 1}, sound = null, swap = "default:chest" }` `default.chest.register_chest(name, def)` * Registers new chest - * `name` Name for chest + * `name` Name for chest e.g. "default:chest" * `def` See [#Chest Definition] ### Chest Definition @@ -222,9 +227,12 @@ The doors mod allows modders to register custom doors and trapdoors. sounds = default.node_sound_wood_defaults(), -- optional sound_open = sound play for open door, -- optional sound_close = sound play for close door, -- optional + gain_open = 0.3, -- optional, defaults to 0.3 + gain_close = 0.3, -- optional, defaults to 0.3 protected = false, -- If true, only placer can open the door (locked for others) - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing), -- optional function containing the on_rightclick callback, defaults to a doors.door_toggle-wrapper + use_texture_alpha = "clip", ### Trapdoor definition @@ -244,11 +252,12 @@ The doors mod allows modders to register custom doors and trapdoors. sounds = default.node_sound_wood_defaults(), -- optional sound_open = sound play for open door, -- optional sound_close = sound play for close door, -- optional + gain_open = 0.3, -- optional, defaults to 0.3 + gain_close = 0.3, -- optional, defaults to 0.3 protected = false, -- If true, only placer can open the door (locked for others) - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - -- function containing the on_rightclick callback - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) , -- function containing the on_rightclick callback + use_texture_alpha = "clip", ### Fence gate definition @@ -258,7 +267,7 @@ The doors mod allows modders to register custom doors and trapdoors. material = "default:wood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(), -- optional - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) -- function containing the on_rightclick callback @@ -426,57 +435,78 @@ Give Initial Stuff API ^ Adds items to the list of items to be given -Players API ------------ +Player API +---------- -The player API can register player models and update the player's appearence +The player API can register player models and update the player's appearance. * `player_api.register_model(name, def)` * Register a new model to be used by players - * name: model filename such as "character.x", "foo.b3d", etc. - * def: See [#Model definition] - * saved to player_api.registered_models + * `name`: model filename such as "character.x", "foo.b3d", etc. + * `def`: see [#Model definition] + * Saved to player_api.registered_models -* `player_api.registered_player_models[name]` - * Get a model's definition - * see [#Model definition] +* `player_api.registered_models[name]` + * Get a model's definition + * `name`: model filename + * See [#Model definition] * `player_api.set_model(player, model_name)` * Change a player's model * `player`: PlayerRef - * `model_name`: model registered with player_api.register_model() + * `model_name`: model registered with `player_api.register_model` -* `player_api.set_animation(player, anim_name [, speed])` - * Applies an animation to a player - * anim_name: name of the animation. - * speed: frames per second. If nil, default from the model is used +* `player_api.set_animation(player, anim_name, speed)` + * Applies an animation to a player if speed or anim_name differ from the currently playing animation + * `player`: PlayerRef + * `anim_name`: name of the animation + * `speed`: keyframes per second. If nil, the default from the model def is used * `player_api.set_textures(player, textures)` * Sets player textures * `player`: PlayerRef - * `textures`: array of textures, If `textures` is nil the default - textures from the model def are used + * `textures`: array of textures. If nil, the default from the model def is used + +* `player_api.set_textures(player, index, texture)` + * Sets one of the player textures + * `player`: PlayerRef + * `index`: Index into array of all textures + * `texture`: the texture string * `player_api.get_animation(player)` - * Returns a table containing fields `model`, `textures` and `animation`. - * Any of the fields of the returned table may be nil. - * player: PlayerRef + * Returns a table containing fields `model`, `textures` and `animation` + * Any of the fields of the returned table may be nil + * `player`: PlayerRef + +* `player_api.player_attached` + * A table that maps a player name to a boolean + * If the value for a given player is set to true, the default player animations + (walking, digging, ...) will no longer be updated, and knockback from damage is + prevented for that player + * Example of usage: A mod sets a player's value to true when attached to a vehicle ### Model Definition { - animation_speed = 30, -- Default animation speed, in FPS. - textures = {"character.png", }, -- Default array of textures. - visual_size = {x = 1, y = 1}, -- Used to scale the model. + animation_speed = 30, -- Default animation speed, in keyframes per second + textures = {"character.png"}, -- Default array of textures animations = { - -- = {x = , y = }, - foo = {x = 0, y = 19}, - bar = {x = 20, y = 39}, - -- ... + -- [anim_name] = { + -- x = , + -- y = , + -- collisionbox = , -- (optional) + -- eye_height = , -- (optional) + -- -- suspend client side animations while this one is active (optional) + -- override_local = + -- }, + stand = ..., lay = ..., walk = ..., mine = ..., walk_mine = ..., -- required animations + sit = ... -- used by boats and other MTG mods }, - collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, -- In nodes from feet position - stepheight = 0.6, -- In nodes - eye_height = 1.47, -- In nodes above feet position + -- Default object properties, see lua_api.txt + visual_size = {x = 1, y = 1}, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, + stepheight = 0.6, + eye_height = 1.47 } @@ -711,6 +741,12 @@ Stairs API The stairs API lets you register stairs and slabs and ensures that they are registered the same way as those delivered with Minetest Game, to keep them compatible with other mods. +The following node attributes are sourced from the recipeitem: + * use_texture_alpha + * sunlight_propagates + * light_source + * If the recipeitem is a fuel, the stair/slab is also registered as a fuel of proportionate burntime. + `stairs.register_stair(subname, recipeitem, groups, images, description, sounds, worldaligntex)` * Registers a stair @@ -757,12 +793,18 @@ delivered with Minetest Game, to keep them compatible with other mods. * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] * `full_description`: Overrides the description, bypassing string concatenation. This is useful for translation. (optional) -`stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds, worldaligntex)` +``` +stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, + sounds, worldaligntex, desc_stair_inner, desc_stair_outer) +``` * A wrapper for stairs.register_stair, stairs.register_slab, stairs.register_stair_inner, stairs.register_stair_outer * Uses almost the same arguments as stairs.register_stair - * `desc_stair`: Description for stair nodes. For corner stairs 'Inner' or 'Outer' will be prefixed + * `desc_stair`: Description for stair nodes. For corner stairs 'Inner' or 'Outer' will be prefixed unless + `desc_stair_inner` or `desc_stair_outer` are specified, which are used instead. * `desc_slab`: Description for slab node + * `desc_stair_inner`: Description for inner stair node + * `desc_stair_outer`: Description for outer stair node Xpanes API @@ -778,7 +820,11 @@ Creates panes that automatically connect to each other ### Pane definition { - textures = {"texture for sides", (unused), "texture for top and bottom"}, -- More tiles aren't supported + textures = { + "texture for front and back", + (unused), + "texture for the 4 edges" + }, -- More tiles aren't supported groups = {group = rating}, -- Uses the known node groups, see [Known damage and digging time defining groups] sounds = SoundSpec, -- See [#Default sounds] recipe = {{"","","","","","","","",""}}, -- Recipe field only @@ -1056,3 +1102,11 @@ for the wielded skeleton key. if `nil` is returned, it is assumed that the wielder did not have permissions to create a key for this node, and no key is created. + +`default.register_craft_metadata_copy(ingredient, result)` +---------------------------------------------------------- + +This function registers a shapeless recipe that takes `ingredient` +and `result` as input and outputs `result`. + +The metadata of the input `result` is copied to the output `result`. diff --git a/menu/header.png b/menu/header.png index 2ecda837..b24122ff 100644 Binary files a/menu/header.png and b/menu/header.png differ diff --git a/minetest.conf.example b/minetest.conf.example index f599ca7a..86eba660 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -71,3 +71,7 @@ default:torch 99,default:cobble 99 # Whether river water source nodes create flowing sounds. # Helps rivers create more sound, especially on level sections. #river_source_sounds = false + +# Enable cloud variation by the 'weather' mod. +# Non-functional in V6 or Singlenode mapgens. +#enable_weather = true diff --git a/mods/beds/README.txt b/mods/beds/README.txt index b4cf0c44..7b35e141 100644 --- a/mods/beds/README.txt +++ b/mods/beds/README.txt @@ -15,11 +15,11 @@ BlockMen (CC BY-SA 3.0) TumeniNodes (CC BY-SA 3.0) beds_bed_under.png -This mod adds a bed to Minetest which allows to skip the night. -To sleep, rightclick the bed. If playing in singleplayer mode the night gets skipped +This mod adds a bed to Minetest which allows players to skip the night. +To sleep, right click on the bed. If playing in singleplayer mode the night gets skipped immediately. If playing multiplayer you get shown how many other players are in bed too, if all players are sleeping the night gets skipped. The night skip can be forced if more -than 50% of the players are lying in bed and use this option. +than half of the players are lying in bed and use this option. Another feature is a controlled respawning. If you have slept in bed (not just lying in it) your respawn point is set to the beds location and you will respawn there after diff --git a/mods/beds/api.lua b/mods/beds/api.lua index c545a201..4a9c6679 100644 --- a/mods/beds/api.lua +++ b/mods/beds/api.lua @@ -17,6 +17,8 @@ local function destruct_bed(pos, n) reverse = not reverse minetest.remove_node(other) minetest.check_for_falling(other) + beds.remove_spawns_at(pos) + beds.remove_spawns_at(other) else reverse = not reverse end @@ -29,6 +31,7 @@ function beds.register_bed(name, def) wield_image = def.wield_image, drawtype = "nodebox", tiles = def.tiles.bottom, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -93,8 +96,7 @@ function beds.register_bed(name, def) minetest.set_node(pos, {name = name .. "_bottom", param2 = dir}) minetest.set_node(botpos, {name = name .. "_top", param2 = dir}) - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(player_name)) then + if not minetest.is_creative_enabled(player_name) then itemstack:take_item() end return itemstack @@ -149,11 +151,13 @@ function beds.register_bed(name, def) minetest.register_node(name .. "_top", { drawtype = "nodebox", tiles = def.tiles.top, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "facedir", is_ground_content = false, pointable = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2}, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2, + not_in_creative_inventory = 1}, sounds = def.sounds or default.node_sound_wood_defaults(), drop = name .. "_bottom", node_box = { diff --git a/mods/beds/beds.lua b/mods/beds/beds.lua index 276c05e5..dc044a35 100644 --- a/mods/beds/beds.lua +++ b/mods/beds/beds.lua @@ -79,10 +79,10 @@ beds.register_bed("beds:bed", { } }, nodebox = { - bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, - top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, + bottom = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5}, + top = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5}, }, - selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.0625, 1.5}, recipe = { {"wool:white", "wool:white", "wool:white"}, {"group:wood", "group:wood", "group:wood"} diff --git a/mods/beds/functions.lua b/mods/beds/functions.lua index 0b79bfb5..409aa376 100644 --- a/mods/beds/functions.lua +++ b/mods/beds/functions.lua @@ -60,42 +60,77 @@ local function lay_down(player, pos, bed_pos, state, skip) -- stand up if state ~= nil and not state then - local p = beds.pos[name] or nil - beds.player[name] = nil + if not beds.player[name] then + -- player not in bed, do nothing + return false + end beds.bed_position[name] = nil -- skip here to prevent sending player specific changes (used for leaving players) if skip then return end - if p then - player:set_pos(p) - end + player:set_pos(beds.pos[name]) -- physics, eye_offset, etc + local physics_override = beds.player[name].physics_override + beds.player[name] = nil + player:set_physics_override({ + speed = physics_override.speed, + jump = physics_override.jump, + gravity = physics_override.gravity + }) player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}) player:set_look_horizontal(math.random(1, 180) / 100) - default.player_attached[name] = false - player:set_physics_override(1, 1, 1) + player_api.player_attached[name] = false hud_flags.wielditem = true - default.player_set_animation(player, "stand" , 30) + player_api.set_animation(player, "stand" , 30) -- lay down else + + -- Check if bed is occupied + for _, other_pos in pairs(beds.bed_position) do + if vector.distance(bed_pos, other_pos) < 0.1 then + minetest.chat_send_player(name, S("This bed is already occupied!")) + return false + end + end + + -- Check if player is moving + if vector.length(player:get_velocity()) > 0.001 then + minetest.chat_send_player(name, S("You have to stop moving before going to bed!")) + return false + end + + -- Check if player is attached to an object + if player:get_attach() then + return false + end + + if beds.player[name] then + -- player already in bed, do nothing + return false + end + beds.pos[name] = pos beds.bed_position[name] = bed_pos - beds.player[name] = 1 + beds.player[name] = {physics_override = player:get_physics_override()} - -- physics, eye_offset, etc - player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0}) local yaw, param2 = get_look_yaw(bed_pos) player:set_look_horizontal(yaw) local dir = minetest.facedir_to_dir(param2) - local p = {x = bed_pos.x + dir.x / 2, y = bed_pos.y, z = bed_pos.z + dir.z / 2} - player:set_physics_override(0, 0, 0) + -- p.y is just above the nodebox height of the 'Simple Bed' (the highest bed), + -- to avoid sinking down through the bed. + local p = { + x = bed_pos.x + dir.x / 2, + y = bed_pos.y + 0.07, + z = bed_pos.z + dir.z / 2 + } + player:set_physics_override({speed = 0, jump = 0, gravity = 0}) player:set_pos(p) - default.player_attached[name] = true + player_api.player_attached[name] = true hud_flags.wielditem = false - default.player_set_animation(player, "lay" , 0) + player_api.set_animation(player, "lay" , 0) end player:hud_set_flags(hud_flags) @@ -224,6 +259,19 @@ minetest.register_on_leaveplayer(function(player) end end) +minetest.register_on_dieplayer(function(player) + local name = player:get_player_name() + local in_bed = beds.player + local pos = player:get_pos() + local yaw = get_look_yaw(pos) + + if in_bed[name] then + lay_down(player, nil, pos, false) + player:set_look_horizontal(yaw) + player:set_pos(pos) + end +end) + minetest.register_on_player_receive_fields(function(player, formname, fields) if formname ~= "beds_form" then return diff --git a/mods/beds/init.lua b/mods/beds/init.lua index 869ff0ff..a1a46ce9 100644 --- a/mods/beds/init.lua +++ b/mods/beds/init.lua @@ -2,7 +2,7 @@ -- Load support for MT game translation. local S = minetest.get_translator("beds") - +local esc = minetest.formspec_escape beds = {} beds.player = {} @@ -14,7 +14,7 @@ beds.get_translator = S beds.formspec = "size[8,11;true]" .. "no_prepend[]" .. "bgcolor[#080808BB;true]" .. - "button_exit[2,10;4,0.75;leave;" .. S("Leave Bed") .. "]" + "button_exit[2,10;4,0.75;leave;" .. esc(S("Leave Bed")) .. "]" local modpath = minetest.get_modpath("beds") diff --git a/mods/beds/locale/beds.de.tr b/mods/beds/locale/beds.de.tr index e77f654c..3f2c959e 100644 --- a/mods/beds/locale/beds.de.tr +++ b/mods/beds/locale/beds.de.tr @@ -1,8 +1,10 @@ # textdomain: beds Fancy Bed=Schickes Bett Simple Bed=Schlichtes Bett -Leave Bed=Bett verlassen +This bed is already occupied!=Dieses Bett ist bereits belegt! +You have to stop moving before going to bed!=Sie müssen stehen bleiben, bevor Sie zu Bett gehen können! Good morning.=Guten Morgen. @1 of @2 players are in bed=@1 von @2 Spielern sind im Bett Force night skip=Überspringen der Nacht erzwingen You can only sleep at night.=Sie können nur nachts schlafen. +Leave Bed=Bett verlassen diff --git a/mods/beds/locale/beds.eo.tr b/mods/beds/locale/beds.eo.tr new file mode 100644 index 00000000..0cbd4806 --- /dev/null +++ b/mods/beds/locale/beds.eo.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Luksa Lito +Simple Bed=Simpla Lito +This bed is already occupied!= +You have to stop moving before going to bed!= +Good morning.=Bonan matenon. +@1 of @2 players are in bed=@1 el @2 ludantoj estas en lito. +Force night skip=Devigu nokta salton +You can only sleep at night.=Vi povas nur dormi en la nokto. +Leave Bed=Ellitiĝu diff --git a/mods/beds/locale/beds.es.tr b/mods/beds/locale/beds.es.tr new file mode 100644 index 00000000..8ef0db73 --- /dev/null +++ b/mods/beds/locale/beds.es.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Cama de lujo +Simple Bed=Cama sencilla +This bed is already occupied!=Esta cama esta ocupada +You have to stop moving before going to bed!=Deja de moverte o no podras acostarte +Good morning.=Buenos días. +@1 of @2 players are in bed=@1 de @2 jugadores están durmiendo +Force night skip=Forzar hacer de dia +You can only sleep at night.=Sólo puedes dormir por la noche. +Leave Bed=Levantarse diff --git a/mods/beds/locale/beds.fr.tr b/mods/beds/locale/beds.fr.tr new file mode 100644 index 00000000..43c06e3c --- /dev/null +++ b/mods/beds/locale/beds.fr.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Lit chic +Simple Bed=Lit simple +This bed is already occupied!=Ce lit est déjà occupé ! +You have to stop moving before going to bed!=Vous devez arrêter de bouger avant de vous coucher ! +Good morning.=Bonjour. +@1 of @2 players are in bed=@1 joueur(s) sur @2 sont au lit +Force night skip=Forcer le passage de la nuit +You can only sleep at night.=Vous ne pouvez dormir que la nuit. +Leave Bed=Se lever du lit diff --git a/mods/beds/locale/beds.id.tr b/mods/beds/locale/beds.id.tr new file mode 100644 index 00000000..7bcbb5df --- /dev/null +++ b/mods/beds/locale/beds.id.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Ranjang Mewah +Simple Bed=Ranjang Sederhana +This bed is already occupied!= +You have to stop moving before going to bed!= +Good morning.=Selamat pagi. +@1 of @2 players are in bed=@1 dari @2 pemain sedang tidur +Force night skip=Paksa lewati malam +You can only sleep at night.=Anda hanya dapat tidur pada waktu malam. +Leave Bed=Tinggalkan Ranjang diff --git a/mods/beds/locale/beds.it.tr b/mods/beds/locale/beds.it.tr new file mode 100644 index 00000000..8f4e14ea --- /dev/null +++ b/mods/beds/locale/beds.it.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Letto decorato +Simple Bed=Letto semplice +This bed is already occupied!= +You have to stop moving before going to bed!= +Good morning.= +@1 of @2 players are in bed= +Force night skip= +You can only sleep at night.= +Leave Bed=Alzati dal letto diff --git a/mods/beds/locale/beds.ja.tr b/mods/beds/locale/beds.ja.tr new file mode 100644 index 00000000..50344566 --- /dev/null +++ b/mods/beds/locale/beds.ja.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=ファンシーなベッド +Simple Bed=シンプルなベッド +This bed is already occupied!=ベッドはすでに使われています! +You have to stop moving before going to bed!=寝るときは動かないでください! +Good morning.=おはようございます。 +@1 of @2 players are in bed=ベッドに@1 / @2人います +Force night skip=強制的に夜をスキップします +You can only sleep at night.=夜しか寝れません。 +Leave Bed=ベッドから出ます diff --git a/mods/beds/locale/beds.jbo.tr b/mods/beds/locale/beds.jbo.tr new file mode 100644 index 00000000..a72f686c --- /dev/null +++ b/mods/beds/locale/beds.jbo.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=lo selja'i ckana +Simple Bed=lo sampu ckana +This bed is already occupied!=.i lo ti ckana cu canlu +You have to stop moving before going to bed!=lo nu do cando cu sarcu lo nu do sipna +Good morning.=.i .uise'inai cerni +@1 of @2 players are in bed=.i @1 cmima be lu'i @2 le pilno cu vreta lo ckana +Force night skip=bapli le nu co'u nicte +You can only sleep at night.=.i steci le ka nicte kei fa le ka do kakne le ka sipna ca pa ckaji be ce'u +Leave Bed=cliva lo ckana diff --git a/mods/beds/locale/beds.ms.tr b/mods/beds/locale/beds.ms.tr new file mode 100644 index 00000000..4d4310a9 --- /dev/null +++ b/mods/beds/locale/beds.ms.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Katil Beragam +Simple Bed=Katil Biasa +This bed is already occupied!= +You have to stop moving before going to bed!= +Good morning.=Selamat pagi. +@1 of @2 players are in bed=@1 daripada @2 pemain sedang tidur +Force night skip=Paksa langkau malam +You can only sleep at night.=Anda hanya boleh tidur pada waktu malam. +Leave Bed=Bangun diff --git a/mods/beds/locale/beds.pt_BR.tr b/mods/beds/locale/beds.pt_BR.tr new file mode 100644 index 00000000..47fb1b93 --- /dev/null +++ b/mods/beds/locale/beds.pt_BR.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Cama Bonita +Simple Bed=Cama Simples +This bed is already occupied!=Esta cama já está ocupada! +You have to stop moving before going to bed!=Você precisa parar de se mover antes de ir para cama! +Good morning.=Bom dia. +@1 of @2 players are in bed=@1 de @2 jogadores estão na cama +Force night skip=Forçar o amanhecer +You can only sleep at night.=Você só pode dormir à noite +Leave Bed=Sair da Cama diff --git a/mods/beds/locale/beds.ru.tr b/mods/beds/locale/beds.ru.tr new file mode 100644 index 00000000..73db735c --- /dev/null +++ b/mods/beds/locale/beds.ru.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Детализированная Кровать +Simple Bed=Обычная Кровать +This bed is already occupied!=Эта кровать уже занята! +You have to stop moving before going to bed!=Нельзя воспользоваться кроватью на ходу! +Good morning.=Доброе утро. +@1 of @2 players are in bed=@1 из @2 игроков в кровати +Force night skip=Пропустить ночь +You can only sleep at night.=Вы можете спать только ночью. +Leave Bed=Встать с кровати diff --git a/mods/beds/locale/beds.sk.tr b/mods/beds/locale/beds.sk.tr new file mode 100644 index 00000000..5f31f0fd --- /dev/null +++ b/mods/beds/locale/beds.sk.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Pekná posteľ +Simple Bed=Jednoduchá posteľ +This bed is already occupied!=Táto posteľ je už obsadená +You have to stop moving before going to bed!=Predtým ako si ľahneš do postele, sa musíš prestať pohybovať! +Good morning.=Dobré ráno. +@1 of @2 players are in bed=@1 z @2 hráčov sú v posteli +Force night skip=Nútene preskočiť noc +You can only sleep at night.=Môžeš spať len v noci. +Leave Bed=Opusti posteľ diff --git a/mods/beds/locale/beds.sv.tr b/mods/beds/locale/beds.sv.tr new file mode 100644 index 00000000..3b737b46 --- /dev/null +++ b/mods/beds/locale/beds.sv.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Fin säng +Simple Bed=Enkel säng +This bed is already occupied!=Den här sängen används redan! +You have to stop moving before going to bed!=Du måste stanna innan du kan lägga dig! +Good morning.=God morgon. +@1 of @2 players are in bed=@1 av @2 spelare försöker sova. +Force night skip=Tvinga att hoppa över natt +You can only sleep at night.=Du kan bara sova på natten. +Leave Bed=Lämna säng diff --git a/mods/beds/locale/beds.uk.tr b/mods/beds/locale/beds.uk.tr new file mode 100644 index 00000000..f95da70b --- /dev/null +++ b/mods/beds/locale/beds.uk.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Деталізована Постіль +Simple Bed=Звичайна Постіль +This bed is already occupied!=Ця постіль вже зайнята! +You have to stop moving before going to bed!=Не можна скористатись постіллю на ходу! +Good morning.=Доброго ранку. +@1 of @2 players are in bed=@1 з @2 гравців в ліжку +Force night skip=Пропустити ніч +You can only sleep at night.=Ви можете спати тільки вночі. +Leave Bed=Встати з ліжка diff --git a/mods/beds/locale/beds.zh_CN.tr b/mods/beds/locale/beds.zh_CN.tr new file mode 100644 index 00000000..7e6cfc7a --- /dev/null +++ b/mods/beds/locale/beds.zh_CN.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=花式床 +Simple Bed=简易床 +This bed is already occupied!=床上已有人! +You have to stop moving before going to bed!=上床前要停止移动! +Good morning.=早安! +@1 of @2 players are in bed=@2位玩家中的@1位在床上 +Force night skip=强制跳过夜晚 +You can only sleep at night.=你只能在晚上睡觉。 +Leave Bed=离开床 diff --git a/mods/beds/locale/beds.zh_TW.tr b/mods/beds/locale/beds.zh_TW.tr new file mode 100644 index 00000000..b19b4814 --- /dev/null +++ b/mods/beds/locale/beds.zh_TW.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=花式床 +Simple Bed=簡易床 +This bed is already occupied!= +You have to stop moving before going to bed!= +Good morning.=早安! +@1 of @2 players are in bed=@2位玩家中的@1位在床上 +Force night skip=強制跳過夜晚 +You can only sleep at night.=你只能在晚上睡覺。 +Leave Bed=離開床 diff --git a/mods/beds/locale/template.txt b/mods/beds/locale/template.txt index 518fdbff..a965787b 100644 --- a/mods/beds/locale/template.txt +++ b/mods/beds/locale/template.txt @@ -1,8 +1,10 @@ # textdomain: beds Fancy Bed= Simple Bed= -Leave Bed= +This bed is already occupied!= +You have to stop moving before going to bed!= Good morning.= @1 of @2 players are in bed= Force night skip= You can only sleep at night.= +Leave Bed= diff --git a/mods/beds/spawns.lua b/mods/beds/spawns.lua index baee364d..1a2ce810 100644 --- a/mods/beds/spawns.lua +++ b/mods/beds/spawns.lua @@ -61,3 +61,12 @@ function beds.set_spawns() end beds.save_spawns() end + +function beds.remove_spawns_at(pos) + for name, p in pairs(beds.spawn) do + if vector.equals(vector.round(p), pos) then + beds.spawn[name] = nil + end + end + beds.save_spawns() +end diff --git a/mods/beds/textures/beds_bed.png b/mods/beds/textures/beds_bed.png index 5c0054c6..d4b02e77 100644 Binary files a/mods/beds/textures/beds_bed.png and b/mods/beds/textures/beds_bed.png differ diff --git a/mods/beds/textures/beds_bed_fancy.png b/mods/beds/textures/beds_bed_fancy.png index 4f9e8a74..1c9fde9a 100644 Binary files a/mods/beds/textures/beds_bed_fancy.png and b/mods/beds/textures/beds_bed_fancy.png differ diff --git a/mods/beds/textures/beds_bed_foot.png b/mods/beds/textures/beds_bed_foot.png index 74d84c86..af510bb6 100644 Binary files a/mods/beds/textures/beds_bed_foot.png and b/mods/beds/textures/beds_bed_foot.png differ diff --git a/mods/beds/textures/beds_bed_head.png b/mods/beds/textures/beds_bed_head.png index 763f5e14..b98b1104 100644 Binary files a/mods/beds/textures/beds_bed_head.png and b/mods/beds/textures/beds_bed_head.png differ diff --git a/mods/beds/textures/beds_bed_side1.png b/mods/beds/textures/beds_bed_side1.png index 1ed8158e..8ded54fd 100644 Binary files a/mods/beds/textures/beds_bed_side1.png and b/mods/beds/textures/beds_bed_side1.png differ diff --git a/mods/beds/textures/beds_bed_side2.png b/mods/beds/textures/beds_bed_side2.png index 9d1384d4..a6bdb99d 100644 Binary files a/mods/beds/textures/beds_bed_side2.png and b/mods/beds/textures/beds_bed_side2.png differ diff --git a/mods/beds/textures/beds_bed_side_bottom.png b/mods/beds/textures/beds_bed_side_bottom.png index 99ff309f..ed80f752 100644 Binary files a/mods/beds/textures/beds_bed_side_bottom.png and b/mods/beds/textures/beds_bed_side_bottom.png differ diff --git a/mods/beds/textures/beds_bed_side_bottom_r.png b/mods/beds/textures/beds_bed_side_bottom_r.png index 6f870e80..2d86532d 100644 Binary files a/mods/beds/textures/beds_bed_side_bottom_r.png and b/mods/beds/textures/beds_bed_side_bottom_r.png differ diff --git a/mods/beds/textures/beds_bed_side_top.png b/mods/beds/textures/beds_bed_side_top.png index b2807c5f..04b2ba1e 100644 Binary files a/mods/beds/textures/beds_bed_side_top.png and b/mods/beds/textures/beds_bed_side_top.png differ diff --git a/mods/beds/textures/beds_bed_side_top_r.png b/mods/beds/textures/beds_bed_side_top_r.png index 429ad7db..c3c07b1b 100644 Binary files a/mods/beds/textures/beds_bed_side_top_r.png and b/mods/beds/textures/beds_bed_side_top_r.png differ diff --git a/mods/beds/textures/beds_bed_top1.png b/mods/beds/textures/beds_bed_top1.png index b6fcc2c5..2b3ae8dc 100644 Binary files a/mods/beds/textures/beds_bed_top1.png and b/mods/beds/textures/beds_bed_top1.png differ diff --git a/mods/beds/textures/beds_bed_top2.png b/mods/beds/textures/beds_bed_top2.png index 2fe5bf2b..b80353cb 100644 Binary files a/mods/beds/textures/beds_bed_top2.png and b/mods/beds/textures/beds_bed_top2.png differ diff --git a/mods/beds/textures/beds_bed_top_bottom.png b/mods/beds/textures/beds_bed_top_bottom.png index 9b78be63..43dcc649 100644 Binary files a/mods/beds/textures/beds_bed_top_bottom.png and b/mods/beds/textures/beds_bed_top_bottom.png differ diff --git a/mods/beds/textures/beds_bed_top_top.png b/mods/beds/textures/beds_bed_top_top.png index e877c808..9b3d08fa 100644 Binary files a/mods/beds/textures/beds_bed_top_top.png and b/mods/beds/textures/beds_bed_top_top.png differ diff --git a/mods/beds/textures/beds_bed_under.png b/mods/beds/textures/beds_bed_under.png index a9301156..1a67367d 100644 Binary files a/mods/beds/textures/beds_bed_under.png and b/mods/beds/textures/beds_bed_under.png differ diff --git a/mods/beds/textures/beds_transparent.png b/mods/beds/textures/beds_transparent.png index 2dc0e3dc..bd36820b 100644 Binary files a/mods/beds/textures/beds_transparent.png and b/mods/beds/textures/beds_transparent.png differ diff --git a/mods/binoculars/init.lua b/mods/binoculars/init.lua index 76858977..914a8611 100644 --- a/mods/binoculars/init.lua +++ b/mods/binoculars/init.lua @@ -8,25 +8,16 @@ binoculars = {} local S = minetest.get_translator("binoculars") --- Detect creative mod -local creative_mod = minetest.get_modpath("creative") --- Cache creative mode setting as fallback if creative mod not present -local creative_mode_cache = minetest.settings:get_bool("creative_mode") - - -- Update player property -- Global to allow overriding function binoculars.update_player_property(player) - local creative_enabled = - (creative_mod and creative.is_enabled_for(player:get_player_name())) or - creative_mode_cache local new_zoom_fov = 0 if player:get_inventory():contains_item( "main", "binoculars:binoculars") then new_zoom_fov = 10 - elseif creative_enabled then + elseif minetest.is_creative_enabled(player:get_player_name()) then new_zoom_fov = 15 end @@ -62,6 +53,7 @@ minetest.register_craftitem("binoculars:binoculars", { description = S("Binoculars") .. "\n" .. S("Use with 'Zoom' key"), inventory_image = "binoculars_binoculars.png", stack_max = 1, + groups = {tool = 1}, on_use = function(itemstack, user, pointed_thing) binoculars.update_player_property(user) diff --git a/mods/binoculars/locale/binoculars.eo.tr b/mods/binoculars/locale/binoculars.eo.tr new file mode 100644 index 00000000..53ad4274 --- /dev/null +++ b/mods/binoculars/locale/binoculars.eo.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binokolo +Use with 'Zoom' key=Uzu per 'Zomo' klavo diff --git a/mods/binoculars/locale/binoculars.es.tr b/mods/binoculars/locale/binoculars.es.tr new file mode 100644 index 00000000..7b7e77d7 --- /dev/null +++ b/mods/binoculars/locale/binoculars.es.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Prismáticos +Use with 'Zoom' key=Usar con la tecla 'Zoom' diff --git a/mods/binoculars/locale/binoculars.fr.tr b/mods/binoculars/locale/binoculars.fr.tr new file mode 100644 index 00000000..3f8b0bc8 --- /dev/null +++ b/mods/binoculars/locale/binoculars.fr.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Jumelles +Use with 'Zoom' key=Utiliser avec le bouton « Zoom » diff --git a/mods/binoculars/locale/binoculars.id.tr b/mods/binoculars/locale/binoculars.id.tr new file mode 100644 index 00000000..9a340443 --- /dev/null +++ b/mods/binoculars/locale/binoculars.id.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Teropong +Use with 'Zoom' key=Pakai dengan tombol 'Zoom' diff --git a/mods/binoculars/locale/binoculars.it.tr b/mods/binoculars/locale/binoculars.it.tr new file mode 100644 index 00000000..97c7b860 --- /dev/null +++ b/mods/binoculars/locale/binoculars.it.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binocolo +Use with 'Zoom' key=Usalo col tasto 'Ingrandimento' diff --git a/mods/binoculars/locale/binoculars.ja.tr b/mods/binoculars/locale/binoculars.ja.tr new file mode 100644 index 00000000..9766f461 --- /dev/null +++ b/mods/binoculars/locale/binoculars.ja.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=双眼鏡 +Use with 'Zoom' key=ズームキーで使います diff --git a/mods/binoculars/locale/binoculars.jbo.tr b/mods/binoculars/locale/binoculars.jbo.tr new file mode 100644 index 00000000..e1465696 --- /dev/null +++ b/mods/binoculars/locale/binoculars.jbo.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=lo reldarvistci +Use with 'Zoom' key=.i tu'a le jvinu banro batke cu tadji lo nu pilno diff --git a/mods/binoculars/locale/binoculars.ms.tr b/mods/binoculars/locale/binoculars.ms.tr new file mode 100644 index 00000000..d38e64fd --- /dev/null +++ b/mods/binoculars/locale/binoculars.ms.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binokular +Use with 'Zoom' key=Guna dengan kekunci 'Zum' diff --git a/mods/binoculars/locale/binoculars.pt_BR.tr b/mods/binoculars/locale/binoculars.pt_BR.tr new file mode 100644 index 00000000..4aabfeff --- /dev/null +++ b/mods/binoculars/locale/binoculars.pt_BR.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binóculos +Use with 'Zoom' key=Use com a tecla de 'Zoom' diff --git a/mods/binoculars/locale/binoculars.ru.tr b/mods/binoculars/locale/binoculars.ru.tr new file mode 100644 index 00000000..6b3aa9e8 --- /dev/null +++ b/mods/binoculars/locale/binoculars.ru.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Бинокль +Use with 'Zoom' key=Используется с привилегией 'Zoom' diff --git a/mods/binoculars/locale/binoculars.sk.tr b/mods/binoculars/locale/binoculars.sk.tr new file mode 100644 index 00000000..50083113 --- /dev/null +++ b/mods/binoculars/locale/binoculars.sk.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Ďalekohľad +Use with 'Zoom' key=Použi s klávesou "Priblíž" diff --git a/mods/binoculars/locale/binoculars.sv.tr b/mods/binoculars/locale/binoculars.sv.tr new file mode 100644 index 00000000..f8a01db2 --- /dev/null +++ b/mods/binoculars/locale/binoculars.sv.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Kikare +Use with 'Zoom' key=Använd med 'Zoom'-knappen diff --git a/mods/binoculars/locale/binoculars.uk.tr b/mods/binoculars/locale/binoculars.uk.tr new file mode 100644 index 00000000..cb1d0e5b --- /dev/null +++ b/mods/binoculars/locale/binoculars.uk.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Бінокль +Use with 'Zoom' key=Використовується з правами 'Zoom' diff --git a/mods/binoculars/locale/binoculars.zh_CN.tr b/mods/binoculars/locale/binoculars.zh_CN.tr new file mode 100644 index 00000000..ec46cf8d --- /dev/null +++ b/mods/binoculars/locale/binoculars.zh_CN.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=望远镜 +Use with 'Zoom' key=与“缩放”键一起使用 diff --git a/mods/binoculars/locale/binoculars.zh_TW.tr b/mods/binoculars/locale/binoculars.zh_TW.tr new file mode 100644 index 00000000..bbe3b390 --- /dev/null +++ b/mods/binoculars/locale/binoculars.zh_TW.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=望遠鏡 +Use with 'Zoom' key=與“縮放”鍵一起使用 diff --git a/mods/binoculars/mod.conf b/mods/binoculars/mod.conf index 7d737415..4a64ce52 100644 --- a/mods/binoculars/mod.conf +++ b/mods/binoculars/mod.conf @@ -1,4 +1,3 @@ name = binoculars description = Minetest Game mod: binoculars depends = default -optional_depends = creative diff --git a/mods/boats/init.lua b/mods/boats/init.lua index a785bdc6..52360be4 100644 --- a/mods/boats/init.lua +++ b/mods/boats/init.lua @@ -13,15 +13,6 @@ local function is_water(pos) end -local function get_sign(i) - if i == 0 then - return 0 - else - return i / math.abs(i) - end -end - - local function get_velocity(v, yaw, y) local x = -math.sin(yaw) * v local z = math.cos(yaw) * v @@ -62,31 +53,24 @@ function boat.on_rightclick(self, clicker) end local name = clicker:get_player_name() if self.driver and name == self.driver then - self.driver = nil - self.auto = false + -- Cleanup happens in boat.on_detach_child clicker:set_detach() - player_api.player_attached[name] = false - player_api.set_animation(clicker, "stand" , 30) + + player_api.set_animation(clicker, "stand", 30) local pos = clicker:get_pos() pos = {x = pos.x, y = pos.y + 0.2, z = pos.z} minetest.after(0.1, function() clicker:set_pos(pos) end) elseif not self.driver then - local attach = clicker:get_attach() - if attach and attach:get_luaentity() then - local luaentity = attach:get_luaentity() - if luaentity.driver then - luaentity.driver = nil - end - clicker:set_detach() - end - self.driver = name clicker:set_attach(self.object, "", {x = 0.5, y = 1, z = -3}, {x = 0, y = 0, z = 0}) + + self.driver = name player_api.player_attached[name] = true + minetest.after(0.2, function() - player_api.set_animation(clicker, "sit" , 30) + player_api.set_animation(clicker, "sit", 30) end) clicker:set_look_horizontal(self.object:get_yaw()) end @@ -95,8 +79,12 @@ end -- If driver leaves server while driving boat function boat.on_detach_child(self, child) - self.driver = nil - self.auto = false + if child and child:get_player_name() == self.driver then + player_api.player_attached[child:get_player_name()] = false + + self.driver = nil + self.auto = false + end end @@ -128,8 +116,7 @@ function boat.on_punch(self, puncher) if not self.driver then self.removed = true local inv = puncher:get_inventory() - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(name)) + if not minetest.is_creative_enabled(name) or not inv:contains_item("main", "boats:boat") then local leftover = inv:add_item("main", "boats:boat") -- if no room in inventory add a replacement boat to the world @@ -146,7 +133,7 @@ end function boat.on_step(self, dtime) - self.v = get_v(self.object:get_velocity()) * get_sign(self.v) + self.v = get_v(self.object:get_velocity()) * math.sign(self.v) if self.driver then local driver_objref = minetest.get_player_by_name(self.driver) if driver_objref then @@ -157,13 +144,13 @@ function boat.on_step(self, dtime) minetest.chat_send_player(self.driver, S("Boat cruise mode on")) end elseif ctrl.down then - self.v = self.v - dtime * 1.8 + self.v = self.v - dtime * 2.0 if self.auto then self.auto = false minetest.chat_send_player(self.driver, S("Boat cruise mode off")) end elseif ctrl.up or self.auto then - self.v = self.v + dtime * 1.8 + self.v = self.v + dtime * 2.0 end if ctrl.left then if self.v < -0.001 then @@ -181,19 +168,19 @@ function boat.on_step(self, dtime) end end local velo = self.object:get_velocity() - if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then + if not self.driver and + self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then self.object:set_pos(self.object:get_pos()) return end - local s = get_sign(self.v) - self.v = self.v - dtime * 0.6 * s - if s ~= get_sign(self.v) then - self.object:set_velocity({x = 0, y = 0, z = 0}) + -- We need to preserve velocity sign to properly apply drag force + -- while moving backward + local drag = dtime * math.sign(self.v) * (0.01 + 0.0796 * self.v * self.v) + -- If drag is larger than velocity, then stop horizontal movement + if math.abs(self.v) <= math.abs(drag) then self.v = 0 - return - end - if math.abs(self.v) > 5 then - self.v = 5 * get_sign(self.v) + else + self.v = self.v - drag end local p = self.object:get_pos() @@ -278,8 +265,7 @@ minetest.register_craftitem("boats:boat", { boat:set_yaw(placer:get_look_horizontal()) end local player_name = placer and placer:get_player_name() or "" - if not (creative and creative.is_enabled_for and - creative.is_enabled_for(player_name)) then + if not minetest.is_creative_enabled(player_name) then itemstack:take_item() end end diff --git a/mods/boats/locale/boats.eo.tr b/mods/boats/locale/boats.eo.tr new file mode 100644 index 00000000..7d02e2f7 --- /dev/null +++ b/mods/boats/locale/boats.eo.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=La kroza maniero de la boato estas ŝaltita. +Boat cruise mode off=La kroza maniero de la boato estas malŝaltita. +Boat=Boato diff --git a/mods/boats/locale/boats.es.tr b/mods/boats/locale/boats.es.tr new file mode 100644 index 00000000..b9adb72e --- /dev/null +++ b/mods/boats/locale/boats.es.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Modo crucero en bote activado +Boat cruise mode off=Modo crucero en bote desactivado +Boat=Bote diff --git a/mods/boats/locale/boats.fr.tr b/mods/boats/locale/boats.fr.tr new file mode 100644 index 00000000..f469a0b6 --- /dev/null +++ b/mods/boats/locale/boats.fr.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Bateau mode rapide activé +Boat cruise mode off=Bateau mode rapide désactivé +Boat=Bateau diff --git a/mods/boats/locale/boats.id.tr b/mods/boats/locale/boats.id.tr new file mode 100644 index 00000000..cf37f476 --- /dev/null +++ b/mods/boats/locale/boats.id.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Mode perahu jelajah nyala +Boat cruise mode off=Mode perahu jelajah mati +Boat=Perahu diff --git a/mods/boats/locale/boats.it.tr b/mods/boats/locale/boats.it.tr new file mode 100644 index 00000000..4a878354 --- /dev/null +++ b/mods/boats/locale/boats.it.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Modalità movimento automatico barca attivata +Boat cruise mode off=Modalità movimento automatico barca disattivata +Boat=Barca diff --git a/mods/boats/locale/boats.ja.tr b/mods/boats/locale/boats.ja.tr new file mode 100644 index 00000000..ee2d0863 --- /dev/null +++ b/mods/boats/locale/boats.ja.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=クルージングモード・オン +Boat cruise mode off=クルージングモード・オフ +Boat=ボート diff --git a/mods/boats/locale/boats.jbo.tr b/mods/boats/locale/boats.jbo.tr new file mode 100644 index 00000000..c7d534f9 --- /dev/null +++ b/mods/boats/locale/boats.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=.i lo bloti cu zmiku le ka klama +Boat cruise mode off=.i lo bloti cu macnu le ka klama +Boat=lo bloti diff --git a/mods/boats/locale/boats.ms.tr b/mods/boats/locale/boats.ms.tr new file mode 100644 index 00000000..d11a68be --- /dev/null +++ b/mods/boats/locale/boats.ms.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Mod bot layar makan angin dibolehkan +Boat cruise mode off=Mod bot layar makan angin dilumpuhkan +Boat=Bot diff --git a/mods/boats/locale/boats.pt_BR.tr b/mods/boats/locale/boats.pt_BR.tr new file mode 100644 index 00000000..1992fdfd --- /dev/null +++ b/mods/boats/locale/boats.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Modo de cruseiro do barco ligado +Boat cruise mode off=Modo de cruseiro do barco desligado +Boat=Barco diff --git a/mods/boats/locale/boats.ru.tr b/mods/boats/locale/boats.ru.tr new file mode 100644 index 00000000..43270984 --- /dev/null +++ b/mods/boats/locale/boats.ru.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Режим путешествия на лодке включен +Boat cruise mode off=Режим путешествия на лодке выключен +Boat=Лодка diff --git a/mods/boats/locale/boats.sk.tr b/mods/boats/locale/boats.sk.tr new file mode 100644 index 00000000..4d313cdf --- /dev/null +++ b/mods/boats/locale/boats.sk.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Cestovný režim loďky je zapnutý +Boat cruise mode off=Cestovný režim loďky je vypnutý +Boat=Loďka diff --git a/mods/boats/locale/boats.sv.tr b/mods/boats/locale/boats.sv.tr new file mode 100644 index 00000000..248b0889 --- /dev/null +++ b/mods/boats/locale/boats.sv.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Båtkryssningsläge på +Boat cruise mode off=Båtkryssningsläge av +Boat=Båt diff --git a/mods/boats/locale/boats.uk.tr b/mods/boats/locale/boats.uk.tr new file mode 100644 index 00000000..662ba6fc --- /dev/null +++ b/mods/boats/locale/boats.uk.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Режим мандрування на човні увімкнено +Boat cruise mode off=Режим мандрування на човні вимкнено +Boat=Човен diff --git a/mods/boats/locale/boats.zh_CN.tr b/mods/boats/locale/boats.zh_CN.tr new file mode 100644 index 00000000..254f2dfc --- /dev/null +++ b/mods/boats/locale/boats.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=巡航模式开启 +Boat cruise mode off=巡航模式关闭 +Boat=船 diff --git a/mods/boats/locale/boats.zh_TW.tr b/mods/boats/locale/boats.zh_TW.tr new file mode 100644 index 00000000..97b34711 --- /dev/null +++ b/mods/boats/locale/boats.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=巡航模式開啟 +Boat cruise mode off=巡航模式關閉 +Boat=船 diff --git a/mods/bones/init.lua b/mods/bones/init.lua index 5e542593..54d3f146 100644 --- a/mods/bones/init.lua +++ b/mods/bones/init.lua @@ -141,8 +141,18 @@ local function may_replace(pos, player) return false end - -- allow replacing air and liquids - if node_name == "air" or node_definition.liquidtype ~= "none" then + -- allow replacing air + if node_name == "air" then + return true + end + + -- don't replace nodes inside protections + if minetest.is_protected(pos, player:get_player_name()) then + return false + end + + -- allow replacing liquids + if node_definition.liquidtype ~= "none" then return true end @@ -154,8 +164,7 @@ local function may_replace(pos, player) -- default to each nodes buildable_to; if a placed block would replace it, why shouldn't bones? -- flowers being squished by bones are more realistical than a squished stone, too - -- exception are of course any protected buildable_to - return node_definition.buildable_to and not minetest.is_protected(pos, player:get_player_name()) + return node_definition.buildable_to end local drop = function(pos, itemstack) @@ -182,7 +191,6 @@ local function is_all_empty(player_inv) end minetest.register_on_dieplayer(function(player) - local bones_mode = minetest.settings:get("bones_mode") or "bones" if bones_mode ~= "bones" and bones_mode ~= "drop" and bones_mode ~= "keep" then bones_mode = "bones" @@ -194,8 +202,7 @@ minetest.register_on_dieplayer(function(player) local pos_string = minetest.pos_to_string(pos) -- return if keep inventory set or in creative mode - if bones_mode == "keep" or (creative and creative.is_enabled_for - and creative.is_enabled_for(player:get_player_name())) then + if bones_mode == "keep" or minetest.is_creative_enabled(player_name) then minetest.log("action", player_name .. " dies at " .. pos_string .. ". No bones placed") if bones_position_message then diff --git a/mods/bones/locale/bones.eo.tr b/mods/bones/locale/bones.eo.tr new file mode 100644 index 00000000..7e89de1e --- /dev/null +++ b/mods/bones/locale/bones.eo.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Ostoj +@1's old bones=La malnova ostoj de @1 +@1 died at @2.=@1 mortis ĉe @2 +@1 died at @2, and dropped their inventory.=@1 mortis ĉe @2, kaj ri delasis riaj objektoj. +@1 died at @2, and bones were placed.=@1 mortis ĉe @2, kaj ostoj metis. +@1's fresh bones=La nova ostoj de @1 +@1's bones=La ostoj de @1 diff --git a/mods/bones/locale/bones.es.tr b/mods/bones/locale/bones.es.tr new file mode 100644 index 00000000..9c45513c --- /dev/null +++ b/mods/bones/locale/bones.es.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Huesos +@1's old bones=Huesos antiguos de @1 +@1 died at @2.=@1 murió en @2. +@1 died at @2, and dropped their inventory.=@1 murió en @2, y su inventario se desprendió. +@1 died at @2, and bones were placed.=@1 murió en @2, y sus huesos fueron depositados. +@1's fresh bones=Huesos recientes de @1 +@1's bones=Huesos de @1 diff --git a/mods/bones/locale/bones.fr.tr b/mods/bones/locale/bones.fr.tr new file mode 100644 index 00000000..cfe01ee1 --- /dev/null +++ b/mods/bones/locale/bones.fr.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Os +@1's old bones=Vieux os de @1 +@1 died at @2.=@1 est mort à @2. +@1 died at @2, and dropped their inventory.=@1 est mort à @2 et a laissé tomber son inventaire. +@1 died at @2, and bones were placed.=@1 est mort à @2 et ses os ont été placés. +@1's fresh bones=Os frais de @1 +@1's bones=Os de @1 diff --git a/mods/bones/locale/bones.id.tr b/mods/bones/locale/bones.id.tr new file mode 100644 index 00000000..3c81accf --- /dev/null +++ b/mods/bones/locale/bones.id.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Tulang +@1's old bones=Tulang lama @1 +@1 died at @2.=@1 mati di @2. +@1 died at @2, and dropped their inventory.=@1 mati di @2 dan meninggalkan barangnya. +@1 died at @2, and bones were placed.=@1 mati di @2 dan tulangnya diletakkan. +@1's fresh bones=Tulang segar @1 +@1's bones=Tulang @1 diff --git a/mods/bones/locale/bones.it.tr b/mods/bones/locale/bones.it.tr new file mode 100644 index 00000000..ea3094e9 --- /dev/null +++ b/mods/bones/locale/bones.it.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Ossa +@1's old bones=Ossa vecchie di @1 +@1 died at @2.=@1 è morto alla posizione @2. +@1 died at @2, and dropped their inventory.=@1 è morto alla posizione @2, e ha lasciato a terra il contenuto del suo inventario. +@1 died at @2, and bones were placed.=@1 è morto alla posizione @2, e vi sono state posizionate delle ossa. +@1's fresh bones=Ossa fresche di @1 +@1's bones=Ossa di @1 diff --git a/mods/bones/locale/bones.ja.tr b/mods/bones/locale/bones.ja.tr new file mode 100644 index 00000000..8c3f7328 --- /dev/null +++ b/mods/bones/locale/bones.ja.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=骨 +@1's old bones=@1の古い骨 +@1 died at @2.=@1は@2で死亡しました。 +@1 died at @2, and dropped their inventory.=@1は@2で死亡して持ち物を落としました。 +@1 died at @2, and bones were placed.=@1は@2で死亡して骨が残されました。 +@1's fresh bones=@1の新鮮な骨 +@1's bones=@1の骨 diff --git a/mods/bones/locale/bones.jbo.tr b/mods/bones/locale/bones.jbo.tr new file mode 100644 index 00000000..cbb476e7 --- /dev/null +++ b/mods/bones/locale/bones.jbo.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=lo bongu gunma +@1's old bones=.i ti tolci'o ke bongu gunma po'a la'o zo'i.@1.zo'i +@1 died at @2.=.i la'o zo'i.@1.zo'i pu morsi di'o lo me zoi pos.@2.pos. +@1 died at @2, and dropped their inventory.=.i la'o zo'i.@1.zo'i goi ly. pu morsi di'o lo me zoi pos.@2.pos. .ije ly. te farlu lo me le dacti liste po ly. +@1 died at @2, and bones were placed.=.i la'o zo'i.@1.zo'i goi ly. pu morsi di'o lo me zoi pos.@2.pos. .ije lo bongu gunma pu se punji +@1's fresh bones=.i ti cnino ke bongu gunma po'a la'o zo'i.@1.zo'i +@1's bones=.i ti bongu gunma po'a la'o zo'i.@1.zo'i diff --git a/mods/bones/locale/bones.ms.tr b/mods/bones/locale/bones.ms.tr new file mode 100644 index 00000000..e4b87129 --- /dev/null +++ b/mods/bones/locale/bones.ms.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Tulang +@1's old bones=Tulang lama @1 +@1 died at @2.=@1 mati di @2. +@1 died at @2, and dropped their inventory.=@1 mati di @2, dan menjatuhkan inventorinya. +@1 died at @2, and bones were placed.=@1 mati di @2, dan tulang diletakkan. +@1's fresh bones=Tulang segar @1 +@1's bones=Tulang @1 diff --git a/mods/bones/locale/bones.pt_BR.tr b/mods/bones/locale/bones.pt_BR.tr new file mode 100644 index 00000000..31339af7 --- /dev/null +++ b/mods/bones/locale/bones.pt_BR.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Ossos +@1's old bones=Ossos antigos de @1 +@1 died at @2.=@1 morreu em @2. +@1 died at @2, and dropped their inventory.=@1 morreu em @2, e seu inventário foi derrubado. +@1 died at @2, and bones were placed.=@1 morreu em @2, e os ossos foram colocados. +@1's fresh bones=Ossos recentes de @1 +@1's bones=Ossos de @1 diff --git a/mods/bones/locale/bones.ru.tr b/mods/bones/locale/bones.ru.tr new file mode 100644 index 00000000..98691c53 --- /dev/null +++ b/mods/bones/locale/bones.ru.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Кости +@1's old bones=Старые кости @1 +@1 died at @2.=@1 умер в @2. +@1 died at @2, and dropped their inventory.=@1 умер в @2 и потерял содержимое своего инвентаря. +@1 died at @2, and bones were placed.=@1 умер в @2, помещены кости. +@1's fresh bones=новые кости @1 +@1's bones=кости @1 diff --git a/mods/bones/locale/bones.sk.tr b/mods/bones/locale/bones.sk.tr new file mode 100644 index 00000000..a32c17de --- /dev/null +++ b/mods/bones/locale/bones.sk.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Kosti +@1's old bones=Staré kosti hráča @1 +@1 died at @2.=@1 zomrel na pozícií @2. +@1 died at @2, and dropped their inventory.=@1 zomrel na pozícií @2 a vysypal svoj inventár. +@1 died at @2, and bones were placed.=@1 zomrel na pozícií @2 a ostali po ňom kosti. +@1's fresh bones=Čerstvé kosti hráča @1 +@1's bones=Kosti hráča @1 diff --git a/mods/bones/locale/bones.sv.tr b/mods/bones/locale/bones.sv.tr new file mode 100644 index 00000000..1323c590 --- /dev/null +++ b/mods/bones/locale/bones.sv.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Ben +@1's old bones=@1s Gamla ben +@1 died at @2.=@1 dog på @a. +@1 died at @2, and dropped their inventory.=@1 dog på @a, och tappade deras saker. +@1 died at @2, and bones were placed.=@1 dog på @2, och deras ben var placerade. +@1's fresh bones=@1s färska ben +@1's bones=@1s ben diff --git a/mods/bones/locale/bones.uk.tr b/mods/bones/locale/bones.uk.tr new file mode 100644 index 00000000..58ffe77b --- /dev/null +++ b/mods/bones/locale/bones.uk.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Кістки +@1's old bones=Старі кістки @1 +@1 died at @2.=@1 помер в @2. +@1 died at @2, and dropped their inventory.=@1 помер в @2, та загубив вміст свого інвентарю. +@1 died at @2, and bones were placed.=@1 помер в @2, розміщені кістки. +@1's fresh bones=нові кістки @1 +@1's bones=кістки @1 diff --git a/mods/bones/locale/bones.zh_CN.tr b/mods/bones/locale/bones.zh_CN.tr new file mode 100644 index 00000000..7911e37c --- /dev/null +++ b/mods/bones/locale/bones.zh_CN.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=骨骸 +@1's old bones=@1的旧骨骸 +@1 died at @2.=@1在@2死亡。 +@1 died at @2, and dropped their inventory.=@1在@2死亡,丢掉了所有物品。 +@1 died at @2, and bones were placed.=@1在@2死亡,已放置骨骸。 +@1's fresh bones=@1的新鲜骨骸 +@1's bones=@1的骨骸 diff --git a/mods/bones/locale/bones.zh_TW.tr b/mods/bones/locale/bones.zh_TW.tr new file mode 100644 index 00000000..1a94d2f1 --- /dev/null +++ b/mods/bones/locale/bones.zh_TW.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=骨骸 +@1's old bones=@1的舊骨骸 +@1 died at @2.=@1在@2死亡。 +@1 died at @2, and dropped their inventory.=@1在@2死亡,丟掉了物品欄。 +@1 died at @2, and bones were placed.=@1在@2死亡,骨骸被放置。 +@1's fresh bones=@1的新鮮骨骸 +@1's bones=@1的骨骸 diff --git a/mods/bones/textures/bones_bottom.png b/mods/bones/textures/bones_bottom.png index 859c6bbe..d3d5d322 100644 Binary files a/mods/bones/textures/bones_bottom.png and b/mods/bones/textures/bones_bottom.png differ diff --git a/mods/bones/textures/bones_front.png b/mods/bones/textures/bones_front.png index 1e524370..1617d8f7 100644 Binary files a/mods/bones/textures/bones_front.png and b/mods/bones/textures/bones_front.png differ diff --git a/mods/bones/textures/bones_rear.png b/mods/bones/textures/bones_rear.png index 4cfe236d..05ee2a12 100644 Binary files a/mods/bones/textures/bones_rear.png and b/mods/bones/textures/bones_rear.png differ diff --git a/mods/bones/textures/bones_side.png b/mods/bones/textures/bones_side.png index a07595f4..c8ac5053 100644 Binary files a/mods/bones/textures/bones_side.png and b/mods/bones/textures/bones_side.png differ diff --git a/mods/bones/textures/bones_top.png b/mods/bones/textures/bones_top.png index 198a8a2d..63786da7 100644 Binary files a/mods/bones/textures/bones_top.png and b/mods/bones/textures/bones_top.png differ diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua index 2cf431ca..ebdf2e74 100644 --- a/mods/bucket/init.lua +++ b/mods/bucket/init.lua @@ -225,3 +225,16 @@ minetest.register_craft({ replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, }) +-- Register buckets as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + {name = "bucket:bucket_empty", chance = 0.55}, + -- water in deserts/ice or above ground, lava otherwise + {name = "bucket:bucket_water", chance = 0.45, + types = {"sandstone", "desert", "ice"}}, + {name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, + types = {"normal"}}, + {name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, + types = {"normal"}}, + }) +end diff --git a/mods/bucket/locale/bucket.eo.tr b/mods/bucket/locale/bucket.eo.tr new file mode 100644 index 00000000..b6266a1d --- /dev/null +++ b/mods/bucket/locale/bucket.eo.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Malplena Sitelo +Water Bucket=Sitelo da Akvo +River Water Bucket=Sitelo da Rivera Akvo +Lava Bucket=Sitelo da Lafo diff --git a/mods/bucket/locale/bucket.es.tr b/mods/bucket/locale/bucket.es.tr new file mode 100644 index 00000000..91a06233 --- /dev/null +++ b/mods/bucket/locale/bucket.es.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Cubo vacío +Water Bucket=Cubo con agua +River Water Bucket=Cubo con agua de río +Lava Bucket=Cubo con lava diff --git a/mods/bucket/locale/bucket.fr.tr b/mods/bucket/locale/bucket.fr.tr new file mode 100644 index 00000000..5065150d --- /dev/null +++ b/mods/bucket/locale/bucket.fr.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Seau vide +Water Bucket=Seau d'eau +River Water Bucket=Seau d'eau de rivière +Lava Bucket=Seau de lave diff --git a/mods/bucket/locale/bucket.id.tr b/mods/bucket/locale/bucket.id.tr new file mode 100644 index 00000000..56625638 --- /dev/null +++ b/mods/bucket/locale/bucket.id.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Ember Kosong +Water Bucket=Ember Air +River Water Bucket=Ember Air Sungai +Lava Bucket=Ember Lava diff --git a/mods/bucket/locale/bucket.it.tr b/mods/bucket/locale/bucket.it.tr new file mode 100644 index 00000000..beca28c7 --- /dev/null +++ b/mods/bucket/locale/bucket.it.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Secchio vuoto +Water Bucket=Secchio d'acqua +River Water Bucket=Secchio d'acqua di fiume +Lava Bucket=Secchio di lava diff --git a/mods/bucket/locale/bucket.ja.tr b/mods/bucket/locale/bucket.ja.tr new file mode 100644 index 00000000..df3bbb63 --- /dev/null +++ b/mods/bucket/locale/bucket.ja.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=空のバケツ +Water Bucket=水入りバケツ +River Water Bucket=川の水入りバケツ +Lava Bucket=溶岩入りバケツ diff --git a/mods/bucket/locale/bucket.jbo.tr b/mods/bucket/locale/bucket.jbo.tr new file mode 100644 index 00000000..e40d2b92 --- /dev/null +++ b/mods/bucket/locale/bucket.jbo.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=lo baktu be no da +Water Bucket=lo baktu be lo djacu +River Water Bucket=lo baktu be lo rirxe djacu +Lava Bucket=lo baktu be lo likro'i diff --git a/mods/bucket/locale/bucket.ms.tr b/mods/bucket/locale/bucket.ms.tr new file mode 100644 index 00000000..02ba38a6 --- /dev/null +++ b/mods/bucket/locale/bucket.ms.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Baldi Kosong +Water Bucket=Baldi Air +River Water Bucket=Baldi Air Sungai +Lava Bucket=Baldi Lava diff --git a/mods/bucket/locale/bucket.pt_BR.tr b/mods/bucket/locale/bucket.pt_BR.tr new file mode 100644 index 00000000..429acac0 --- /dev/null +++ b/mods/bucket/locale/bucket.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Balde Vazio +Water Bucket=Balde de Água +River Water Bucket=Balde de Água do Rio +Lava Bucket=Balde de Lava diff --git a/mods/bucket/locale/bucket.ru.tr b/mods/bucket/locale/bucket.ru.tr new file mode 100644 index 00000000..8ede2804 --- /dev/null +++ b/mods/bucket/locale/bucket.ru.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Пустое Ведро +Water Bucket=Ведро с Водой +River Water Bucket=Ведро с Речной Водой +Lava Bucket=Ведро с Лавой diff --git a/mods/bucket/locale/bucket.sk.tr b/mods/bucket/locale/bucket.sk.tr new file mode 100644 index 00000000..0327b20c --- /dev/null +++ b/mods/bucket/locale/bucket.sk.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Prázdne vedro +Water Bucket=Vedro s vodou +River Water Bucket=Vedro s vodou z rieky +Lava Bucket=Vedro s lávou diff --git a/mods/bucket/locale/bucket.sv.tr b/mods/bucket/locale/bucket.sv.tr new file mode 100644 index 00000000..59ee62df --- /dev/null +++ b/mods/bucket/locale/bucket.sv.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Tom hink +Water Bucket=Vattenhink +River Water Bucket=Flodvattenshink +Lava Bucket=Lavahink diff --git a/mods/bucket/locale/bucket.uk.tr b/mods/bucket/locale/bucket.uk.tr new file mode 100644 index 00000000..a5251a5a --- /dev/null +++ b/mods/bucket/locale/bucket.uk.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Пусте Відро +Water Bucket=Відро З Водою +River Water Bucket=Відро З Річною Водою +Lava Bucket=Відро З Лавою diff --git a/mods/bucket/locale/bucket.zh_CN.tr b/mods/bucket/locale/bucket.zh_CN.tr new file mode 100644 index 00000000..fda5bfcd --- /dev/null +++ b/mods/bucket/locale/bucket.zh_CN.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=空桶 +Water Bucket=水桶 +River Water Bucket=河水桶 +Lava Bucket=岩浆桶 diff --git a/mods/bucket/locale/bucket.zh_TW.tr b/mods/bucket/locale/bucket.zh_TW.tr new file mode 100644 index 00000000..965d6575 --- /dev/null +++ b/mods/bucket/locale/bucket.zh_TW.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=空桶 +Water Bucket=水桶 +River Water Bucket=河水桶 +Lava Bucket=岩漿桶 diff --git a/mods/bucket/mod.conf b/mods/bucket/mod.conf index 1c60a099..fef46873 100644 --- a/mods/bucket/mod.conf +++ b/mods/bucket/mod.conf @@ -1,3 +1,4 @@ name = bucket description = Minetest Game mod: bucket depends = default +optional_depends = dungeon_loot diff --git a/mods/bucket/textures/bucket.png b/mods/bucket/textures/bucket.png old mode 100755 new mode 100644 diff --git a/mods/butterflies/init.lua b/mods/butterflies/init.lua index 6fd839fb..49240eea 100644 --- a/mods/butterflies/init.lua +++ b/mods/butterflies/init.lua @@ -62,8 +62,8 @@ for i in ipairs (butter_list) do minetest.register_node("butterflies:hidden_butterfly_"..name, { drawtype = "airlike", - inventory_image = "butterflies_butterfly_"..name..".png", - wield_image = "butterflies_butterfly_"..name..".png", + inventory_image = "butterflies_butterfly_"..name..".png^default_invisible_node_overlay.png", + wield_image = "butterflies_butterfly_"..name..".png^default_invisible_node_overlay.png", paramtype = "light", sunlight_propagates = true, walkable = false, @@ -102,7 +102,7 @@ minetest.register_decoration({ place_offset_y = 2, sidelen = 80, fill_ratio = 0.005, - biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, + biomes = {"grassland", "deciduous_forest"}, y_max = 31000, y_min = 1, decoration = { diff --git a/mods/butterflies/locale/butterflies.eo.tr b/mods/butterflies/locale/butterflies.eo.tr new file mode 100644 index 00000000..3dec04e7 --- /dev/null +++ b/mods/butterflies/locale/butterflies.eo.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Blanka Papilio +Red Butterfly=Ruĝa Papilio +Violet Butterfly=Viola Papilio diff --git a/mods/butterflies/locale/butterflies.es.tr b/mods/butterflies/locale/butterflies.es.tr new file mode 100644 index 00000000..59a28eb9 --- /dev/null +++ b/mods/butterflies/locale/butterflies.es.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Mariposa blanca +Red Butterfly=Mariposa roja +Violet Butterfly=Mariposa violeta diff --git a/mods/butterflies/locale/butterflies.fr.tr b/mods/butterflies/locale/butterflies.fr.tr new file mode 100644 index 00000000..8f5c094c --- /dev/null +++ b/mods/butterflies/locale/butterflies.fr.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Papillon blanc +Red Butterfly=Papillon rouge +Violet Butterfly=Papillon violet diff --git a/mods/butterflies/locale/butterflies.id.tr b/mods/butterflies/locale/butterflies.id.tr new file mode 100644 index 00000000..d4429a6c --- /dev/null +++ b/mods/butterflies/locale/butterflies.id.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Kupu-Kupu Putih +Red Butterfly=Kupu-Kupu Merah +Violet Butterfly=Kupu-Kupu Ungu diff --git a/mods/butterflies/locale/butterflies.it.tr b/mods/butterflies/locale/butterflies.it.tr new file mode 100644 index 00000000..ec65da68 --- /dev/null +++ b/mods/butterflies/locale/butterflies.it.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Farfalla bianca +Red Butterfly=Farfalla rossa +Violet Butterfly=Farfalla viola diff --git a/mods/butterflies/locale/butterflies.ja.tr b/mods/butterflies/locale/butterflies.ja.tr new file mode 100644 index 00000000..5a22d6bf --- /dev/null +++ b/mods/butterflies/locale/butterflies.ja.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=白色の蝶 +Red Butterfly=赤色の蝶 +Violet Butterfly=紫色の蝶 diff --git a/mods/butterflies/locale/butterflies.jbo.tr b/mods/butterflies/locale/butterflies.jbo.tr new file mode 100644 index 00000000..f003e004 --- /dev/null +++ b/mods/butterflies/locale/butterflies.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=lo blabi toldi +Red Butterfly=lo xunre toldi +Violet Butterfly=lo zirpu toldi diff --git a/mods/butterflies/locale/butterflies.ms.tr b/mods/butterflies/locale/butterflies.ms.tr new file mode 100644 index 00000000..b8bde851 --- /dev/null +++ b/mods/butterflies/locale/butterflies.ms.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Rama-Rama Putih +Red Butterfly=Rama-Rama Merah +Violet Butterfly=Rama-Rama Ungu diff --git a/mods/butterflies/locale/butterflies.pt_BR.tr b/mods/butterflies/locale/butterflies.pt_BR.tr new file mode 100644 index 00000000..d89503aa --- /dev/null +++ b/mods/butterflies/locale/butterflies.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly= +Red Butterfly= +Violet Butterfly= diff --git a/mods/butterflies/locale/butterflies.ru.tr b/mods/butterflies/locale/butterflies.ru.tr new file mode 100644 index 00000000..7a79ed83 --- /dev/null +++ b/mods/butterflies/locale/butterflies.ru.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Белая Бабочка +Red Butterfly=Красная Бабочка +Violet Butterfly=Фиолетовая Бабочка diff --git a/mods/butterflies/locale/butterflies.sk.tr b/mods/butterflies/locale/butterflies.sk.tr new file mode 100644 index 00000000..c3086e7f --- /dev/null +++ b/mods/butterflies/locale/butterflies.sk.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Biely motýlik +Red Butterfly=Červený motýlik +Violet Butterfly=Fialový motýlik diff --git a/mods/butterflies/locale/butterflies.sv.tr b/mods/butterflies/locale/butterflies.sv.tr new file mode 100644 index 00000000..77bfb340 --- /dev/null +++ b/mods/butterflies/locale/butterflies.sv.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Vit fjäril +Red Butterfly=Röd fjäril +Violet Butterfly=Violett fjäril diff --git a/mods/butterflies/locale/butterflies.uk.tr b/mods/butterflies/locale/butterflies.uk.tr new file mode 100644 index 00000000..4a5995e8 --- /dev/null +++ b/mods/butterflies/locale/butterflies.uk.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Білий Метелик +Red Butterfly=Червоний Метелик +Violet Butterfly=Фіолетовий Метелик diff --git a/mods/butterflies/locale/butterflies.zh_CN.tr b/mods/butterflies/locale/butterflies.zh_CN.tr new file mode 100644 index 00000000..24e0bd13 --- /dev/null +++ b/mods/butterflies/locale/butterflies.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=白蝴蝶 +Red Butterfly=红蝴蝶 +Violet Butterfly=紫蝴蝶 diff --git a/mods/butterflies/locale/butterflies.zh_TW.tr b/mods/butterflies/locale/butterflies.zh_TW.tr new file mode 100644 index 00000000..8d927c18 --- /dev/null +++ b/mods/butterflies/locale/butterflies.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=白蝴蝶 +Red Butterfly=紅蝴蝶 +Violet Butterfly=紫蝴蝶 diff --git a/mods/carts/cart_entity.lua b/mods/carts/cart_entity.lua index 3c131a66..8008bcfb 100644 --- a/mods/carts/cart_entity.lua +++ b/mods/carts/cart_entity.lua @@ -29,15 +29,10 @@ function cart_entity:on_rightclick(clicker) end local player_name = clicker:get_player_name() if self.driver and player_name == self.driver then - self.driver = nil carts:manage_attachment(clicker, nil) elseif not self.driver then - self.driver = player_name carts:manage_attachment(clicker, self.object) - - -- player_api does not update the animation - -- when the player is attached, reset to default animation - player_api.set_animation(clicker, "stand") + self.driver = player_name end end @@ -66,6 +61,8 @@ end -- 0.5.x and later: When the driver leaves function cart_entity:on_detach_child(child) if child and child:get_player_name() == self.driver then + -- Clean up eye height + carts:manage_attachment(child, nil) self.driver = nil end end @@ -107,8 +104,7 @@ function cart_entity:on_punch(puncher, time_from_last_punch, tool_capabilities, end -- Pick up cart local inv = puncher:get_inventory() - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(puncher:get_player_name())) + if not minetest.is_creative_enabled(puncher:get_player_name()) or not inv:contains_item("main", "carts:cart") then local leftover = inv:add_item("main", "carts:cart") -- If no room in inventory add a replacement cart to the world @@ -134,7 +130,8 @@ function cart_entity:on_punch(puncher, time_from_last_punch, tool_capabilities, end local punch_interval = 1 - if tool_capabilities and tool_capabilities.full_punch_interval then + -- Faulty tool registrations may cause the interval to be set to 0 ! + if tool_capabilities and (tool_capabilities.full_punch_interval or 0) > 0 then punch_interval = tool_capabilities.full_punch_interval end time_from_last_punch = math.min(time_from_last_punch or punch_interval, punch_interval) @@ -327,11 +324,10 @@ local function rail_on_step(self, dtime) if self.punched then -- Collect dropped items for _, obj_ in pairs(minetest.get_objects_inside_radius(pos, 1)) do - if not obj_:is_player() and - obj_:get_luaentity() and - not obj_:get_luaentity().physical_state and - obj_:get_luaentity().name == "__builtin:item" then - + local ent = obj_:get_luaentity() + -- Careful here: physical_state and disable_physics are item-internal APIs + if ent and ent.name == "__builtin:item" and ent.physical_state then + ent:disable_physics() obj_:set_attach(self.object, "", {x=0, y=0, z=0}, {x=0, y=0, z=0}) self.attached_items[#self.attached_items + 1] = obj_ end @@ -389,8 +385,8 @@ minetest.register_entity("carts:cart", cart_entity) minetest.register_craftitem("carts:cart", { description = S("Cart") .. "\n" .. S("(Sneak+Click to pick up)"), - inventory_image = minetest.inventorycube("carts_cart_top.png", "carts_cart_side.png", "carts_cart_side.png"), - wield_image = "carts_cart_side.png", + inventory_image = minetest.inventorycube("carts_cart_top.png", "carts_cart_front.png", "carts_cart_side.png"), + wield_image = "carts_cart_front.png", on_place = function(itemstack, placer, pointed_thing) local under = pointed_thing.under local node = minetest.get_node(under) @@ -414,10 +410,9 @@ minetest.register_craftitem("carts:cart", { end minetest.sound_play({name = "default_place_node_metal", gain = 0.5}, - {pos = pointed_thing.above}) + {pos = pointed_thing.above}, true) - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(placer:get_player_name())) then + if not minetest.is_creative_enabled(placer:get_player_name()) then itemstack:take_item() end return itemstack diff --git a/mods/carts/functions.lua b/mods/carts/functions.lua index a54b5948..36b7e129 100644 --- a/mods/carts/functions.lua +++ b/mods/carts/functions.lua @@ -12,7 +12,7 @@ function carts:manage_attachment(player, obj) end local status = obj ~= nil local player_name = player:get_player_name() - if player_api.player_attached[player_name] == status then + if obj and player:get_attach() == obj then return end player_api.player_attached[player_name] = status @@ -20,6 +20,10 @@ function carts:manage_attachment(player, obj) if status then player:set_attach(obj, "", {x=0, y=-4.5, z=0}, {x=0, y=0, z=0}) player:set_eye_offset({x=0, y=-4, z=0},{x=0, y=-4, z=0}) + + -- player_api does not update the animation + -- when the player is attached, reset to default animation + player_api.set_animation(player, "stand") else player:set_detach() player:set_eye_offset({x=0, y=0, z=0},{x=0, y=0, z=0}) diff --git a/mods/carts/init.lua b/mods/carts/init.lua index a5aa9cb5..69d59d9f 100644 --- a/mods/carts/init.lua +++ b/mods/carts/init.lua @@ -19,3 +19,10 @@ carts.path_distance_max = 3 dofile(carts.modpath.."/functions.lua") dofile(carts.modpath.."/rails.lua") dofile(carts.modpath.."/cart_entity.lua") + +-- Register rails as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + name = "carts:rail", chance = 0.35, count = {1, 6} + }) +end diff --git a/mods/carts/locale/carts.eo.tr b/mods/carts/locale/carts.eo.tr new file mode 100644 index 00000000..805cc683 --- /dev/null +++ b/mods/carts/locale/carts.eo.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Ĉaro +(Sneak+Click to pick up)=(Ŝteliru+Alklaku por reprini) +Rail=Relo +Powered Rail=Elektra Relo +Brake Rail=Bremsa Relo diff --git a/mods/carts/locale/carts.es.tr b/mods/carts/locale/carts.es.tr new file mode 100644 index 00000000..c0857a1b --- /dev/null +++ b/mods/carts/locale/carts.es.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vagoneta +(Sneak+Click to pick up)=(Agacharse+Clic para recoger) +Rail=Raíl +Powered Rail=Raíl energizado +Brake Rail=Raíl de frenado diff --git a/mods/carts/locale/carts.fr.tr b/mods/carts/locale/carts.fr.tr new file mode 100644 index 00000000..b092f14d --- /dev/null +++ b/mods/carts/locale/carts.fr.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Chariot +(Sneak+Click to pick up)=(Se baisser + clic pour ramasser) +Rail=Rail +Powered Rail=Rail de traction +Brake Rail=Rail de freinage diff --git a/mods/carts/locale/carts.id.tr b/mods/carts/locale/carts.id.tr new file mode 100644 index 00000000..ce0db926 --- /dev/null +++ b/mods/carts/locale/carts.id.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Kereta +(Sneak+Click to pick up)=(Menyelinap + Klik untuk ambil) +Rail=Rel +Powered Rail=Rel Bertenaga +Brake Rail=Rel Rem diff --git a/mods/carts/locale/carts.it.tr b/mods/carts/locale/carts.it.tr new file mode 100644 index 00000000..c28e403e --- /dev/null +++ b/mods/carts/locale/carts.it.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vagone +(Sneak+Click to pick up)=(Strisciare+Click per raccoglierlo) +Rail=Binario +Powered Rail=Binario alimentato +Brake Rail=Binario freno diff --git a/mods/carts/locale/carts.ja.tr b/mods/carts/locale/carts.ja.tr new file mode 100644 index 00000000..30c14ce2 --- /dev/null +++ b/mods/carts/locale/carts.ja.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=トロッコ +(Sneak+Click to pick up)=(スニークキーとクリックで乗ります) +Rail=レール +Powered Rail=パワードレール +Brake Rail=ブレーキレール diff --git a/mods/carts/locale/carts.jbo.tr b/mods/carts/locale/carts.jbo.tr new file mode 100644 index 00000000..b48c5423 --- /dev/null +++ b/mods/carts/locale/carts.jbo.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=lo carce +(Sneak+Click to pick up)=to lo nu dzibi'o je cu samxa'e te cabra cu tadji lo nu lebna toi +Rail=lo teryre'e +Powered Rail=lo se dikca teryre'e +Brake Rail=lo terjabre teryre'e diff --git a/mods/carts/locale/carts.ms.tr b/mods/carts/locale/carts.ms.tr new file mode 100644 index 00000000..e8944e9a --- /dev/null +++ b/mods/carts/locale/carts.ms.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Pedati +(Sneak+Click to pick up)=(Selinap+Klik untuk ambil balik) +Rail=Landasan +Powered Rail=Landasan Berkuasa +Brake Rail=Landasan Brek diff --git a/mods/carts/locale/carts.pt_BR.tr b/mods/carts/locale/carts.pt_BR.tr new file mode 100644 index 00000000..b92f91ea --- /dev/null +++ b/mods/carts/locale/carts.pt_BR.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Carrinho +(Sneak+Click to pick up)=(Esgueirar + Clique para pegar) +Rail=Trilho +Powered Rail=Trilho Energizado +Brake Rail=Trilho de Freio diff --git a/mods/carts/locale/carts.ru.tr b/mods/carts/locale/carts.ru.tr new file mode 100644 index 00000000..9fc60ce3 --- /dev/null +++ b/mods/carts/locale/carts.ru.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Вагонетка +(Sneak+Click to pick up)=(Пригнитесь и кликните по вагонетке, чтобы забрать) +Rail=Рельсы +Powered Rail=Запитанные рельсы +Brake Rail=Тормозящие рельсы diff --git a/mods/carts/locale/carts.sk.tr b/mods/carts/locale/carts.sk.tr new file mode 100644 index 00000000..6303a49b --- /dev/null +++ b/mods/carts/locale/carts.sk.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vozík +(Sneak+Click to pick up)=(Zakrádanie sa + Klik pre zdvihnutie) +Rail=Koľajnica +Powered Rail=Koľajnica s pohonom +Brake Rail=Brzdná koľajnica diff --git a/mods/carts/locale/carts.sv.tr b/mods/carts/locale/carts.sv.tr new file mode 100644 index 00000000..0521ca85 --- /dev/null +++ b/mods/carts/locale/carts.sv.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vagn +(Sneak+Click to pick up)=(Shift+Klicka för att plocka upp) +Rail=Räls +Powered Rail=Aktiverad räls +Brake Rail=Bromsräls diff --git a/mods/carts/locale/carts.uk.tr b/mods/carts/locale/carts.uk.tr new file mode 100644 index 00000000..2b236c54 --- /dev/null +++ b/mods/carts/locale/carts.uk.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Вагонетка +(Sneak+Click to pick up)=(Пригніться та клікніть по вагонетці, щоб забрати) +Rail=Рейки +Powered Rail=Задіяні Рейки +Brake Rail=Гальмівні Рейки diff --git a/mods/carts/locale/carts.zh_CN.tr b/mods/carts/locale/carts.zh_CN.tr new file mode 100644 index 00000000..953cdefc --- /dev/null +++ b/mods/carts/locale/carts.zh_CN.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=矿车 +(Sneak+Click to pick up)=(潜行+单击以捡起) +Rail=铁轨 +Powered Rail=动力铁轨 +Brake Rail=制动铁轨 diff --git a/mods/carts/locale/carts.zh_TW.tr b/mods/carts/locale/carts.zh_TW.tr new file mode 100644 index 00000000..f6300d4a --- /dev/null +++ b/mods/carts/locale/carts.zh_TW.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=礦車 +(Sneak+Click to pick up)=(潛行+單擊以撿起) +Rail=鐵軌 +Powered Rail=動力鐵軌 +Brake Rail=制動鐵軌 diff --git a/mods/carts/mod.conf b/mods/carts/mod.conf index 20357e3e..0eab35c3 100644 --- a/mods/carts/mod.conf +++ b/mods/carts/mod.conf @@ -1,3 +1,4 @@ name = carts description = Carts (formerly boost_cart) depends = default, player_api +optional_depends = dungeon_loot diff --git a/mods/carts/models/carts_cart.b3d b/mods/carts/models/carts_cart.b3d index 4e7eba36..b8b7c3a1 100644 Binary files a/mods/carts/models/carts_cart.b3d and b/mods/carts/models/carts_cart.b3d differ diff --git a/mods/carts/models/carts_cart.blend b/mods/carts/models/carts_cart.blend index 7d2515eb..3446fb15 100644 Binary files a/mods/carts/models/carts_cart.blend and b/mods/carts/models/carts_cart.blend differ diff --git a/mods/carts/textures/carts_cart.png b/mods/carts/textures/carts_cart.png index 965347c0..dd6c88cc 100644 Binary files a/mods/carts/textures/carts_cart.png and b/mods/carts/textures/carts_cart.png differ diff --git a/mods/carts/textures/carts_cart_front.png b/mods/carts/textures/carts_cart_front.png index 38955b25..0b3015be 100644 Binary files a/mods/carts/textures/carts_cart_front.png and b/mods/carts/textures/carts_cart_front.png differ diff --git a/mods/carts/textures/carts_cart_side.png b/mods/carts/textures/carts_cart_side.png index f53808c6..69b7fdd2 100644 Binary files a/mods/carts/textures/carts_cart_side.png and b/mods/carts/textures/carts_cart_side.png differ diff --git a/mods/carts/textures/carts_cart_top.png b/mods/carts/textures/carts_cart_top.png index d9a31a9d..89594837 100644 Binary files a/mods/carts/textures/carts_cart_top.png and b/mods/carts/textures/carts_cart_top.png differ diff --git a/mods/carts/textures/carts_rail_crossing.png b/mods/carts/textures/carts_rail_crossing.png index e10f3b1f..99dab9e4 100644 Binary files a/mods/carts/textures/carts_rail_crossing.png and b/mods/carts/textures/carts_rail_crossing.png differ diff --git a/mods/carts/textures/carts_rail_crossing_brk.png b/mods/carts/textures/carts_rail_crossing_brk.png index 0bf455ef..ae71d7e4 100644 Binary files a/mods/carts/textures/carts_rail_crossing_brk.png and b/mods/carts/textures/carts_rail_crossing_brk.png differ diff --git a/mods/carts/textures/carts_rail_crossing_pwr.png b/mods/carts/textures/carts_rail_crossing_pwr.png index d763d508..fc57b08a 100644 Binary files a/mods/carts/textures/carts_rail_crossing_pwr.png and b/mods/carts/textures/carts_rail_crossing_pwr.png differ diff --git a/mods/carts/textures/carts_rail_curved.png b/mods/carts/textures/carts_rail_curved.png index b320f0da..cb1beac2 100644 Binary files a/mods/carts/textures/carts_rail_curved.png and b/mods/carts/textures/carts_rail_curved.png differ diff --git a/mods/carts/textures/carts_rail_curved_brk.png b/mods/carts/textures/carts_rail_curved_brk.png index ca407236..cff2a30c 100644 Binary files a/mods/carts/textures/carts_rail_curved_brk.png and b/mods/carts/textures/carts_rail_curved_brk.png differ diff --git a/mods/carts/textures/carts_rail_curved_pwr.png b/mods/carts/textures/carts_rail_curved_pwr.png index 781bbd0a..2cd0770f 100644 Binary files a/mods/carts/textures/carts_rail_curved_pwr.png and b/mods/carts/textures/carts_rail_curved_pwr.png differ diff --git a/mods/carts/textures/carts_rail_straight.png b/mods/carts/textures/carts_rail_straight.png index 30dcafe8..764333b7 100644 Binary files a/mods/carts/textures/carts_rail_straight.png and b/mods/carts/textures/carts_rail_straight.png differ diff --git a/mods/carts/textures/carts_rail_straight_brk.png b/mods/carts/textures/carts_rail_straight_brk.png index 0c690529..cea7b1b3 100644 Binary files a/mods/carts/textures/carts_rail_straight_brk.png and b/mods/carts/textures/carts_rail_straight_brk.png differ diff --git a/mods/carts/textures/carts_rail_straight_pwr.png b/mods/carts/textures/carts_rail_straight_pwr.png index e067ff1d..764fa611 100644 Binary files a/mods/carts/textures/carts_rail_straight_pwr.png and b/mods/carts/textures/carts_rail_straight_pwr.png differ diff --git a/mods/carts/textures/carts_rail_t_junction.png b/mods/carts/textures/carts_rail_t_junction.png index 8b1b9462..0f3fd25a 100644 Binary files a/mods/carts/textures/carts_rail_t_junction.png and b/mods/carts/textures/carts_rail_t_junction.png differ diff --git a/mods/carts/textures/carts_rail_t_junction_brk.png b/mods/carts/textures/carts_rail_t_junction_brk.png index 6b4f6faa..5905d011 100644 Binary files a/mods/carts/textures/carts_rail_t_junction_brk.png and b/mods/carts/textures/carts_rail_t_junction_brk.png differ diff --git a/mods/carts/textures/carts_rail_t_junction_pwr.png b/mods/carts/textures/carts_rail_t_junction_pwr.png index dd0eede2..56565553 100644 Binary files a/mods/carts/textures/carts_rail_t_junction_pwr.png and b/mods/carts/textures/carts_rail_t_junction_pwr.png differ diff --git a/mods/creative/init.lua b/mods/creative/init.lua index a1d57c88..f3134858 100644 --- a/mods/creative/init.lua +++ b/mods/creative/init.lua @@ -27,16 +27,25 @@ minetest.register_privilege("creative", { on_revoke = update_sfinv, }) -local creative_mode_cache = minetest.settings:get_bool("creative_mode") +-- Override the engine's creative mode function +local old_is_creative_enabled = minetest.is_creative_enabled +function minetest.is_creative_enabled(name) + if name == "" then + return old_is_creative_enabled(name) + end + return minetest.check_player_privs(name, {creative = true}) or + old_is_creative_enabled(name) +end + +-- For backwards compatibility: function creative.is_enabled_for(name) - return creative_mode_cache or - minetest.check_player_privs(name, {creative = true}) + return minetest.is_creative_enabled(name) end dofile(minetest.get_modpath("creative") .. "/inventory.lua") -if creative_mode_cache then +if minetest.is_creative_enabled("") then -- Dig time is modified according to difference (leveldiff) between tool -- 'maxlevel' and node 'level'. Digtime is divided by the larger of -- leveldiff and 1. @@ -70,7 +79,7 @@ end -- Unlimited node placement minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) if placer and placer:is_player() then - return creative.is_enabled_for(placer:get_player_name()) + return minetest.is_creative_enabled(placer:get_player_name()) end end) @@ -78,7 +87,7 @@ end) local old_handle_node_drops = minetest.handle_node_drops function minetest.handle_node_drops(pos, drops, digger) if not digger or not digger:is_player() or - not creative.is_enabled_for(digger:get_player_name()) then + not minetest.is_creative_enabled(digger:get_player_name()) then return old_handle_node_drops(pos, drops, digger) end local inv = digger:get_inventory() diff --git a/mods/creative/inventory.lua b/mods/creative/inventory.lua index 27dee782..1f9a1d50 100644 --- a/mods/creative/inventory.lua +++ b/mods/creative/inventory.lua @@ -25,13 +25,15 @@ function creative.init_creative_inventory(player) player_inventory[player_name] = { size = 0, filter = "", - start_i = 0 + start_i = 0, + old_filter = nil, -- use only for caching in update_creative_inventory + old_content = nil } minetest.create_detached_inventory("creative_" .. player_name, { allow_move = function(inv, from_list, from_index, to_list, to_index, count, player2) local name = player2 and player2:get_player_name() or "" - if not creative.is_enabled_for(name) or + if not minetest.is_creative_enabled(name) or to_list == "main" then return 0 end @@ -42,7 +44,7 @@ function creative.init_creative_inventory(player) end, allow_take = function(inv, listname, index, stack, player2) local name = player2 and player2:get_player_name() or "" - if not creative.is_enabled_for(name) then + if not minetest.is_creative_enabled(name) then return 0 end return -1 @@ -59,29 +61,71 @@ function creative.init_creative_inventory(player) return player_inventory[player_name] end +local NO_MATCH = 999 +local function match(s, filter) + if filter == "" then + return 0 + end + if s:lower():find(filter, 1, true) then + return #s - #filter + end + return NO_MATCH +end + +local function description(def, lang_code) + local s = def.description + if lang_code then + s = minetest.get_translated_string(lang_code, s) + end + return s:gsub("\n.*", "") -- First line only +end + function creative.update_creative_inventory(player_name, tab_content) - local creative_list = {} local inv = player_inventory[player_name] or creative.init_creative_inventory(minetest.get_player_by_name(player_name)) local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name}) + if inv.filter == inv.old_filter and tab_content == inv.old_content then + return + end + inv.old_filter = inv.filter + inv.old_content = tab_content + local items = inventory_cache[tab_content] or init_creative_cache(tab_content) + local lang + local player_info = minetest.get_player_information(player_name) + if player_info and player_info.lang_code ~= "" then + lang = player_info.lang_code + end + + local creative_list = {} + local order = {} for name, def in pairs(items) do - if def.name:find(inv.filter, 1, true) or - def.description:lower():find(inv.filter, 1, true) then + local m = match(description(def), inv.filter) + if m > 0 then + m = math.min(m, match(description(def, lang), inv.filter)) + end + if m > 0 then + m = math.min(m, match(name, inv.filter)) + end + + if m < NO_MATCH then creative_list[#creative_list+1] = name + -- Sort by match value first so closer matches appear earlier + order[name] = string.format("%02d", m) .. name end end - table.sort(creative_list) + table.sort(creative_list, function(a, b) return order[a] < order[b] end) + player_inv:set_size("main", #creative_list) player_inv:set_list("main", creative_list) inv.size = #creative_list end -- Create the trash field -local trash = minetest.create_detached_inventory("creative_trash", { +local trash = minetest.create_detached_inventory("trash", { -- Allow the stack to be placed and remove it in on_put() -- This allows the creative inventory to restore the stack allow_put = function(inv, listname, index, stack, player) @@ -99,27 +143,26 @@ function creative.register_tab(name, title, items) sfinv.register_page("creative:" .. name, { title = title, is_in_nav = function(self, player, context) - return creative.is_enabled_for(player:get_player_name()) + return minetest.is_creative_enabled(player:get_player_name()) end, get = function(self, player, context) local player_name = player:get_player_name() creative.update_creative_inventory(player_name, items) local inv = player_inventory[player_name] - local start_i = inv.start_i or 0 - local pagenum = math.floor(start_i / (3*8) + 1) - local pagemax = math.ceil(inv.size / (3*8)) + local pagenum = math.floor(inv.start_i / (4*8) + 1) + local pagemax = math.ceil(inv.size / (4*8)) local esc = minetest.formspec_escape return sfinv.make_formspec(player, context, - "label[6.2,3.35;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. + "label[5.8,4.15;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. [[ - image[4.06,3.4;0.8,0.8;creative_trash_icon.png] + image[4.08,4.2;0.8,0.8;creative_trash_icon.png] listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] - list[detached:creative_trash;main;4,3.3;1,1;] + list[detached:trash;main;4.02,4.1;1,1;] listring[] - image_button[5.4,3.25;0.8,0.8;creative_prev_icon.png;creative_prev;] - image_button[7.2,3.25;0.8,0.8;creative_next_icon.png;creative_next;] - image_button[2.1,3.25;0.8,0.8;creative_search_icon.png;creative_search;] - image_button[2.75,3.25;0.8,0.8;creative_clear_icon.png;creative_clear;] + image_button[5,4.05;0.8,0.8;creative_prev_icon.png;creative_prev;] + image_button[7.2,4.05;0.8,0.8;creative_next_icon.png;creative_next;] + image_button[2.63,4.05;0.8,0.8;creative_search_icon.png;creative_search;] + image_button[3.25,4.05;0.8,0.8;creative_clear_icon.png;creative_clear;] ]] .. "tooltip[creative_search;" .. esc(S("Search")) .. "]" .. "tooltip[creative_clear;" .. esc(S("Reset")) .. "]" .. @@ -127,9 +170,9 @@ function creative.register_tab(name, title, items) "tooltip[creative_next;" .. esc(S("Next page")) .. "]" .. "listring[current_player;main]" .. "field_close_on_enter[creative_filter;false]" .. - "field[0.3,3.5;2.2,1;creative_filter;;" .. esc(inv.filter) .. "]" .. + "field[0.3,4.2;2.8,1.2;creative_filter;;" .. esc(inv.filter) .. "]" .. "listring[detached:creative_" .. player_name .. ";main]" .. - "list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" .. + "list[detached:creative_" .. player_name .. ";main;0,0;8,4;" .. tostring(inv.start_i) .. "]" .. creative.formspec_add, true) end, on_enter = function(self, player, context) @@ -147,27 +190,25 @@ function creative.register_tab(name, title, items) if fields.creative_clear then inv.start_i = 0 inv.filter = "" - creative.update_creative_inventory(player_name, items) sfinv.set_player_inventory_formspec(player, context) elseif fields.creative_search or fields.key_enter_field == "creative_filter" then inv.start_i = 0 inv.filter = fields.creative_filter:lower() - creative.update_creative_inventory(player_name, items) sfinv.set_player_inventory_formspec(player, context) elseif not fields.quit then local start_i = inv.start_i or 0 if fields.creative_prev then - start_i = start_i - 3*8 + start_i = start_i - 4*8 if start_i < 0 then - start_i = inv.size - (inv.size % (3*8)) + start_i = inv.size - (inv.size % (4*8)) if inv.size == start_i then - start_i = math.max(0, inv.size - (3*8)) + start_i = math.max(0, inv.size - (4*8)) end end elseif fields.creative_next then - start_i = start_i + 3*8 + start_i = start_i + 4*8 if start_i >= inv.size then start_i = 0 end @@ -180,14 +221,34 @@ function creative.register_tab(name, title, items) }) end +-- Sort registered items +local registered_nodes = {} +local registered_tools = {} +local registered_craftitems = {} + +minetest.register_on_mods_loaded(function() + for name, def in pairs(minetest.registered_items) do + local group = def.groups or {} + + local nogroup = not (group.node or group.tool or group.craftitem) + if group.node or (nogroup and minetest.registered_nodes[name]) then + registered_nodes[name] = def + elseif group.tool or (nogroup and minetest.registered_tools[name]) then + registered_tools[name] = def + elseif group.craftitem or (nogroup and minetest.registered_craftitems[name]) then + registered_craftitems[name] = def + end + end +end) + creative.register_tab("all", S("All"), minetest.registered_items) -creative.register_tab("nodes", S("Nodes"), minetest.registered_nodes) -creative.register_tab("tools", S("Tools"), minetest.registered_tools) -creative.register_tab("craftitems", S("Items"), minetest.registered_craftitems) +creative.register_tab("nodes", S("Nodes"), registered_nodes) +creative.register_tab("tools", S("Tools"), registered_tools) +creative.register_tab("craftitems", S("Items"), registered_craftitems) local old_homepage_name = sfinv.get_homepage_name function sfinv.get_homepage_name(player) - if creative.is_enabled_for(player:get_player_name()) then + if minetest.is_creative_enabled(player:get_player_name()) then return "creative:all" else return old_homepage_name(player) diff --git a/mods/creative/locale/creative.eo.tr b/mods/creative/locale/creative.eo.tr new file mode 100644 index 00000000..8df41525 --- /dev/null +++ b/mods/creative/locale/creative.eo.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Permesu la ludanto uzi la krea stoko +Search=Serĉu +Reset=Rekomencigu +Previous page=Pasinta paĝo +Next page=Sekvinta paĝo +All=Ĉio +Nodes=Nodoj +Tools=Iloj +Items=Objektoj diff --git a/mods/creative/locale/creative.es.tr b/mods/creative/locale/creative.es.tr new file mode 100644 index 00000000..f4e39a70 --- /dev/null +++ b/mods/creative/locale/creative.es.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Permitir al jugador usar el inventario creativo +Search=Buscar +Reset=Resetear +Previous page=Pág. siguiente +Next page=Pág. anterior +All=Todos +Nodes=Nodos +Tools=Herramientas +Items=Objetos diff --git a/mods/creative/locale/creative.fr.tr b/mods/creative/locale/creative.fr.tr new file mode 100644 index 00000000..695c0a19 --- /dev/null +++ b/mods/creative/locale/creative.fr.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Permettre aux joueurs d'utiliser l'inventaire du mode créatif +Search=Rechercher +Reset=Réinitialiser +Previous page=Page précédente +Next page=Page suivante +All=Tout +Nodes=Nœuds +Tools=Outils +Items=Article diff --git a/mods/creative/locale/creative.id.tr b/mods/creative/locale/creative.id.tr new file mode 100644 index 00000000..613ab137 --- /dev/null +++ b/mods/creative/locale/creative.id.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Bolehkan pemain memakai inventaris kreatif +Search=Cari +Reset=Atur ulang +Previous page=Halaman sebelumnya +Next page=Halaman selanjutnya +All=Semua +Nodes=Nodus +Tools=Perkakas +Items=Barang diff --git a/mods/creative/locale/creative.it.tr b/mods/creative/locale/creative.it.tr new file mode 100644 index 00000000..32f540db --- /dev/null +++ b/mods/creative/locale/creative.it.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Permette al giocatore di usare l'inventario creativo +Search=Cerca +Reset=Azzera +Previous page=Pagina precedente +Next page=Pagina successiva +All=Tutto +Nodes=Nodi +Tools=Strumenti +Items=Oggetti diff --git a/mods/creative/locale/creative.ja.tr b/mods/creative/locale/creative.ja.tr new file mode 100644 index 00000000..1c215bbf --- /dev/null +++ b/mods/creative/locale/creative.ja.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=プレーヤーにクリエイティブ インベントリーの使用を許可する +Search=検索 +Reset=リセット +Previous page=前のページ +Next page=次のページ +All=すべて +Nodes=ブロック +Tools=道具 +Items=アイテム diff --git a/mods/creative/locale/creative.jbo.tr b/mods/creative/locale/creative.jbo.tr new file mode 100644 index 00000000..6d0b7361 --- /dev/null +++ b/mods/creative/locale/creative.jbo.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=zifre le ka pilno le finti ke dacti liste +Search=sisku +Reset=kraga'igau +Previous page=lidne +Next page=selyli'e +All=ro dacti +Nodes=bliku +Tools=tutci +Items=dacti diff --git a/mods/creative/locale/creative.ms.tr b/mods/creative/locale/creative.ms.tr new file mode 100644 index 00000000..a2aef801 --- /dev/null +++ b/mods/creative/locale/creative.ms.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Benarkan pemain menggunakan inventori kreatif +Search=Cari +Reset=Set semula +Previous page=Halaman sebelumnya +Next page=Halaman seterusnya +All=Semua +Nodes=Nod +Tools=Alatan +Items=Item diff --git a/mods/creative/locale/creative.pt_BR.tr b/mods/creative/locale/creative.pt_BR.tr new file mode 100644 index 00000000..c8a04bde --- /dev/null +++ b/mods/creative/locale/creative.pt_BR.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Permitir o jogador usar o inventário criativo +Search=Pesquisar +Reset=Redefinir +Previous page=Página anterior +Next page=Próxima página +All=Todos +Nodes=Blocos +Tools=Ferramentas +Items=Itens diff --git a/mods/creative/locale/creative.ru.tr b/mods/creative/locale/creative.ru.tr new file mode 100644 index 00000000..f649dbc6 --- /dev/null +++ b/mods/creative/locale/creative.ru.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Разрешить игроку использовать творческий инвентарь +Search=Поиск +Reset=Сброс +Previous page=Предыдущая страница +Next page=Следующая страница +All=Всё +Nodes=Ноды +Tools=Инструменты +Items=Предметы diff --git a/mods/creative/locale/creative.sk.tr b/mods/creative/locale/creative.sk.tr new file mode 100644 index 00000000..935c7803 --- /dev/null +++ b/mods/creative/locale/creative.sk.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Povolí hráčovi použivať kreatívny inventár +Search=Hľadaj +Reset=Vrátiť späť +Previous page=Predchádzajúca stránka +Next page=Nasledujúca stránka +All=Všetko +Nodes=Kocky +Tools=Nástroje +Items=Veci diff --git a/mods/creative/locale/creative.sv.tr b/mods/creative/locale/creative.sv.tr new file mode 100644 index 00000000..a9a741f4 --- /dev/null +++ b/mods/creative/locale/creative.sv.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Tillåt spelare att använda kreativa saker +Search=Sök +Reset=Återställ +Previous page=Förra sida +Next page=Nästa sida +All=Alla +Nodes=Noder +Tools=Verktyg +Items=Saker diff --git a/mods/creative/locale/creative.uk.tr b/mods/creative/locale/creative.uk.tr new file mode 100644 index 00000000..4e68caa2 --- /dev/null +++ b/mods/creative/locale/creative.uk.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Дозволити гравцеві використати творчий інвентар +Search=Пошук +Reset=Скинути +Previous page=Попередня сторінка +Next page=Наступна сторінка +All=Все +Nodes=Ноди +Tools=Інструменти +Items=Предмети diff --git a/mods/creative/locale/creative.zh_CN.tr b/mods/creative/locale/creative.zh_CN.tr new file mode 100644 index 00000000..1ca424e5 --- /dev/null +++ b/mods/creative/locale/creative.zh_CN.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=允许玩家使用创造模式物品栏 +Search=搜索 +Reset=重置 +Previous page=上一页 +Next page=下一页 +All=所有 +Nodes=节点 +Tools=工具 +Items=物品 diff --git a/mods/creative/locale/creative.zh_TW.tr b/mods/creative/locale/creative.zh_TW.tr new file mode 100644 index 00000000..c5746d40 --- /dev/null +++ b/mods/creative/locale/creative.zh_TW.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=允許玩家使用創造模式物品欄 +Search=搜索 +Reset=重置 +Previous page=上一頁 +Next page=下一頁 +All=所有 +Nodes=節點 +Tools=工具 +Items=物品 diff --git a/mods/creative/textures/creative_clear_icon.png b/mods/creative/textures/creative_clear_icon.png index 9244264a..ab421d98 100644 Binary files a/mods/creative/textures/creative_clear_icon.png and b/mods/creative/textures/creative_clear_icon.png differ diff --git a/mods/creative/textures/creative_next_icon.png b/mods/creative/textures/creative_next_icon.png index 82cf3d36..4a3637dc 100644 Binary files a/mods/creative/textures/creative_next_icon.png and b/mods/creative/textures/creative_next_icon.png differ diff --git a/mods/creative/textures/creative_prev_icon.png b/mods/creative/textures/creative_prev_icon.png index b26cd157..d5e3c27a 100644 Binary files a/mods/creative/textures/creative_prev_icon.png and b/mods/creative/textures/creative_prev_icon.png differ diff --git a/mods/creative/textures/creative_search_icon.png b/mods/creative/textures/creative_search_icon.png index aace8044..421b833e 100644 Binary files a/mods/creative/textures/creative_search_icon.png and b/mods/creative/textures/creative_search_icon.png differ diff --git a/mods/creative/textures/creative_trash_icon.png b/mods/creative/textures/creative_trash_icon.png index 7d7a0a62..a0f6d237 100644 Binary files a/mods/creative/textures/creative_trash_icon.png and b/mods/creative/textures/creative_trash_icon.png differ diff --git a/mods/default/README.txt b/mods/default/README.txt index 1bc899b2..949b9402 100644 --- a/mods/default/README.txt +++ b/mods/default/README.txt @@ -123,6 +123,8 @@ paramat (CC BY-SA 3.0): default_fence_rail_junglewood default_fence_rail_pine_wood default_fence_rail_wood -- Derived from a texture by BlockMen (CC BY-SA 3.0) + gui_hotbar.png + gui_hotbar_selected.png TumeniNodes (CC BY-SA 3.0): default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0) @@ -149,8 +151,10 @@ BlockMen (CC BY-SA 3.0): default_chest_top.png default_mineral_mese.png default_meselamp.png - bubble.png - gui_*.png + gui_formbg.png + gui_furnace_arrow_bg.png + gui_furnace_arrow_fg.png + gui_hb_bg.png sofar (CC BY-SA 3.0): default_aspen_sapling @@ -174,7 +178,7 @@ Gambit (CC BY-SA 3.0): default_iron_lump.png default_gold_lump.png default_clay_lump.png - default_coal.png + default_coal_lump.png default_grass_*.png default_paper.png default_diamond_block.png @@ -184,16 +188,11 @@ Gambit (CC BY-SA 3.0): default_snow.png default_snow_side.png default_snowball.png - default_key.png - default_key_skeleton.png default_book.png asl97 (CC BY-SA 3.0): default_ice.png -KevDoy (CC BY-SA 3.0): - heart.png - Pithydon (CC BY-SA 3.0) default_coral_brown.png default_coral_orange.png @@ -248,6 +247,11 @@ Topywo (CC BY-SA 3.0) Extex101 (CC BY-SA 3.0) default_large_cactus_seedling.png + default_dry_shrub.png -- Derived from the original texture by celeron55 + +An0n3m0us (CC BY-SA 3.0): + heart.png -- Derived from a texture by KevDoy (CC BY-SA 3.0) + bubble.png -- Derived from a texture by BlockMen (CC BY-SA 3.0) Sounds @@ -258,32 +262,17 @@ Glass breaking sounds (CC BY 3.0): 3: http://www.freesound.org/people/lsprice/sounds/88808/ Mito551 (sounds) (CC BY-SA 3.0): - default_dig_choppy.ogg - default_dig_cracky.ogg - default_dig_crumbly.1.ogg - default_dig_crumbly.2.ogg + default_dig_crumbly.*.ogg default_dig_dig_immediate.ogg default_dig_oddly_breakable_by_hand.ogg - default_dug_node.1.ogg - default_dug_node.2.ogg + default_dug_node.*.ogg default_grass_footstep.1.ogg default_grass_footstep.2.ogg default_grass_footstep.3.ogg - default_gravel_footstep.1.ogg - default_gravel_footstep.2.ogg - default_gravel_footstep.3.ogg - default_gravel_footstep.4.ogg - default_grass_footstep.1.ogg - default_place_node.1.ogg - default_place_node.2.ogg - default_place_node.3.ogg - default_place_node_hard.1.ogg - default_place_node_hard.2.ogg - default_hard_footstep.1.ogg - default_hard_footstep.2.ogg - default_hard_footstep.3.ogg - default_sand_footstep.1.ogg - default_sand_footstep.2.ogg + default_gravel_footstep.*.ogg + default_place_node.*.ogg + default_place_node_hard.*.ogg + default_glass_footstep.ogg default_wood_footstep.1.ogg default_wood_footstep.2.ogg default_dirt_footstep.1.ogg @@ -295,8 +284,8 @@ Metal sounds: - https://www.freesound.org/people/yadronoff/sounds/320397/ default_dug_metal.*.ogg - Iwan Gabovitch - qubodup - CC0 - http://opengameart.org/users/qubodup - default_metal_footstep.*.ogg - Ottomaani138 - CC0 - - https://www.freesound.org/people/Ottomaani138/sounds/232692/ + default_metal_footstep.*.ogg - (CC0 1.0) - CC0 1.0 + - https://freesound.org/people/mypantsfelldown/sounds/398937/ default_place_node_metal.*.ogg - Ogrebane - CC0 - http://opengameart.org/content/wood-and-metal-sound-effects-volume-2 @@ -308,7 +297,6 @@ https://www.freesound.org/people/AGFX/packs/1253/ default_water_footstep.1.ogg default_water_footstep.2.ogg default_water_footstep.3.ogg -(default_water_footstep.4.ogg is silent) blukotek (CC0 1.0): https://www.freesound.org/people/blukotek/sounds/251660/ @@ -330,6 +318,47 @@ http://freesound.org/people/Ryding/sounds/94337/ Ferk (CC0 1.0): default_item_smoke.ogg, based on a sound by http://opengameart.org/users/bart +sonictechtonic (CC BY 3.0): +https://www.freesound.org/people/sonictechtonic/sounds/241872/ + player_damage.ogg + +Sheyvan (CC0 1.0): +https://freesound.org/people/Sheyvan/sounds/476113/ + default_dig_choppy.*.ogg + +lolamadeus (CC0 1.0): +https://freesound.org/people/lolamadeus/sounds/179341/ + default_gravel_dig.*.ogg + default_gravel_dug.*.ogg + +Benboncan (CC BY 3.0): +https://freesound.org/people/Benboncan/sounds/71823/ + default_dig_cracky.*.ogg + +Erdie (CC BY 3.0): +https://freesound.org/people/Erdie/sounds/41579/ + default_hard_footstep.*.ogg + +worthahep88 (CC0 1.0): +https://freesound.org/people/worthahep88/sounds/319224/ + default_sand_footstep.*.ogg + +dheming (CC BY 3.0): +https://freesound.org/people/dheming/sounds/268023/ + default_ice_dig.*.ogg + +InspectorJ (CC BY 3.0): +https://freesound.org/people/InspectorJ/sounds/416967/ + default_ice_footstep.*.ogg + +Angel_Perez_Grandi (CC BY 3.0): +https://freesound.org/people/Angel_Perez_Grandi/sounds/49190/ + default_ice_dug.ogg + +iankath (CC0 1.0) +https://freesound.org/people/iankath/sounds/173991/ + default_furnace_active.ogg + Models ------ diff --git a/mods/default/chests.lua b/mods/default/chests.lua index 8dbf9d89..f4462ae7 100644 --- a/mods/default/chests.lua +++ b/mods/default/chests.lua @@ -44,9 +44,10 @@ function default.chest.chest_lid_close(pn) end local node = minetest.get_node(pos) - minetest.after(0.2, minetest.swap_node, pos, { name = "default:" .. swap, + minetest.after(0.2, minetest.swap_node, pos, { name = swap, param2 = node.param2 }) - minetest.sound_play(sound, {gain = 0.3, pos = pos, max_hear_distance = 10}) + minetest.sound_play(sound, {gain = 0.3, pos = pos, + max_hear_distance = 10}, true) end default.chest.open_chests = {} @@ -75,7 +76,8 @@ minetest.register_on_leaveplayer(function(player) end end) -function default.chest.register_chest(name, d) +function default.chest.register_chest(prefixed_name, d) + local name = prefixed_name:sub(1,1) == ':' and prefixed_name:sub(2,-1) or prefixed_name local def = table.copy(d) def.drawtype = "mesh" def.visual = "mesh" @@ -128,10 +130,10 @@ function default.chest.register_chest(name, d) end minetest.sound_play(def.sound_open, {gain = 0.3, - pos = pos, max_hear_distance = 10}) + pos = pos, max_hear_distance = 10}, true) if not default.chest.chest_lid_obstructed(pos) then minetest.swap_node(pos, - { name = "default:" .. name .. "_open", + { name = name .. "_open", param2 = node.param2 }) end minetest.after(0.2, minetest.show_formspec, @@ -199,10 +201,10 @@ function default.chest.register_chest(name, d) end def.on_rightclick = function(pos, node, clicker) minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos, - max_hear_distance = 10}) + max_hear_distance = 10}, true) if not default.chest.chest_lid_obstructed(pos) then minetest.swap_node(pos, { - name = "default:" .. name .. "_open", + name = name .. "_open", param2 = node.param2 }) end minetest.after(0.2, minetest.show_formspec, @@ -214,7 +216,7 @@ function default.chest.register_chest(name, d) def.on_blast = function(pos) local drops = {} default.get_inventory_drops(pos, "main", drops) - drops[#drops+1] = "default:" .. name + drops[#drops+1] = name minetest.remove_node(pos) return drops end @@ -247,7 +249,7 @@ function default.chest.register_chest(name, d) def_opened.tiles[i].backface_culling = true end end - def_opened.drop = "default:" .. name + def_opened.drop = name def_opened.groups.not_in_creative_inventory = 1 def_opened.selection_box = { type = "fixed", @@ -264,29 +266,31 @@ function default.chest.register_chest(name, d) def_closed.tiles[5] = def.tiles[3] -- drawtype to make them match the mesh def_closed.tiles[3] = def.tiles[3].."^[transformFX" - minetest.register_node("default:" .. name, def_closed) - minetest.register_node("default:" .. name .. "_open", def_opened) + minetest.register_node(prefixed_name, def_closed) + minetest.register_node(prefixed_name .. "_open", def_opened) -- convert old chests to this new variant - minetest.register_lbm({ - label = "update chests to opening chests", - name = "default:upgrade_" .. name .. "_v2", - nodenames = {"default:" .. name}, - action = function(pos, node) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", nil) - local inv = meta:get_inventory() - local list = inv:get_list("default:chest") - if list then - inv:set_size("main", 8*4) - inv:set_list("main", list) - inv:set_list("default:chest", nil) + if name == "default:chest" or name == "default:chest_locked" then + minetest.register_lbm({ + label = "update chests to opening chests", + name = "default:upgrade_" .. name:sub(9,-1) .. "_v2", + nodenames = {name}, + action = function(pos, node) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", nil) + local inv = meta:get_inventory() + local list = inv:get_list("default:chest") + if list then + inv:set_size("main", 8*4) + inv:set_list("main", list) + inv:set_list("default:chest", nil) + end end - end - }) + }) + end end -default.chest.register_chest("chest", { +default.chest.register_chest("default:chest", { description = S("Chest"), tiles = { "default_chest_top.png", @@ -302,7 +306,7 @@ default.chest.register_chest("chest", { groups = {choppy = 2, oddly_breakable_by_hand = 2}, }) -default.chest.register_chest("chest_locked", { +default.chest.register_chest("default:chest_locked", { description = S("Locked Chest"), tiles = { "default_chest_top.png", @@ -318,3 +322,39 @@ default.chest.register_chest("chest_locked", { groups = {choppy = 2, oddly_breakable_by_hand = 2}, protected = true, }) + +minetest.register_craft({ + output = "default:chest", + recipe = { + {"group:wood", "group:wood", "group:wood"}, + {"group:wood", "", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, + } +}) + +minetest.register_craft({ + output = "default:chest_locked", + recipe = { + {"group:wood", "group:wood", "group:wood"}, + {"group:wood", "default:steel_ingot", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, + } +}) + +minetest.register_craft( { + type = "shapeless", + output = "default:chest_locked", + recipe = {"default:chest", "default:steel_ingot"}, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest_locked", + burntime = 30, +}) diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua index 94811338..ecbe9d12 100644 --- a/mods/default/crafting.lua +++ b/mods/default/crafting.lua @@ -56,13 +56,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:stick 4", - recipe = { - {"group:wood"}, - } -}) - minetest.register_craft({ output = "default:sign_wall_steel 3", recipe = { @@ -81,273 +74,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:torch 4", - recipe = { - {"default:coal_lump"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:pick_wood", - recipe = { - {"group:wood", "group:wood", "group:wood"}, - {"", "group:stick", ""}, - {"", "group:stick", ""}, - } -}) - -minetest.register_craft({ - output = "default:pick_stone", - recipe = { - {"group:stone", "group:stone", "group:stone"}, - {"", "group:stick", ""}, - {"", "group:stick", ""}, - } -}) - -minetest.register_craft({ - output = "default:pick_steel", - recipe = { - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, - {"", "group:stick", ""}, - {"", "group:stick", ""}, - } -}) - -minetest.register_craft({ - output = "default:pick_bronze", - recipe = { - {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"}, - {"", "group:stick", ""}, - {"", "group:stick", ""}, - } -}) - -minetest.register_craft({ - output = "default:pick_mese", - recipe = { - {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, - {"", "group:stick", ""}, - {"", "group:stick", ""}, - } -}) - -minetest.register_craft({ - output = "default:pick_diamond", - recipe = { - {"default:diamond", "default:diamond", "default:diamond"}, - {"", "group:stick", ""}, - {"", "group:stick", ""}, - } -}) - -minetest.register_craft({ - output = "default:shovel_wood", - recipe = { - {"group:wood"}, - {"group:stick"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:shovel_stone", - recipe = { - {"group:stone"}, - {"group:stick"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:shovel_steel", - recipe = { - {"default:steel_ingot"}, - {"group:stick"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:shovel_bronze", - recipe = { - {"default:bronze_ingot"}, - {"group:stick"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:shovel_mese", - recipe = { - {"default:mese_crystal"}, - {"group:stick"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:shovel_diamond", - recipe = { - {"default:diamond"}, - {"group:stick"}, - {"group:stick"}, - } -}) - --- Axes --- Recipes face left to match appearence in textures and inventory - -minetest.register_craft({ - output = "default:axe_wood", - recipe = { - {"group:wood", "group:wood"}, - {"group:wood", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:axe_stone", - recipe = { - {"group:stone", "group:stone"}, - {"group:stone", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:axe_steel", - recipe = { - {"default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:axe_bronze", - recipe = { - {"default:bronze_ingot", "default:bronze_ingot"}, - {"default:bronze_ingot", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:axe_mese", - recipe = { - {"default:mese_crystal", "default:mese_crystal"}, - {"default:mese_crystal", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:axe_diamond", - recipe = { - {"default:diamond", "default:diamond"}, - {"default:diamond", "group:stick"}, - {"", "group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:sword_wood", - recipe = { - {"group:wood"}, - {"group:wood"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:sword_stone", - recipe = { - {"group:stone"}, - {"group:stone"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:sword_steel", - recipe = { - {"default:steel_ingot"}, - {"default:steel_ingot"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:sword_bronze", - recipe = { - {"default:bronze_ingot"}, - {"default:bronze_ingot"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:sword_mese", - recipe = { - {"default:mese_crystal"}, - {"default:mese_crystal"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:sword_diamond", - recipe = { - {"default:diamond"}, - {"default:diamond"}, - {"group:stick"}, - } -}) - -minetest.register_craft({ - output = "default:skeleton_key", - recipe = { - {"default:gold_ingot"}, - } -}) - -minetest.register_craft({ - output = "default:chest", - recipe = { - {"group:wood", "group:wood", "group:wood"}, - {"group:wood", "", "group:wood"}, - {"group:wood", "group:wood", "group:wood"}, - } -}) - -minetest.register_craft({ - output = "default:chest_locked", - recipe = { - {"group:wood", "group:wood", "group:wood"}, - {"group:wood", "default:steel_ingot", "group:wood"}, - {"group:wood", "group:wood", "group:wood"}, - } -}) - -minetest.register_craft( { - type = "shapeless", - output = "default:chest_locked", - recipe = {"default:chest", "default:steel_ingot"}, -}) - -minetest.register_craft({ - output = "default:furnace", - recipe = { - {"group:stone", "group:stone", "group:stone"}, - {"group:stone", "", "group:stone"}, - {"group:stone", "group:stone", "group:stone"}, - } -}) - minetest.register_craft({ output = "default:coalblock", recipe = { @@ -357,13 +83,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:coal_lump 9", - recipe = { - {"default:coalblock"}, - } -}) - minetest.register_craft({ output = "default:steelblock", recipe = { @@ -373,13 +92,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:steel_ingot 9", - recipe = { - {"default:steelblock"}, - } -}) - minetest.register_craft({ output = "default:copperblock", recipe = { @@ -389,13 +101,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:copper_ingot 9", - recipe = { - {"default:copperblock"}, - } -}) - minetest.register_craft({ output = "default:tinblock", recipe = { @@ -405,22 +110,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:tin_ingot 9", - recipe = { - {"default:tinblock"}, - } -}) - -minetest.register_craft({ - output = "default:bronze_ingot 9", - recipe = { - {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, - {"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, - {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, - } -}) - minetest.register_craft({ output = "default:bronzeblock", recipe = { @@ -446,13 +135,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:gold_ingot 9", - recipe = { - {"default:goldblock"}, - } -}) - minetest.register_craft({ output = "default:diamondblock", recipe = { @@ -462,13 +144,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:diamond 9", - recipe = { - {"default:diamondblock"}, - } -}) - minetest.register_craft({ output = "default:sandstone", recipe = { @@ -573,13 +248,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:clay_lump 4", - recipe = { - {"default:clay"}, - } -}) - minetest.register_craft({ output = "default:brick", recipe = { @@ -588,29 +256,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:clay_brick 4", - recipe = { - {"default:brick"}, - } -}) - -minetest.register_craft({ - output = "default:paper", - recipe = { - {"default:papyrus", "default:papyrus", "default:papyrus"}, - } -}) - -minetest.register_craft({ - output = "default:book", - recipe = { - {"default:paper"}, - {"default:paper"}, - {"default:paper"}, - } -}) - minetest.register_craft({ output = "default:bookshelf", recipe = { @@ -647,29 +292,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:mese_crystal 9", - recipe = { - {"default:mese"}, - } -}) - -minetest.register_craft({ - output = "default:mese_crystal_fragment 9", - recipe = { - {"default:mese_crystal"}, - } -}) - -minetest.register_craft({ - output = "default:mese_crystal", - recipe = { - {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, - {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, - {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, - } -}) - minetest.register_craft({ output = "default:meselamp", recipe = { @@ -678,22 +300,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:mese_post_light 3", - recipe = { - {"", "default:glass", ""}, - {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, - {"", "group:wood", ""}, - } -}) - -minetest.register_craft({ - output = "default:obsidian_shard 9", - recipe = { - {"default:obsidian"} - } -}) - minetest.register_craft({ output = "default:obsidian", recipe = { @@ -833,50 +439,6 @@ minetest.register_craft({ recipe = "default:desert_cobble", }) -minetest.register_craft({ - type = "cooking", - output = "default:steel_ingot", - recipe = "default:iron_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:copper_ingot", - recipe = "default:copper_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:tin_ingot", - recipe = "default:tin_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:gold_ingot", - recipe = "default:gold_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:clay_brick", - recipe = "default:clay_lump", -}) - -minetest.register_craft({ - type = "cooking", - output = "default:gold_ingot", - recipe = "default:skeleton_key", - cooktime = 5, -}) - -minetest.register_craft({ - type = "cooking", - output = "default:gold_ingot", - recipe = "default:key", - cooktime = 5, -}) - -- -- Fuels @@ -1005,7 +567,6 @@ minetest.register_craft({ burntime = 7, }) - minetest.register_craft({ type = "fuel", recipe = "default:fence_aspen_wood", @@ -1067,7 +628,6 @@ minetest.register_craft({ burntime = 7, }) - minetest.register_craft({ type = "fuel", recipe = "default:bush_stem", @@ -1134,36 +694,12 @@ minetest.register_craft({ burntime = 60, }) -minetest.register_craft({ - type = "fuel", - recipe = "default:torch", - burntime = 4, -}) - minetest.register_craft({ type = "fuel", recipe = "default:sign_wall_wood", burntime = 10, }) -minetest.register_craft({ - type = "fuel", - recipe = "default:chest", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:chest_locked", - burntime = 30, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:coal_lump", - burntime = 40, -}) - minetest.register_craft({ type = "fuel", recipe = "default:coalblock", @@ -1194,57 +730,8 @@ minetest.register_craft({ burntime = 2, }) -minetest.register_craft({ - type = "fuel", - recipe = "default:paper", - burntime = 1, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:book", - burntime = 3, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:book_written", - burntime = 3, -}) - minetest.register_craft({ type = "fuel", recipe = "default:dry_shrub", burntime = 2, }) - -minetest.register_craft({ - type = "fuel", - recipe = "group:stick", - burntime = 1, -}) - - -minetest.register_craft({ - type = "fuel", - recipe = "default:pick_wood", - burntime = 6, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:shovel_wood", - burntime = 4, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:axe_wood", - burntime = 6, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "default:sword_wood", - burntime = 5, -}) diff --git a/mods/default/craftitems.lua b/mods/default/craftitems.lua index e2e92bf2..46d78049 100644 --- a/mods/default/craftitems.lua +++ b/mods/default/craftitems.lua @@ -3,19 +3,46 @@ -- support for MT game translation. local S = default.get_translator -minetest.register_craftitem("default:stick", { - description = S("Stick"), - inventory_image = "default_stick.png", - groups = {stick = 1, flammable = 2}, -}) +local esc = minetest.formspec_escape +local formspec_size = "size[8,8]" -minetest.register_craftitem("default:paper", { - description = S("Paper"), - inventory_image = "default_paper.png", - groups = {flammable = 3}, -}) +local function formspec_core(tab) + if tab == nil then tab = 1 else tab = tostring(tab) end + return "tabheader[0,0;book_header;" .. + esc(S("Write")) .. "," .. + esc(S("Read")) .. ";" .. + tab .. ";false;false]" +end +local function formspec_write(title, text) + return "field[0.5,1;7.5,0;title;" .. esc(S("Title:")) .. ";" .. + esc(title) .. "]" .. + "textarea[0.5,1.5;7.5,7;text;" .. esc(S("Contents:")) .. ";" .. + esc(text) .. "]" .. + "button_exit[2.5,7.5;3,1;save;" .. esc(S("Save")) .. "]" +end +local function formspec_read(owner, title, string, text, page, page_max) + return "label[0.5,0.5;" .. esc(S("by @1", owner)) .. "]" .. + "tablecolumns[color;text]" .. + "tableoptions[background=#00000000;highlight=#00000000;border=false]" .. + "table[0.4,0;7,0.5;title;#FFFF00," .. esc(title) .. "]" .. + "textarea[0.5,1.5;7.5,7;;" .. + esc(string ~= "" and string or text) .. ";]" .. + "button[2.4,7.6;0.8,0.8;book_prev;<]" .. + "label[3.2,7.7;" .. esc(S("Page @1 of @2", page, page_max)) .. "]" .. + "button[4.9,7.6;0.8,0.8;book_next;>]" +end + +local function formspec_string(lpp, page, lines, string) + for i = ((lpp * page) - lpp) + 1, lpp * page do + if not lines[i] then break end + string = string .. lines[i] .. "\n" + end + return string +end + +local tab_number local lpp = 14 -- Lines per book's page local function book_on_use(itemstack, user) local player_name = user:get_player_name() @@ -32,8 +59,8 @@ local function book_on_use(itemstack, user) local data = meta:to_table().fields if data.owner then - title = data.title - text = data.text + title = data.title or "" + text = data.text or "" owner = data.owner for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do @@ -43,37 +70,26 @@ local function book_on_use(itemstack, user) if data.page then page = data.page page_max = data.page_max - - for i = ((lpp * page) - lpp) + 1, lpp * page do - if not lines[i] then break end - string = string .. lines[i] .. "\n" - end + string = formspec_string(lpp, page, lines, string) end end local formspec - local esc = minetest.formspec_escape - if owner == player_name then - formspec = "size[8,8]" .. - "field[0.5,1;7.5,0;title;" .. esc(S("Title:")) .. ";" .. - esc(title) .. "]" .. - "textarea[0.5,1.5;7.5,7;text;" .. esc(S("Contents:")) .. ";" .. - esc(text) .. "]" .. - "button_exit[2.5,7.5;3,1;save;" .. esc(S("Save")) .. "]" + if title == "" and text == "" then + formspec = formspec_write(title, text) + elseif owner == player_name then + local tab = tab_number or 1 + if tab == 2 then + formspec = formspec_core(tab) .. + formspec_read(owner, title, string, text, page, page_max) + else + formspec = formspec_core(tab) .. formspec_write(title, text) + end else - formspec = "size[8,8]" .. - "label[0.5,0.5;" .. esc(S("by @1", owner)) .. "]" .. - "tablecolumns[color;text]" .. - "tableoptions[background=#00000000;highlight=#00000000;border=false]" .. - "table[0.4,0;7,0.5;title;#FFFF00," .. esc(title) .. "]" .. - "textarea[0.5,1.5;7.5,7;;" .. - minetest.formspec_escape(string ~= "" and string or text) .. ";]" .. - "button[2.4,7.6;0.8,0.8;book_prev;<]" .. - "label[3.2,7.7;" .. esc(S("Page @1 of @2", page, page_max)) .. "]" .. - "button[4.9,7.6;0.8,0.8;book_next;>]" + formspec = formspec_read(owner, title, string, text, page, page_max) end - minetest.show_formspec(player_name, "default:book", formspec) + minetest.show_formspec(player_name, "default:book", formspec_size .. formspec) return itemstack end @@ -82,12 +98,37 @@ local max_title_size = 80 local short_title_size = 35 minetest.register_on_player_receive_fields(function(player, formname, fields) if formname ~= "default:book" then return end + local player_name = player:get_player_name() local inv = player:get_inventory() local stack = player:get_wielded_item() + local data = stack:get_meta():to_table().fields - if fields.save and fields.title and fields.text - and fields.title ~= "" and fields.text ~= "" then - local new_stack, data + local title = data.title or "" + local text = data.text or "" + + if fields.book_header ~= nil and data.owner == player_name then + local contents + local tab = tonumber(fields.book_header) + if tab == 1 then + contents = formspec_core(tab) .. + formspec_write(title, text) + elseif tab == 2 then + local lines, string = {}, "" + for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do + lines[#lines+1] = str + end + string = formspec_string(lpp, data.page, lines, string) + contents = formspec_read(player_name, title, string, + text, data.page, data.page_max) + end + tab_number = tab + local formspec = formspec_size .. formspec_core(tab) .. contents + minetest.show_formspec(player_name, "default:book", formspec) + return + end + + if fields.save and fields.title and fields.text then + local new_stack if stack:get_name() ~= "default:book_written" then local count = stack:get_count() if count == 1 then @@ -96,11 +137,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) stack:set_count(count - 1) new_stack = ItemStack("default:book_written") end - else - data = stack:get_meta():to_table().fields end - if data and data.owner and data.owner ~= player:get_player_name() then + if data.owner ~= player_name and title ~= "" and text ~= "" then return end @@ -130,8 +169,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end elseif fields.book_next or fields.book_prev then - local data = stack:get_meta():to_table().fields - if not data or not data.page then + if not data.page then return end @@ -158,6 +196,18 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) player:set_wielded_item(stack) end) + +-- +-- Craftitem registry +-- + +minetest.register_craftitem("default:blueberries", { + description = S("Blueberries"), + inventory_image = "default_blueberries.png", + groups = {food_blueberries = 1, food_berry = 1}, + on_use = minetest.item_eat(2), +}) + minetest.register_craftitem("default:book", { description = S("Book"), inventory_image = "default_book.png", @@ -173,89 +223,19 @@ minetest.register_craftitem("default:book_written", { on_use = book_on_use, }) -minetest.register_craft({ - type = "shapeless", - output = "default:book_written", - recipe = {"default:book", "default:book_written"} +minetest.register_craftitem("default:bronze_ingot", { + description = S("Bronze Ingot"), + inventory_image = "default_bronze_ingot.png" }) -minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) - if itemstack:get_name() ~= "default:book_written" then - return - end +minetest.register_craftitem("default:clay_brick", { + description = S("Clay Brick"), + inventory_image = "default_clay_brick.png", +}) - local original - local index - for i = 1, player:get_inventory():get_size("craft") do - if old_craft_grid[i]:get_name() == "default:book_written" then - original = old_craft_grid[i] - index = i - end - end - if not original then - return - end - local copymeta = original:get_meta():to_table() - -- copy of the book held by player's mouse cursor - itemstack:get_meta():from_table(copymeta) - -- put the book with metadata back in the craft grid - craft_inv:set_stack("craft", index, original) -end) - -minetest.register_craftitem("default:skeleton_key", { - description = S("Skeleton Key"), - inventory_image = "default_key_skeleton.png", - groups = {key = 1}, - on_use = function(itemstack, user, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - - local pos = pointed_thing.under - local node = minetest.get_node(pos) - - if not node then - return itemstack - end - - local on_skeleton_key_use = minetest.registered_nodes[node.name].on_skeleton_key_use - if not on_skeleton_key_use then - return itemstack - end - - -- make a new key secret in case the node callback needs it - local random = math.random - local newsecret = string.format( - "%04x%04x%04x%04x", - random(2^16) - 1, random(2^16) - 1, - random(2^16) - 1, random(2^16) - 1) - - local secret, _, _ = on_skeleton_key_use(pos, user, newsecret) - - if secret then - local inv = minetest.get_inventory({type="player", name=user:get_player_name()}) - - -- update original itemstack - itemstack:take_item() - - -- finish and return the new key - local new_stack = ItemStack("default:key") - local meta = new_stack:get_meta() - meta:set_string("secret", secret) - meta:set_string("description", S("Key to @1's @2", user:get_player_name(), - minetest.registered_nodes[node.name].description)) - - if itemstack:get_count() == 0 then - itemstack = new_stack - else - if inv:add_item("main", new_stack):get_count() > 0 then - minetest.add_item(user:get_pos(), new_stack) - end -- else: added to inventory successfully - end - - return itemstack - end - end +minetest.register_craftitem("default:clay_lump", { + description = S("Clay Lump"), + inventory_image = "default_clay_lump.png", }) minetest.register_craftitem("default:coal_lump", { @@ -264,9 +244,9 @@ minetest.register_craftitem("default:coal_lump", { groups = {coal = 1, flammable = 1} }) -minetest.register_craftitem("default:iron_lump", { - description = S("Iron Lump"), - inventory_image = "default_iron_lump.png" +minetest.register_craftitem("default:copper_ingot", { + description = S("Copper Ingot"), + inventory_image = "default_copper_ingot.png" }) minetest.register_craftitem("default:copper_lump", { @@ -274,79 +254,262 @@ minetest.register_craftitem("default:copper_lump", { inventory_image = "default_copper_lump.png" }) -minetest.register_craftitem("default:tin_lump", { - description = S("Tin Lump"), - inventory_image = "default_tin_lump.png" -}) - -minetest.register_craftitem("default:mese_crystal", { - description = S("Mese Crystal"), - inventory_image = "default_mese_crystal.png", -}) - -minetest.register_craftitem("default:gold_lump", { - description = S("Gold Lump"), - inventory_image = "default_gold_lump.png" -}) - minetest.register_craftitem("default:diamond", { description = S("Diamond"), inventory_image = "default_diamond.png", }) -minetest.register_craftitem("default:clay_lump", { - description = S("Clay Lump"), - inventory_image = "default_clay_lump.png", -}) - -minetest.register_craftitem("default:steel_ingot", { - description = S("Steel Ingot"), - inventory_image = "default_steel_ingot.png" -}) - -minetest.register_craftitem("default:copper_ingot", { - description = S("Copper Ingot"), - inventory_image = "default_copper_ingot.png" -}) - -minetest.register_craftitem("default:tin_ingot", { - description = S("Tin Ingot"), - inventory_image = "default_tin_ingot.png" -}) - -minetest.register_craftitem("default:bronze_ingot", { - description = S("Bronze Ingot"), - inventory_image = "default_bronze_ingot.png" -}) - -minetest.register_craftitem("default:gold_ingot", { - description = S("Gold Ingot"), - inventory_image = "default_gold_ingot.png" -}) - -minetest.register_craftitem("default:mese_crystal_fragment", { - description = S("Mese Crystal Fragment"), - inventory_image = "default_mese_crystal_fragment.png", -}) - -minetest.register_craftitem("default:clay_brick", { - description = S("Clay Brick"), - inventory_image = "default_clay_brick.png", -}) - -minetest.register_craftitem("default:obsidian_shard", { - description = S("Obsidian Shard"), - inventory_image = "default_obsidian_shard.png", -}) - minetest.register_craftitem("default:flint", { description = S("Flint"), inventory_image = "default_flint.png" }) -minetest.register_craftitem("default:blueberries", { - description = S("Blueberries"), - inventory_image = "default_blueberries.png", - groups = {food_blueberries = 1, food_berry = 1}, - on_use = minetest.item_eat(2), +minetest.register_craftitem("default:gold_ingot", { + description = S("Gold Ingot"), + inventory_image = "default_gold_ingot.png" +}) + +minetest.register_craftitem("default:gold_lump", { + description = S("Gold Lump"), + inventory_image = "default_gold_lump.png" +}) + +minetest.register_craftitem("default:iron_lump", { + description = S("Iron Lump"), + inventory_image = "default_iron_lump.png" +}) + +minetest.register_craftitem("default:mese_crystal", { + description = S("Mese Crystal"), + inventory_image = "default_mese_crystal.png", +}) + +minetest.register_craftitem("default:mese_crystal_fragment", { + description = S("Mese Crystal Fragment"), + inventory_image = "default_mese_crystal_fragment.png", +}) + +minetest.register_craftitem("default:obsidian_shard", { + description = S("Obsidian Shard"), + inventory_image = "default_obsidian_shard.png", +}) + +minetest.register_craftitem("default:paper", { + description = S("Paper"), + inventory_image = "default_paper.png", + groups = {flammable = 3}, +}) + +minetest.register_craftitem("default:steel_ingot", { + description = S("Steel Ingot"), + inventory_image = "default_steel_ingot.png" +}) + +minetest.register_craftitem("default:stick", { + description = S("Stick"), + inventory_image = "default_stick.png", + groups = {stick = 1, flammable = 2}, +}) + +minetest.register_craftitem("default:tin_ingot", { + description = S("Tin Ingot"), + inventory_image = "default_tin_ingot.png" +}) + +minetest.register_craftitem("default:tin_lump", { + description = S("Tin Lump"), + inventory_image = "default_tin_lump.png" +}) + +-- +-- Crafting recipes +-- + +minetest.register_craft({ + output = "default:book", + recipe = { + {"default:paper"}, + {"default:paper"}, + {"default:paper"}, + } +}) + +default.register_craft_metadata_copy("default:book", "default:book_written") + +minetest.register_craft({ + output = "default:bronze_ingot 9", + recipe = { + {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, + {"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, + {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, + } +}) + +minetest.register_craft({ + output = "default:clay_brick 4", + recipe = { + {"default:brick"}, + } +}) + +minetest.register_craft({ + output = "default:clay_lump 4", + recipe = { + {"default:clay"}, + } +}) + +minetest.register_craft({ + output = "default:coal_lump 9", + recipe = { + {"default:coalblock"}, + } +}) + +minetest.register_craft({ + output = "default:copper_ingot 9", + recipe = { + {"default:copperblock"}, + } +}) + +minetest.register_craft({ + output = "default:diamond 9", + recipe = { + {"default:diamondblock"}, + } +}) + +minetest.register_craft({ + output = "default:gold_ingot 9", + recipe = { + {"default:goldblock"}, + } +}) + +minetest.register_craft({ + output = "default:mese_crystal", + recipe = { + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + {"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, + } +}) + +minetest.register_craft({ + output = "default:mese_crystal 9", + recipe = { + {"default:mese"}, + } +}) + +minetest.register_craft({ + output = "default:mese_crystal_fragment 9", + recipe = { + {"default:mese_crystal"}, + } +}) + +minetest.register_craft({ + output = "default:obsidian_shard 9", + recipe = { + {"default:obsidian"} + } +}) + +minetest.register_craft({ + output = "default:paper", + recipe = { + {"default:papyrus", "default:papyrus", "default:papyrus"}, + } +}) + +minetest.register_craft({ + output = "default:steel_ingot 9", + recipe = { + {"default:steelblock"}, + } +}) + +minetest.register_craft({ + output = "default:stick 4", + recipe = { + {"group:wood"}, + } +}) + +minetest.register_craft({ + output = "default:tin_ingot 9", + recipe = { + {"default:tinblock"}, + } +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:copper_ingot", + recipe = "default:copper_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "default:gold_lump", +}) + + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "default:iron_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:tin_ingot", + recipe = "default:tin_lump", +}) + +-- +-- Fuels +-- + +minetest.register_craft({ + type = "fuel", + recipe = "default:book", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:book_written", + burntime = 3, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:coal_lump", + burntime = 40, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:paper", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:stick", + burntime = 1, }) diff --git a/mods/default/functions.lua b/mods/default/functions.lua index 9d6c5937..4d89a384 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -16,7 +16,7 @@ end function default.node_sound_stone_defaults(table) table = table or {} table.footstep = table.footstep or - {name = "default_hard_footstep", gain = 0.3} + {name = "default_hard_footstep", gain = 0.2} table.dug = table.dug or {name = "default_hard_footstep", gain = 1.0} default.node_sound_defaults(table) @@ -26,7 +26,9 @@ end function default.node_sound_dirt_defaults(table) table = table or {} table.footstep = table.footstep or - {name = "default_dirt_footstep", gain = 0.4} + {name = "default_dirt_footstep", gain = 0.25} + table.dig = table.dig or + {name = "default_dig_crumbly", gain = 0.4} table.dug = table.dug or {name = "default_dirt_footstep", gain = 1.0} table.place = table.place or @@ -38,9 +40,9 @@ end function default.node_sound_sand_defaults(table) table = table or {} table.footstep = table.footstep or - {name = "default_sand_footstep", gain = 0.12} + {name = "default_sand_footstep", gain = 0.05} table.dug = table.dug or - {name = "default_sand_footstep", gain = 0.24} + {name = "default_sand_footstep", gain = 0.15} table.place = table.place or {name = "default_place_node", gain = 1.0} default.node_sound_defaults(table) @@ -50,9 +52,11 @@ end function default.node_sound_gravel_defaults(table) table = table or {} table.footstep = table.footstep or - {name = "default_gravel_footstep", gain = 0.4} + {name = "default_gravel_footstep", gain = 0.25} + table.dig = table.dig or + {name = "default_gravel_dig", gain = 0.35} table.dug = table.dug or - {name = "default_gravel_footstep", gain = 1.0} + {name = "default_gravel_dug", gain = 1.0} table.place = table.place or {name = "default_place_node", gain = 1.0} default.node_sound_defaults(table) @@ -62,7 +66,9 @@ end function default.node_sound_wood_defaults(table) table = table or {} table.footstep = table.footstep or - {name = "default_wood_footstep", gain = 0.3} + {name = "default_wood_footstep", gain = 0.15} + table.dig = table.dig or + {name = "default_dig_choppy", gain = 0.4} table.dug = table.dug or {name = "default_wood_footstep", gain = 1.0} default.node_sound_defaults(table) @@ -93,10 +99,22 @@ function default.node_sound_glass_defaults(table) return table end +function default.node_sound_ice_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_ice_footstep", gain = 0.15} + table.dig = table.dig or + {name = "default_ice_dig", gain = 0.5} + table.dug = table.dug or + {name = "default_ice_dug", gain = 0.5} + default.node_sound_defaults(table) + return table +end + function default.node_sound_metal_defaults(table) table = table or {} table.footstep = table.footstep or - {name = "default_metal_footstep", gain = 0.4} + {name = "default_metal_footstep", gain = 0.2} table.dig = table.dig or {name = "default_dig_metal", gain = 0.5} table.dug = table.dug or @@ -141,7 +159,7 @@ default.cool_lava = function(pos, node) minetest.set_node(pos, {name = "default:stone"}) end minetest.sound_play("default_cool_lava", - {pos = pos, max_hear_distance = 16, gain = 0.25}) + {pos = pos, max_hear_distance = 16, gain = 0.2}, true) end if minetest.settings:get_bool("enable_lavacooling") ~= false then @@ -210,7 +228,12 @@ end function default.grow_papyrus(pos, node) pos.y = pos.y - 1 local name = minetest.get_node(pos).name - if name ~= "default:dirt_with_grass" and name ~= "default:dirt" then + if name ~= "default:dirt" and + name ~= "default:dirt_with_grass" and + name ~= "default:dirt_with_dry_grass" and + name ~= "default:dirt_with_rainforest_litter" and + name ~= "default:dry_dirt" and + name ~= "default:dry_dirt_with_dry_grass" then return end if not minetest.find_node_near(pos, 3, {"group:water"}) then @@ -247,7 +270,17 @@ minetest.register_abm({ minetest.register_abm({ label = "Grow papyrus", nodenames = {"default:papyrus"}, - neighbors = {"default:dirt", "default:dirt_with_grass"}, + -- Grows on the dirt and surface dirt nodes of the biomes papyrus appears in, + -- including the old savanna nodes. + -- 'default:dirt_with_grass' is here only because it was allowed before. + neighbors = { + "default:dirt", + "default:dirt_with_grass", + "default:dirt_with_dry_grass", + "default:dirt_with_rainforest_litter", + "default:dry_dirt", + "default:dry_dirt_with_dry_grass", + }, interval = 14, chance = 71, action = function(...) @@ -406,6 +439,52 @@ function default.register_fence_rail(name, def) minetest.register_node(name, def) end +-- +-- Mese post registration helper +-- + +function default.register_mesepost(name, def) + minetest.register_craft({ + output = name .. " 4", + recipe = { + {'', 'default:glass', ''}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'', def.material, ''}, + } + }) + + local post_texture = def.texture .. "^default_mese_post_light_side.png^[makealpha:0,0,0" + local post_texture_dark = def.texture .. "^default_mese_post_light_side_dark.png^[makealpha:0,0,0" + -- Allow almost everything to be overridden + local default_fields = { + wield_image = post_texture, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, + }, + }, + paramtype = "light", + tiles = {def.texture, def.texture, post_texture_dark, post_texture_dark, post_texture, post_texture}, + use_texture_alpha = "opaque", + light_source = default.LIGHT_MAX, + sunlight_propagates = true, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + } + for k, v in pairs(default_fields) do + if def[k] == nil then + def[k] = v + end + end + + def.texture = nil + def.material = nil + + minetest.register_node(name, def) +end -- -- Leafdecay @@ -414,7 +493,7 @@ end -- Prevent decay of placed leaves default.after_place_leaves = function(pos, placer, itemstack, pointed_thing) - if placer and placer:is_player() and not placer:get_player_control().sneak then + if placer and placer:is_player() then local node = minetest.get_node(pos) node.param2 = 1 minetest.set_node(pos, node) @@ -433,6 +512,9 @@ local function leafdecay_after_destruct(pos, oldnode, def) end end +local movement_gravity = tonumber( + minetest.settings:get("movement_gravity")) or 9.81 + local function leafdecay_on_timer(pos, def) if minetest.find_node_near(pos, def.radius, def.trunks) then return false @@ -459,6 +541,21 @@ local function leafdecay_on_timer(pos, def) minetest.remove_node(pos) minetest.check_for_falling(pos) + + -- spawn a few particles for the removed node + minetest.add_particlespawner({ + amount = 8, + time = 0.001, + minpos = vector.subtract(pos, {x=0.5, y=0.5, z=0.5}), + maxpos = vector.add(pos, {x=0.5, y=0.5, z=0.5}), + minvel = vector.new(-0.5, -1, -0.5), + maxvel = vector.new(0.5, 0, 0.5), + minacc = vector.new(0, -movement_gravity, 0), + maxacc = vector.new(0, -movement_gravity, 0), + minsize = 0, + maxsize = 0, + node = node, + }) end function default.register_leafdecay(def) @@ -483,7 +580,7 @@ end -- --- Convert dirt to something that fits the environment +-- Convert default:dirt to something that fits the environment -- minetest.register_abm({ @@ -492,6 +589,7 @@ minetest.register_abm({ neighbors = { "air", "group:grass", + "group:dry_grass", "default:snow", }, interval = 6, @@ -520,6 +618,8 @@ minetest.register_abm({ minetest.set_node(pos, {name = "default:dirt_with_snow"}) elseif minetest.get_item_group(name, "grass") ~= 0 then minetest.set_node(pos, {name = "default:dirt_with_grass"}) + elseif minetest.get_item_group(name, "dry_grass") ~= 0 then + minetest.set_node(pos, {name = "default:dirt_with_dry_grass"}) end end }) @@ -581,6 +681,40 @@ minetest.register_abm({ end }) +-- +-- Register a craft to copy the metadata of items +-- + +function default.register_craft_metadata_copy(ingredient, result) + minetest.register_craft({ + type = "shapeless", + output = result, + recipe = {ingredient, result} + }) + + minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) + if itemstack:get_name() ~= result then + return + end + + local original + local index + for i = 1, #old_craft_grid do + if old_craft_grid[i]:get_name() == result then + original = old_craft_grid[i] + index = i + end + end + if not original then + return + end + local copymeta = original:get_meta():to_table() + itemstack:get_meta():from_table(copymeta) + -- put the book with metadata back in the craft grid + craft_inv:set_stack("craft", index, original) + end) +end + -- -- NOTICE: This method is not an official part of the API yet. @@ -605,7 +739,7 @@ function default.can_interact_with_node(player, pos) -- Is player wielding the right key? local item = player:get_wielded_item() - if item:get_name() == "default:key" then + if minetest.get_item_group(item:get_name(), "key") == 1 then local key_meta = item:get_meta() if key_meta:get_string("secret") == "" then diff --git a/mods/default/furnace.lua b/mods/default/furnace.lua index d133a3a1..e6b90b82 100644 --- a/mods/default/furnace.lua +++ b/mods/default/furnace.lua @@ -113,6 +113,9 @@ local function furnace_node_timer(pos, elapsed) local srclist, fuellist local dst_full = false + local timer_elapsed = meta:get_int("timer_elapsed") or 0 + meta:set_int("timer_elapsed", timer_elapsed + 1) + local cookable, cooked local fuel @@ -154,6 +157,9 @@ local function furnace_node_timer(pos, elapsed) else dst_full = true end + -- Play cooling sound + minetest.sound_play("default_cool_lava", + {pos = pos, max_hear_distance = 16, gain = 0.07}, true) else -- Item could not be cooked: probably missing fuel update = true @@ -171,8 +177,15 @@ local function furnace_node_timer(pos, elapsed) fuel_totaltime = 0 src_time = 0 else - -- Take fuel from fuel list - inv:set_stack("fuel", 1, afterfuel.items[1]) + -- prevent blocking of fuel inventory (for automatization mods) + local is_fuel = minetest.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}}) + if is_fuel.time == 0 then + table.insert(fuel.replacements, afterfuel.items[1]) + inv:set_stack("fuel", 1, "") + else + -- Take fuel from fuel list + inv:set_stack("fuel", 1, afterfuel.items[1]) + end -- Put replacements in dst list or drop them on the furnace. local replacements = fuel.replacements if replacements[1] then @@ -237,6 +250,12 @@ local function furnace_node_timer(pos, elapsed) swap_node(pos, "default:furnace_active") -- make sure timer restarts automatically result = true + + -- Play sound every 5 seconds while the furnace is active + if timer_elapsed == 0 or (timer_elapsed + 1) % 5 == 0 then + minetest.sound_play("default_furnace_active", + {pos = pos, max_hear_distance = 16, gain = 0.25}, true) + end else if fuellist and not fuellist[1]:is_empty() then fuel_state = S("@1%", 0) @@ -245,6 +264,7 @@ local function furnace_node_timer(pos, elapsed) swap_node(pos, "default:furnace") -- stop timer on the inactive furnace minetest.get_node_timer(pos):stop() + meta:set_int("timer_elapsed", 0) end @@ -305,6 +325,10 @@ minetest.register_node("default:furnace", { -- start timer function, it will sort out whether furnace can burn or not. minetest.get_node_timer(pos):start(1.0) end, + on_metadata_inventory_take = function(pos) + -- check whether the furnace is empty or not. + minetest.get_node_timer(pos):start(1.0) + end, on_blast = function(pos) local drops = {} default.get_inventory_drops(pos, "src", drops) @@ -352,3 +376,12 @@ minetest.register_node("default:furnace_active", { allow_metadata_inventory_move = allow_metadata_inventory_move, allow_metadata_inventory_take = allow_metadata_inventory_take, }) + +minetest.register_craft({ + output = "default:furnace", + recipe = { + {"group:stone", "group:stone", "group:stone"}, + {"group:stone", "", "group:stone"}, + {"group:stone", "group:stone", "group:stone"}, + } +}) diff --git a/mods/default/init.lua b/mods/default/init.lua index 015d3dcf..7d27f98a 100644 --- a/mods/default/init.lua +++ b/mods/default/init.lua @@ -12,13 +12,38 @@ default = {} default.LIGHT_MAX = 14 default.get_translator = S +-- Check for engine features required by MTG +-- This provides clear error behaviour when MTG is newer than the installed engine +-- and avoids obscure, hard to debug runtime errors. +-- This section should be updated before release and older checks can be dropped +-- when newer ones are introduced. +if not minetest.is_creative_enabled or not minetest.has_feature({ + direct_velocity_on_players = true, + use_texture_alpha_string_modes = true, + }) then + error("\nThis version of Minetest Game is incompatible with your engine version ".. + "(which is too old). You should download a version of Minetest Game that ".. + "matches the installed engine version.\n") +end + -- GUI related stuff minetest.register_on_joinplayer(function(player) - player:set_formspec_prepend([[ + -- Set formspec prepend + local formspec = [[ bgcolor[#080808BB;true] - background[5,5;1,1;gui_formbg.png;true] - background[5,5;1,1;gui_formbg.png;true;10] - listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]) + listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]] + local name = player:get_player_name() + local info = minetest.get_player_information(name) + if info.formspec_version > 1 then + formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]" + else + formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]" + end + player:set_formspec_prepend(formspec) + + -- Set hotbar textures + player:hud_set_hotbar_image("gui_hotbar.png") + player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") end) function default.get_hotbar_bg(x,y) diff --git a/mods/default/item_entity.lua b/mods/default/item_entity.lua index 2a61f08e..3e6cc9db 100644 --- a/mods/default/item_entity.lua +++ b/mods/default/item_entity.lua @@ -15,12 +15,13 @@ local item = { burn_up = function(self) -- disappear in a smoke puff - self.object:remove() local p = self.object:get_pos() + self.object:remove() minetest.sound_play("default_item_smoke", { pos = p, + gain = 1.0, max_hear_distance = 8, - }) + }, true) minetest.add_particlespawner({ amount = 3, time = 0.1, @@ -39,16 +40,20 @@ local item = { }) end, - on_step = function(self, dtime) - builtin_item.on_step(self, dtime) + on_step = function(self, dtime, ...) + builtin_item.on_step(self, dtime, ...) if self.flammable then - -- flammable, check for igniters + -- flammable, check for igniters every 10 s self.ignite_timer = (self.ignite_timer or 0) + dtime if self.ignite_timer > 10 then self.ignite_timer = 0 - local node = minetest.get_node_or_nil(self.object:get_pos()) + local pos = self.object:get_pos() + if pos == nil then + return -- object already deleted + end + local node = minetest.get_node_or_nil(pos) if not node then return end @@ -70,5 +75,5 @@ local item = { } -- set defined item as new __builtin:item, with the old one as fallback table -setmetatable(item, builtin_item) +setmetatable(item, { __index = builtin_item }) minetest.register_entity(":__builtin:item", item) diff --git a/mods/default/license.txt b/mods/default/license.txt index fecb1eb8..3c95c1b4 100644 --- a/mods/default/license.txt +++ b/mods/default/license.txt @@ -51,6 +51,7 @@ Copyright (C) 2010-2018: Mossmanikin random-geek Extex101 + An0n3m0us You are free to: Share — copy and redistribute the material in any medium or format. diff --git a/mods/default/locale/default.de.tr b/mods/default/locale/default.de.tr index c842b85c..1abe24f8 100644 --- a/mods/default/locale/default.de.tr +++ b/mods/default/locale/default.de.tr @@ -4,36 +4,41 @@ Locked Chest (owned by @1)=Abgeschlossene Truhe (Eigentum von @1) You do not own this chest.=Ihnen gehört diese Truhe nicht. a locked chest=eine abgeschlossene Truhe Chest=Truhe -Stick=Stock -Paper=Papier +Write=Schreiben +Read=Lesen +Title:=Titel: +Contents:=Inhalt: +Save=Speichern +by @1=von @1 +Page @1 of @2=Seite @1 von @2 "@1" by @2=„@1“ von @2 +Blueberries=Blaubeeren Book=Buch Book with Text=Buch mit Text -Skeleton Key=Skelettschlüssel -Key to @1's @2=Schlüssel für @2 von @1 -Coal Lump=Kohleklumpen -Iron Lump=Eisenklumpen -Copper Lump=Kupferklumpen -Tin Lump=Zinnklumpen -Mese Crystal=Mesekristall -Gold Lump=Goldklumpen -Diamond=Diamant -Clay Lump=Tonklumpen -Steel Ingot=Stahlbarren -Copper Ingot=Kupferbarren -Tin Ingot=Zinnbarren Bronze Ingot=Bronzebarren -Gold Ingot=Goldbarren -Mese Crystal Fragment=Mesekristallfragment Clay Brick=Tonziegel -Obsidian Shard=Obsidianscherbe +Clay Lump=Tonklumpen +Coal Lump=Kohleklumpen +Copper Ingot=Kupferbarren +Copper Lump=Kupferklumpen +Diamond=Diamant Flint=Feuerstein -Blueberries=Blaubeeren +Gold Ingot=Goldbarren +Gold Lump=Goldklumpen +Iron Lump=Eisenklumpen +Mese Crystal=Mesekristall +Mese Crystal Fragment=Mesekristallfragment +Obsidian Shard=Obsidianscherbe +Paper=Papier +Steel Ingot=Stahlbarren +Stick=Stock +Tin Ingot=Zinnbarren +Tin Lump=Zinnklumpen Furnace is empty=Ofen ist leer 100% (output full)=100% (Ausgabe voll) @1%=@1% -Empty=Leer Not cookable=Nicht kochbar +Empty=Leer Furnace active=Ofen aktiv Furnace inactive=Ofen inaktiv (Item: @1; Fuel: @2)=(Gegenstand: @1; Brennstoff: @2) @@ -42,7 +47,7 @@ Stone=Stein Cobblestone=Kopfsteinpflaster Stone Brick=Steinziegel Stone Block=Steinblock -Mossy Cobblestone=Mosiges Kopfsteinpflaster +Mossy Cobblestone=Moosiges Kopfsteinpflaster Desert Stone=Wüstenstein Desert Cobblestone=Wüstenkopfsteinpflaster Desert Stone Brick=Wüstensteinziegel @@ -62,12 +67,12 @@ Obsidian Block=Obsidianblock Dirt=Erde Dirt with Grass=Erde mit Gras Dirt with Grass and Footsteps=Erde mit Gras und Fußstapfen -Dirt with Dry Grass=Erde mit trockenem Gras +Dirt with Savanna Grass=Erde mit Savannengras Dirt with Snow=Erde mit Schnee Dirt with Rainforest Litter=Erde mit Regenwaldboden Dirt with Coniferous Litter=Erde mit Nadelwaldboden -Dry Dirt=Trockene Erde -Dry Dirt with Dry Grass=Trockene Erde mit trockenem Gras +Savanna Dirt=Savannenerde +Savanna Dirt with Savanna Grass=Savannenerde mit Savannengras Permafrost=Permafrost Permafrost with Stones=Permafrost mit Steinen Permafrost with Moss=Permafrost mit Moos @@ -124,7 +129,7 @@ Papyrus=Papyrus Dry Shrub=Trockener Busch Jungle Grass=Dschungelgras Grass=Gras -Dry Grass=Trockenes Gras +Savanna Grass=Savannengras Fern=Farn Marram Grass=Dünengras Bush Stem=Buschstamm @@ -156,6 +161,7 @@ Empty Bookshelf=Leeres Bücherregal Bookshelf (@1 written, @2 empty books)=Bücherregal (@1 beschriebene, @2 leere Bücher) Bookshelf=Bücherregal Text too long=Text zu lang +"@1"=„@1“ Wooden Sign=Holzschild Steel Sign=Stahlschild Wooden Ladder=Holzleiter @@ -174,7 +180,11 @@ Glass=Glas Obsidian Glass=Obsidianglas Brick Block=Ziegelblock Mese Lamp=Meselampe -Mese Post Light=Mesestandlampe +Apple Wood Mese Post Light=Apfelholzmesestandlampe +Acacia Wood Mese Post Light=Akazienholzmesestandlampe +Jungle Wood Mese Post Light=Dschungelholzmesestandlampe +Pine Wood Mese Post Light=Kiefernholzmesestandlampe +Aspen Wood Mese Post Light=Espenholzmesestandlampe Cloud=Wolke Wooden Pickaxe=Holzspitzhacke Stone Pickaxe=Steinspitzhacke @@ -200,12 +210,10 @@ Bronze Sword=Bronzeschwert Steel Sword=Stahlschwert Mese Sword=Meseschwert Diamond Sword=Diamantschwert -Key=Schlüssel Torch=Fackel @1 will intersect protection on growth.=@1 wird bei Wachstum mit geschützter Zone überlappen. -Title:=Titel: -Contents:=Inhalt: -Save=Speichern -by @1=von @1 -Page @1 of @2=Seite @1 von @2 -"@1"=„@1“ + + +##### not used anymore ##### + +Mese Post Light=Mesestandlampe diff --git a/mods/default/locale/default.eo.tr b/mods/default/locale/default.eo.tr new file mode 100644 index 00000000..83496566 --- /dev/null +++ b/mods/default/locale/default.eo.tr @@ -0,0 +1,219 @@ +# textdomain: default +Locked Chest=Ŝlosita Kesto +Locked Chest (owned by @1)=Ŝlosita Kesto (de @1) +You do not own this chest.=Vi ne posedas ĉi tiu keston. +a locked chest=ŝlosita kesto +Chest=Kesto +Write= +Read= +Title:=Titolo +Contents:=Entenaĵo +Save=Konservu +by @1=per @1 +Page @1 of @2=Paĝo @1 el @2 +"@1" by @2="@1" per @2 +Blueberries=Mirteloj +Book=Libro +Book with Text=Libro kun Teksto +Bronze Ingot=Bronza Ingoto +Clay Brick=Argila Briko +Clay Lump=Argila Bulo +Coal Lump=Karba Bulo +Copper Ingot=Kupra Ingoto +Copper Lump=Kupra Bulo +Diamond=Diamanto +Flint=Siliko +Gold Ingot=Ora Ingoto +Gold Lump=Ora Bulo +Iron Lump=Fera Bulo +Mese Crystal=Mesea Kristalo +Mese Crystal Fragment=Mesea Kristala Ero +Obsidian Shard=Obsidiana Peceto +Paper=Papero +Steel Ingot=Ŝtala Ingoto +Stick=Bastono +Tin Ingot=Stana Ingoto +Tin Lump=Stana Bulo +Furnace is empty=Forno estas malplena +100% (output full)=100% (eligo estas plena) +@1%=@1% +Not cookable=Ne povas kuiri +Empty=Malplena +Furnace active=Forno laboras +Furnace inactive=Forno ne laboras +(Item: @1; Fuel: @2)=(Objekto: @1; Brulaĵo: @2) +Furnace=Forno +Stone=Ŝtono +Cobblestone=Pavimŝtono +Stone Brick=Ŝtona Briko +Stone Block=Ŝtona Ŝtipo +Mossy Cobblestone=Muska Pavimŝtono +Desert Stone=Dezerta Ŝtono +Desert Cobblestone=Dezerta Pavimŝtono +Desert Stone Brick=Dezerta Ŝtona Briko +Desert Stone Block=Dezerta Ŝtona Ŝtipo +Sandstone=Sablaŝtono +Sandstone Brick=Sablaŝtono Briko +Sandstone Block=Sablaŝtono Ŝtipo +Desert Sandstone=Dezerta Sablaŝtono +Desert Sandstone Brick=Dezerta Sablaŝtono Briko +Desert Sandstone Block=Dezerta Sablaŝtono Ŝtipo +Silver Sandstone=Arĝenta Sablaŝtono +Silver Sandstone Brick=Arĝenta Sablaŝtono Briko +Silver Sandstone Block=Arĝenta Sablaŝtono Ŝtipo +Obsidian=Obsidiano +Obsidian Brick=Obsidiana Briko +Obsidian Block=Obsidiana Ŝtipo +Dirt=Tero +Dirt with Grass=Tero kun Herbo +Dirt with Grass and Footsteps=Tero kun Herbo kaj Piedpaŝoj +Dirt with Savanna Grass=Tero kun Savana Herbo +Dirt with Snow=Tero kun Neĝo +Dirt with Rainforest Litter=Tero kun Pluvarbara Folioj +Dirt with Coniferous Litter=Tero kun Konifera Folioj +Savanna Dirt=Savana Tero +Savanna Dirt with Savanna Grass=Savana Tero kun Savana Herbo +Permafrost=Ĉiamfrosto +Permafrost with Stones=Ĉiamfrosto kun Ŝtonoj +Permafrost with Moss=Ĉiamfrosto kun Musko +Sand=Sablo +Desert Sand=Dezerta Sablo +Silver Sand=Arĝenta Sablo +Gravel=Gruzo +Clay=Argilo +Snow=Neĝo +Snow Block=Neĝa Ŝtipo +Ice=Glacio +Cave Ice=Kaverna Glacio +Apple Tree=Poma Arbo +Apple Wood Planks=Poma Ligna Tabuloj +Apple Tree Sapling=Poma Arba Arbido +Apple Tree Leaves=Poma Arba Folioj +Apple=Pomo +Apple Marker=Poma Marko +Jungle Tree=Ĝangala Arbo +Jungle Wood Planks=Ĝangala Ligna Tabuloj +Jungle Tree Leaves=Ĝangala Arba Folioj +Jungle Tree Sapling=Ĝangala Arba Arbido +Emergent Jungle Tree Sapling=Nova Ĝangala Arba Arbido +Pine Tree=Pina Arbo +Pine Wood Planks=Pina Ligna Tabuloj +Pine Needles=Pinpingloj +Pine Tree Sapling=Pina Arba Arbido +Acacia Tree=Akacia Arbo +Acacia Wood Planks=Akacia Ligna Tabuloj +Acacia Tree Leaves=Akacia Arba Folioj +Acacia Tree Sapling=Akacia Arba Arbido +Aspen Tree=Tremola Arba +Aspen Wood Planks=Tremola Ligna Tabuloj +Aspen Tree Leaves=Tremola Arbo Folioj +Aspen Tree Sapling=Tremola Arba Arbido +Coal Ore=Karba Minaĵo +Coal Block=Karba Ŝtipo +Iron Ore=Fera Minaĵo +Steel Block=Ŝtala Ŝtipo +Copper Ore=Kupra Minaĵo +Copper Block=Kupra Ŝtipo +Tin Ore=Stana Minaĵo +Tin Block=Stana Ŝtipo +Bronze Block=Bronza Ŝtipo +Mese Ore=Mesea Minaĵo +Mese Block=Mesea Ŝtipo +Gold Ore=Ora Minaĵo +Gold Block=Ora Ŝtipo +Diamond Ore=Diamanta Minaĵo +Diamond Block=Diamanta Ŝtipo +Cactus=Kakto +Large Cactus Seedling=Granda Kakta Kreskaĵo +Papyrus=Papiruso +Dry Shrub=Seka Arbetaĵo +Jungle Grass=Ĝangala Herbo +Grass=Herbo +Savanna Grass=Savana Herbo +Fern=Filiko +Marram Grass=Amofilo +Bush Stem=Arbateĵa Tubo +Bush Leaves=Arbateĵa Folioj +Bush Sapling=Arbateĵa Arbido +Blueberry Bush Leaves with Berries=Mirtela Arbateĵa Folioj kaj Beroj +Blueberry Bush Leaves=Mirtela Arbateĵa Folioj +Blueberry Bush Sapling=Mirtela Arbateĵa Arbido +Acacia Bush Stem=Akacia Arbateĵa Tubo +Acacia Bush Leaves=Akacia Arbateĵa Folioj +Acacia Bush Sapling=Akacia Arbateĵa Arbido +Pine Bush Stem=Pina Arbateĵa Tubo +Pine Bush Needles=Pina Arbateĵa Pingloj +Pine Bush Sapling=Pina Arbateĵa Arbido +Kelp=Fuko +Green Coral=Verda Koralo +Pink Coral=Rozkolora Koralo +Cyan Coral=Bluverda Koralo +Brown Coral=Bruna Koralo +Orange Coral=Oranĝa Koralo +Coral Skeleton=Korala Framo +Water Source=Akva Fonto +Flowing Water=Flua Akvo +River Water Source=Rivera Akva Fonto +Flowing River Water=Flua Rivera Akvo +Lava Source=Lafa Fonto +Flowing Lava=Flua Lafa +Empty Bookshelf=Malplena Librobreto +Bookshelf (@1 written, @2 empty books)=Librobreto (@1 skriba, @2 malplena libroj) +Bookshelf=Librobreto +Text too long=Teksto estas ekscesa longo +"@1"="@1" +Wooden Sign=Ligna Signo +Steel Sign=Ŝtala Signo +Wooden Ladder=Ligna Ŝtupetaro +Steel Ladder=Ŝtala Ŝtupetaro +Apple Wood Fence=Poma Ligna Barilo +Acacia Wood Fence=Akacia Ligna Barilo +Jungle Wood Fence=Ĝangala Ligna Barilo +Pine Wood Fence=Pina Ligna Barilo +Aspen Wood Fence=Tremola Ligna Barilo +Apple Wood Fence Rail=Poma Ligna Barila Relo +Acacia Wood Fence Rail=Akacia Ligna Barila Relo +Jungle Wood Fence Rail=Ĝangala Ligna Barila Relo +Pine Wood Fence Rail=Pina Ligna Barila Relo +Aspen Wood Fence Rail=Tremola Ligna Barila Relo +Glass=Vitro +Obsidian Glass=Obsidiana Vitro +Brick Block=Brika Ŝtipo +Mese Lamp=Mesea Lampo +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= +Cloud=Nubo +Wooden Pickaxe=Ligna Pioĉo +Stone Pickaxe=Ŝtona Pioĉo +Bronze Pickaxe=Bronza Pioĉo +Steel Pickaxe=Ŝtala Pioĉo +Mese Pickaxe=Mesea Pioĉo +Diamond Pickaxe=Diamanta Pioĉo +Wooden Shovel=Ligna Fosilo +Stone Shovel=Ŝtona Fosilo +Bronze Shovel=Bronza Fosilo +Steel Shovel=Ŝtala Fosilo +Mese Shovel=Mesea Fosilo +Diamond Shovel=Diamanta Fosilo +Wooden Axe=Ligna Hakilo +Stone Axe=Ŝtona Hakilo +Bronze Axe=Bronza Hakilo +Steel Axe=Ŝtala Hakilo +Mese Axe=Mesea Hakilo +Diamond Axe=Diamanta Hakilo +Wooden Sword=Ligna Glavo +Stone Sword=Ŝtona Glavo +Bronze Sword=Bronza Glavo +Steel Sword=Ŝtala Glavo +Mese Sword=Mesea Glavo +Diamond Sword=Diamanta Glavo +Torch=Torĉo +@1 will intersect protection on growth.=@1 sekcos protekto ĉe vegeto. + + +##### not used anymore ##### + +Mese Post Light=Mesea Fosta Lampo diff --git a/mods/default/locale/default.es.tr b/mods/default/locale/default.es.tr new file mode 100644 index 00000000..da160dc3 --- /dev/null +++ b/mods/default/locale/default.es.tr @@ -0,0 +1,223 @@ +# textdomain: default +Locked Chest=Cofre cerrado +Locked Chest (owned by @1)=Cofre cerrado (propiedad de @1) +You do not own this chest.=Este cofre no te pertenece. +a locked chest=un cofre cerrado +Chest=Cofre +Write= +Read= +Title:=Título: +Contents:=Contenidos: +Save=Guardar +by @1=por @1 +Page @1 of @2=Página @1 de @2 +"@1" by @2="@1" por @2 +Blueberries=Arándanos +Book=Libro +Book with Text=Libro escrito +Bronze Ingot=Lingote de bronce +Clay Brick=Ladrillo de arcilla +Clay Lump=Bola de arcilla +Coal Lump=Carbón +Copper Ingot=Lingote de cobre +Copper Lump=Pepita de cobre +Diamond=Diamante +Flint=Pedernal +Gold Ingot=Lingote de oro +Gold Lump=Pepita de oro +Iron Lump=Pepita de hierro +Mese Crystal=Cristal de mese +Mese Crystal Fragment=Fragmento de cristal de mese +Obsidian Shard=Esquirla de obsidiana +Paper=Papel +Steel Ingot=Lingote de acero +Stick=Palo +Tin Ingot=Lingote de estaño +Tin Lump=Pepita de estaño +Furnace is empty=El horno está vacío +100% (output full)=100% (salida completa) +@1%=@1% +Not cookable=No se puede cocinar +Empty=Vacío +Furnace active=Horno activado +Furnace inactive=Horno desactivado +(Item: @1; Fuel: @2)=(Objeto: @1; Combustible: @2) +Furnace=Horno +Stone=Piedra +Cobblestone=Adoquín +Stone Brick=Ladrillo de piedra +Stone Block=Bloque de piedra +Mossy Cobblestone=Adoquín musgoso +Desert Stone=Piedra desértica +Desert Cobblestone=Adoquín desértico +Desert Stone Brick=Ladrillo de piedra desértica +Desert Stone Block=Bloque de piedra desértica +Sandstone=Piedra arenisca +Sandstone Brick=Ladrillo de arenisca +Sandstone Block=Bloque de arenisca +Desert Sandstone=Piedra arenisca desértica +Desert Sandstone Brick=Ladrillo de arenisca desértica +Desert Sandstone Block=Bloque de arenisca deśertica +Silver Sandstone=Piedra arenisca plateada +Silver Sandstone Brick=Ladrillo de arenisca plateada +Silver Sandstone Block=Bloque de arenisca plateada +Obsidian=Obsidiana +Obsidian Brick=Ladrillo de obsidiana +Obsidian Block=Bloque de obsidiana +Dirt=Tierra +Dirt with Grass=Tierra con pasto +Dirt with Grass and Footsteps=Tierra con pasto y pisadas +Dirt with Savanna Grass=Tierra con hierba de sabana +Dirt with Snow=Tierra con nieve +Dirt with Rainforest Litter=Tierra con hojarasca de selva tropical +Dirt with Coniferous Litter=Tierra con hojarasca de coníferas +Savanna Dirt=Tierra de sabana +Savanna Dirt with Savanna Grass=Tierra de sabana con hierba de sabana +Permafrost=Permafrost +Permafrost with Stones=Permafrost pedregoso +Permafrost with Moss=Permafrost musgoso +Sand=Arena +Desert Sand=Arena desértica +Silver Sand=Arena plateada +Gravel=Grava +Clay=Arcilla +Snow=Nieve +Snow Block=Bloque de nieve +Ice=Hielo +Cave Ice=Hielo de cueva +Apple Tree=Madera de manzano +Apple Wood Planks=Tablas de manzano +Apple Tree Sapling=Retoño de manzano +Apple Tree Leaves=Hojas de manzano +Apple=Manzana +Apple Marker=Marcador de manzano +Jungle Tree=Madera de árbol tropical +Jungle Wood Planks=Tablas de madera tropical +Jungle Tree Leaves=Hojas de árbol tropical +Jungle Tree Sapling=Retoño de árbol tropical +Emergent Jungle Tree Sapling=Retoño de árbol tropical +Pine Tree=Madera de pino +Pine Wood Planks=Tablas de pino +Pine Needles=Agujas de pino +Pine Tree Sapling=Retoño de pino +Acacia Tree=Madera de acacia +Acacia Wood Planks=Tablas de acacia +Acacia Tree Leaves=Hojas de acacia +Acacia Tree Sapling=Retoño de acacia +Aspen Tree=Madera de álamo +Aspen Wood Planks=Tablas de álamo +Aspen Tree Leaves=Hojas de álamo +Aspen Tree Sapling=Retoño de álamo +Coal Ore=Mineral de carbón +Coal Block=Bloque de carbón +Iron Ore=Mineral de hierro +Steel Block=Bloque de acero +Copper Ore=Mineral de cobre +Copper Block=Bloque de cobre +Tin Ore=Mineral de estaño +Tin Block=Bloque de estaño +Bronze Block=Bloque de bronce +Mese Ore=Mineral de mese +Mese Block=Bloque de mese +Gold Ore=Mineral de oro +Gold Block=Bloque de oro +Diamond Ore=Mineral de diamante +Diamond Block=Bloque de diamante +Cactus=Cáctus +Large Cactus Seedling=Vástago grande de cactus +Papyrus=Papiro +Dry Shrub=Arbusto seco +Jungle Grass=Pasto de jungla +Grass=Pasto +Savanna Grass=Hierba de sabana +Fern=Helecho +Marram Grass=Carrizo +Bush Stem=Tallo de arbusto +Bush Leaves=Hojas de arbusto +Bush Sapling=Retoño de arbusto +Blueberry Bush Leaves with Berries=Hojas de arbusto de arándano con bayas +Blueberry Bush Leaves=Hojas de arbusto de arándano +Blueberry Bush Sapling=Retoño de arbusto de arándano +Acacia Bush Stem=Tallo de arbusto de acacia +Acacia Bush Leaves=Hojas de arbusto de acacia +Acacia Bush Sapling=Retoño de arbusto de acacia +Pine Bush Stem=Tallo de arbusto de pino +Pine Bush Needles=Agujas de arbusto de pino +Pine Bush Sapling=Retoño de arbusto de pino +Kelp=Alga marina +Green Coral=Coral verde +Pink Coral=Coral rosa +Cyan Coral=Coral cián +Brown Coral=Coral café +Orange Coral=Coral naranja +Coral Skeleton=Esqueleto de coral +Water Source=Fuente de agua +Flowing Water=Fluído de agua +River Water Source=Fuente de agua de río +Flowing River Water=Fluído de agua de río +Lava Source=Fuente de lava +Flowing Lava=Fluído de lava +Empty Bookshelf=Librería vacía +Bookshelf (@1 written, @2 empty books)=Librería(@1 escritos, @2 libros en blanco) +Bookshelf=Librería +Text too long=Texto demasiado largo +"@1"="@1" +Wooden Sign=Cartel de madera +Steel Sign=Cartel de acero +Wooden Ladder=Escalera de madera +Steel Ladder=Escalera de acero +Apple Wood Fence=Cerca de manzano +Acacia Wood Fence=Cerca de acacia +Jungle Wood Fence=Cerca de madera tropical +Pine Wood Fence=Cerca de pino +Aspen Wood Fence=Cerca de álamo +Apple Wood Fence Rail=Listones de manzano para cerca +Acacia Wood Fence Rail=Listones de acacia para cerca +Jungle Wood Fence Rail=Listones de madera tropical para cerca +Pine Wood Fence Rail=Listones de pino para cerca +Aspen Wood Fence Rail=Listones de álamo para cerca +Glass=Vidrio +Obsidian Glass=Vidrio de obsidiana +Brick Block=Bloque de ladrillo +Mese Lamp=Lámpara de mese +Apple Wood Mese Post Light=Poste de luz de madera de manzano +Acacia Wood Mese Post Light=Poste de luz de madera de acacia +Jungle Wood Mese Post Light=Poste de luz de madera de jungla +Pine Wood Mese Post Light=Poste de luz de madera de pino +Aspen Wood Mese Post Light=Poste de luz de madera de álamo +Cloud=Nube +Wooden Pickaxe=Pico de madera +Stone Pickaxe=Pico de piedra +Bronze Pickaxe=Pico de bronce +Steel Pickaxe=Pico de acero +Mese Pickaxe=Pico de mese +Diamond Pickaxe=Pico de diamante +Wooden Shovel=Pala de madera +Stone Shovel=Pala de piedra +Bronze Shovel=Pala de bronce +Steel Shovel=Pala de acero +Mese Shovel=Pala de mese +Diamond Shovel=Pala de diamante +Wooden Axe=Hacha de madera +Stone Axe=Hacha de piedra +Bronze Axe=Hacha de bronce +Steel Axe=Hacha de acero +Mese Axe=Hacha de mese +Diamond Axe=Hacha de diamante +Wooden Sword=Espada de madera +Stone Sword=Espada de piedra +Bronze Sword=Espada de bronce +Steel Sword=Espada de acero +Mese Sword=Espada de mese +Diamond Sword=Espada de diamante +Torch=Antorcha +@1 will intersect protection on growth.=@1 intersectará con protección cuando crezca. + + +##### not used anymore ##### + +Dirt with Dry Grass=Tierra con pasto seco +Dry Dirt=Tierra Seca +Dry Dirt with Dry Grass=Tierra seca con pasto seco +Dry Grass=Pasto seco +Mese Post Light=Poste de luz de mese diff --git a/mods/default/locale/default.fr.tr b/mods/default/locale/default.fr.tr new file mode 100644 index 00000000..8e2cd67b --- /dev/null +++ b/mods/default/locale/default.fr.tr @@ -0,0 +1,223 @@ +# textdomain: default +Locked Chest=Coffre verrouillé +Locked Chest (owned by @1)=Coffre verrouillé (possédé par @1) +You do not own this chest.=Ce coffre ne vous appartient pas. +a locked chest=un coffre verrouillé +Chest=Coffre +Write=Écrire +Read=Lire +Title:=Titre : +Contents:=Contenu : +Save=Sauvegarder +by @1=de @1 +Page @1 of @2=Page @1 sur @2 +"@1" by @2=« @1 » de @2 +Blueberries=Myrtille +Book=Livre +Book with Text=Livre avec du texte +Bronze Ingot=Lingot de bronze +Clay Brick=Brique d'argile +Clay Lump=Morceau d'argile +Coal Lump=Morceau de charbon +Copper Ingot=Lingot de cuivre +Copper Lump=Morceau de cuivre +Diamond=Diamant +Flint=Silex +Gold Ingot=Lingot d'or +Gold Lump=Morceau d'or +Iron Lump=Morceau de fer +Mese Crystal=Cristal de Mese +Mese Crystal Fragment=Fragment de cristal de Mese +Obsidian Shard=Tesson d'obsidienne +Paper=Papier +Steel Ingot=Lingot d'acier +Stick=Baton +Tin Ingot=Lingot d'étain +Tin Lump=Morceau d'étain +Furnace is empty=Le four est vide +100% (output full)=100% (Sortie pleine) +@1%=@1% +Not cookable=Ne se cuit pas +Empty=Vide +Furnace active=Four actif +Furnace inactive=Four inactif +(Item: @1; Fuel: @2)=(Article: @1; Carburant: @2) +Furnace=Four +Stone=Pierre +Cobblestone=Pavé +Stone Brick=Brique de pierre +Stone Block=Bloc de pierre +Mossy Cobblestone=Pavé moussu +Desert Stone=Pierre du désert +Desert Cobblestone=Pavé de pierre du désert +Desert Stone Brick=Brique de pierre du désert +Desert Stone Block=Bloc de pierre du désert +Sandstone=Grès +Sandstone Brick=Brique de grès +Sandstone Block=Bloc de grès +Desert Sandstone=Grès du désert +Desert Sandstone Brick=Brique de grès du désert +Desert Sandstone Block=Bloc de grès du désert +Silver Sandstone=Grès argenté +Silver Sandstone Brick=Brique de grès argenté +Silver Sandstone Block=Bloc de grès argenté +Obsidian=Obsidienne +Obsidian Brick=Brique d'obsidienne +Obsidian Block=Bloc d'obsidienne +Dirt=Terre +Dirt with Grass=Terre avec de l'herbe +Dirt with Grass and Footsteps=Terre avec de l'herbe et des traces de pas +Dirt with Savanna Grass=Terre avec de l'herbe de savane +Dirt with Snow=Terre avec de la neige +Dirt with Rainforest Litter=Terre avec sol de forêt humide +Dirt with Coniferous Litter=Terre avec sol de forêt de conifère +Savanna Dirt=Terre de la savane +Savanna Dirt with Savanna Grass=Terre de la savane avec son herbe +Permafrost=Pergélisol +Permafrost with Stones=Pergélisol avec de la pierre +Permafrost with Moss=Pergélisol avec de la mousse +Sand=Sable +Desert Sand=Sable du désert +Silver Sand=Sable argenté +Gravel=Gravier +Clay=Argile +Snow=Neige +Snow Block=Bloc de neige +Ice=Glace +Cave Ice=Glace de grotte +Apple Tree=Pommier +Apple Wood Planks=Planche de pommier +Apple Tree Sapling=Pousse de pommier +Apple Tree Leaves=Feuilles de pommier +Apple=Pomme +Apple Marker=Marqueur de pomme +Jungle Tree=Arbre de la jungle +Jungle Wood Planks=Planche d'arbre de la jungle +Jungle Tree Leaves=Feuilles d'arbre de la jungle +Jungle Tree Sapling=Pousse d'arbre de la jungle +Emergent Jungle Tree Sapling=Pousse d'arbre de la jungle émergent +Pine Tree=Pin +Pine Wood Planks=Planche de pin +Pine Needles=Aiguilles de pin +Pine Tree Sapling=Pousse de pin +Acacia Tree=Acacia +Acacia Wood Planks=Planche d'acacia +Acacia Tree Leaves=Feuilles d'acacia +Acacia Tree Sapling=Pousse d'acacia +Aspen Tree=Tremble +Aspen Wood Planks=Planche de tremble +Aspen Tree Leaves=Feuilles de tremble +Aspen Tree Sapling=Pousse de tremble +Coal Ore=Minerai de charbon +Coal Block=Bloc de charbon +Iron Ore=Bloc de fer +Steel Block=Bloc d'acier +Copper Ore=Minerai de cuivre +Copper Block=Bloc de cuivre +Tin Ore=Minerai d'étain +Tin Block=Bloc d'étain +Bronze Block=Bloc de bronze +Mese Ore=Minerai de Mese +Mese Block=Bloc de Mese +Gold Ore=Minerai d'or +Gold Block=Bloc d'or +Diamond Ore=Minerai de diamant +Diamond Block=Bloc de diamant +Cactus=Cactus +Large Cactus Seedling=Grand plan de cactus +Papyrus=Papyrus +Dry Shrub=Arbuste sec +Jungle Grass=Herbe de la jungle +Grass=Herbe +Savanna Grass=Herbe de la savane +Fern=Fougère +Marram Grass=Ammophile +Bush Stem=Tige de buisson +Bush Leaves=Feuilles de buisson +Bush Sapling=Pousse de buisson +Blueberry Bush Leaves with Berries=Buisson de myrtille avec des myrtilles +Blueberry Bush Leaves=Feuilles de buisson à myrtilles +Blueberry Bush Sapling=Pousse de buisson à myrtilles +Acacia Bush Stem=Tige de buisson d'acacia +Acacia Bush Leaves=Feuilles de buisson d'acacia +Acacia Bush Sapling=Pousses de buisson d'acacia +Pine Bush Stem=Tige de buisson de pin +Pine Bush Needles=Aiguilles de buisson de pin +Pine Bush Sapling=Pousse de buisson de pin +Kelp=Varech +Green Coral=Corail vert +Pink Coral=Corail rose +Cyan Coral=Corail cyan +Brown Coral=Corail marron +Orange Coral=Corail orange +Coral Skeleton=Squelette de corail +Water Source=Source d'eau +Flowing Water=Écoulement d'eau +River Water Source=Source d'eau de rivière +Flowing River Water=Écoulement d'eau de rivière +Lava Source=Source de lave +Flowing Lava=Écoulement de lave +Empty Bookshelf=Bibliothèque vide +Bookshelf (@1 written, @2 empty books)=Bibliothèque (@1 écrits, @2 livres vides) +Bookshelf=Bibliothèque +Text too long=Texte trop longue +"@1"=« @1 » +Wooden Sign=Panneau en bois +Steel Sign=Panneau en acier +Wooden Ladder=Échelle en bois +Steel Ladder=Échelle en acier +Apple Wood Fence=Barrière de bois de pommier +Acacia Wood Fence=Barrière de bois d'acacia +Jungle Wood Fence=Barrière de bois de la jungle +Pine Wood Fence=Barrière de bois de pin +Aspen Wood Fence=Barrière de bois de tremble +Apple Wood Fence Rail=Clôture de bois de pommier +Acacia Wood Fence Rail=Clôture de bois d'acacia +Jungle Wood Fence Rail=Clôture de bois de la jungle +Pine Wood Fence Rail=Clôture de bois de pin +Aspen Wood Fence Rail=Clôture de bois de tremble +Glass=Verre +Obsidian Glass=Verre d'obsidienne +Brick Block=Bloc de brique +Mese Lamp=Lampe de Mese +Apple Wood Mese Post Light=Réverbère de Mese en bois de pommier +Acacia Wood Mese Post Light=Réverbère de Mese en bois d'acacia +Jungle Wood Mese Post Light=Réverbère de Mese en bois de la jungle +Pine Wood Mese Post Light=Réverbère de Mese en bois de pin +Aspen Wood Mese Post Light=Réverbère de Mese en bois de tremble +Cloud=Nuage +Wooden Pickaxe=Pioche en bois +Stone Pickaxe=Pioche en pierre +Bronze Pickaxe=Pioche en bronze +Steel Pickaxe=Pioche en acier +Mese Pickaxe=Pioche de Mese +Diamond Pickaxe=Pioche en diamant +Wooden Shovel=Pelle en bois +Stone Shovel=Pelle en pierre +Bronze Shovel=Pelle en bronze +Steel Shovel=Pelle en acier +Mese Shovel=Pelle en Mese +Diamond Shovel=Pelle en diamant +Wooden Axe=Hache en bois +Stone Axe=Hache en pierre +Bronze Axe=Hache en bronze +Steel Axe=Hache en acier +Mese Axe=Hache en Mese +Diamond Axe=Hache en diamant +Wooden Sword=Epée en bois +Stone Sword=Épée en pierre +Bronze Sword=Épée en bronze +Steel Sword=Épée en acier +Mese Sword=Épée en Mese +Diamond Sword=Épée en diamant +Torch=Torche +@1 will intersect protection on growth.=@1 chevauchera la zone protégée avec la croissance. + + +##### not used anymore ##### + +Dirt with Dry Grass=Terre avec de l'herbe sèche +Dry Dirt=Terre sèche +Dry Dirt with Dry Grass=Terre sèche avec de l'herbe sèche +Dry Grass=Herbe sèche +Mese Post Light=Réverbère de Mese diff --git a/mods/default/locale/default.id.tr b/mods/default/locale/default.id.tr new file mode 100644 index 00000000..91a901e6 --- /dev/null +++ b/mods/default/locale/default.id.tr @@ -0,0 +1,219 @@ +# textdomain: default +Locked Chest=Peti Terkunci +Locked Chest (owned by @1)=Peti Terkunci (milik @1) +You do not own this chest.=Anda bukan pemilik peti ini. +a locked chest=peti terkunci +Chest=Peti +Write= +Read= +Title:=Judul: +Contents:=Isi: +Save=Simpan +by @1=oleh @1 +Page @1 of @2=Halaman @1 dari @2 +"@1" by @2="@1" oleh @2 +Blueberries=Blueberry +Book=Buku +Book with Text=Buku Tertulis +Bronze Ingot=Perunggu Batangan +Clay Brick=Bata +Clay Lump=Bongkahan Tanah Liat +Coal Lump=Bongkahan Batu Bara +Copper Ingot=Tembaga Batangan +Copper Lump=Bongkahan Tembaga +Diamond=Berlian +Flint=Batu Api +Gold Ingot=Emas Batangan +Gold Lump=Bongkahan Emas +Iron Lump=Bongkahan Besi +Mese Crystal=Kristal Mese +Mese Crystal Fragment=Pecahan Kristal Mese +Obsidian Shard=Pecahan Obsidian +Paper=Kertas +Steel Ingot=Baja Batangan +Stick=Tongkat +Tin Ingot=Timah Batangan +Tin Lump=Bongkahan Timah +Furnace is empty=Tungku kosong +100% (output full)=100% (keluaran penuh) +@1%=@1% +Not cookable=Tidak dapat dimasak +Empty=Kosong +Furnace active=Tungku nyala +Furnace inactive=Tungku mati +(Item: @1; Fuel: @2)=(Barang: @1; Bahan Bakar: @2) +Furnace=Tungku +Stone=Batu +Cobblestone=Bongkahan Batu +Stone Brick=Tembok Batu +Stone Block=Balok Batu +Mossy Cobblestone=Bongkahan Batu Berlumut +Desert Stone=Batu Gurun +Desert Cobblestone=Bongkahan Batu Gurun +Desert Stone Brick=Tembok Batu Gurun +Desert Stone Block=Balok Batu Gurun +Sandstone=Batu Pasir +Sandstone Brick=Tembok Batu Pasir +Sandstone Block=Balok Batu Pasir +Desert Sandstone=Batu Pasir Gurun +Desert Sandstone Brick=Tembok Batu Pasir Gurun +Desert Sandstone Block=Balok Batu Pasir Gurun +Silver Sandstone=Batu Pasir Perak +Silver Sandstone Brick=Tembok Batu Pasir Perak +Silver Sandstone Block=Balok Batu Pasir Perak +Obsidian=Obsidian +Obsidian Brick=Tembok Obsidian +Obsidian Block=Balok Obsidian +Dirt=Tanah +Dirt with Grass=Tanah Berumput +Dirt with Grass and Footsteps=Tanah Berumput dengan Jejak Kaki +Dirt with Savanna Grass=Tanah Berumput Sabana +Dirt with Snow=Tanah Bersalju +Dirt with Rainforest Litter=Tanah Berserasah Hutan Hujan +Dirt with Coniferous Litter=Tanah Berserasah Hutan Konifer +Savanna Dirt=Tanah Sabana +Savanna Dirt with Savanna Grass=Tanah Sabana Berumput Sabana +Permafrost=Ibun Abadi +Permafrost with Stones=Ibun Abadi Berbatu +Permafrost with Moss=Ibun Abadi Berlumut +Sand=Pasir +Desert Sand=Pasir Gurun +Silver Sand=Pasir Perak +Gravel=Kerikil +Clay=Tanah Liat +Snow=Salju +Snow Block=Balok Salju +Ice=Es +Cave Ice=Gua Es +Apple Tree=Pohon Apel +Apple Wood Planks=Papan Kayu Pohon Apel +Apple Tree Sapling=Anak Pohon Apel +Apple Tree Leaves=Daun Pohon Apel +Apple=Apel +Apple Marker=Penanda Apel +Jungle Tree=Pohon Hutan Rimba +Jungle Wood Planks=Papan Kayu Pohon Rimba +Jungle Tree Leaves=Daun Pohon Rimba +Jungle Tree Sapling=Anak Pohon Rimba +Emergent Jungle Tree Sapling=Anak Pohon Rimba Bertumbuh +Pine Tree=Pohon Pinus +Pine Wood Planks=Papan Kayu Pinus +Pine Needles=Daun Pinus +Pine Tree Sapling=Anak Pohon Pinus +Acacia Tree=Pohon Akasia +Acacia Wood Planks=Papan Kayu Akasia +Acacia Tree Leaves=Daun Akasia +Acacia Tree Sapling=Anak Pohon Akasia +Aspen Tree=Pohon Aspen +Aspen Wood Planks=Papan Kayu Aspen +Aspen Tree Leaves=Daun Aspen +Aspen Tree Sapling=Anak Pohon Aspen +Coal Ore=Bijih Batu Bara +Coal Block=Balok Batu Bara +Iron Ore=Bijih Besi +Steel Block=Balok Baja +Copper Ore=Bijih Tembaga +Copper Block=Balok Tembaga +Tin Ore=Bijih Timah +Tin Block=Balok Timah +Bronze Block=Balok Perunggu +Mese Ore=Bijih Mese +Mese Block=Balok Mese +Gold Ore=Bijih Emas +Gold Block=Balok Emas +Diamond Ore=Bijih Berlian +Diamond Block=Balok Berlian +Cactus=Kaktus +Large Cactus Seedling=Bibit Kaktus Besar +Papyrus=Papirus +Dry Shrub=Semak Kering +Jungle Grass=Rumput Rimba +Grass=Rumput +Savanna Grass=Rumput Sabana +Fern=Pakis +Marram Grass=Rumput Maram +Bush Stem=Batang Semak +Bush Leaves=Daun Semak +Bush Sapling=Anak Semak +Blueberry Bush Leaves with Berries=Daun Semak Blueberry Berbuah +Blueberry Bush Leaves=Daun Semak Blueberry +Blueberry Bush Sapling=Anak Semak Blueberry +Acacia Bush Stem=Batang Semak Akasia +Acacia Bush Leaves=Daun Semak Akasia +Acacia Bush Sapling=Bibit Semak Akasia +Pine Bush Stem=Batang Semak Pinus +Pine Bush Needles=Daun Semak Pinus +Pine Bush Sapling=Bibit Semak Pinus +Kelp=Kelp +Green Coral=Koral Hijau +Pink Coral=Koral Jambon +Cyan Coral=Koral Sian +Brown Coral=Koral Cokelat +Orange Coral=Koral Oranye +Coral Skeleton=Kerangka Koral +Water Source=Mata Air +Flowing Water=Aliran Air +River Water Source=Mata Air Sungai +Flowing River Water=Aliran Air Sungai +Lava Source=Sumber Lava +Flowing Lava=Aliran Lava +Empty Bookshelf=Rak Buku Kosong +Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku tertulis, @2 buku kosong) +Bookshelf=Rak Buku +Text too long=Teks terlalu panjang +"@1"="@1" +Wooden Sign=Penanda Kayu +Steel Sign=Penanda Baja +Wooden Ladder=Tangga Kayu +Steel Ladder=Tangga Baja +Apple Wood Fence=Pagar Kayu Apel +Acacia Wood Fence=Pagar Akasia +Jungle Wood Fence=Pagar Kayu Rimba +Pine Wood Fence=Pagar Pinus +Aspen Wood Fence=Pagar Aspen +Apple Wood Fence Rail=Rel Pagar Kayu Apel +Acacia Wood Fence Rail=Rel Pagar Akasia +Jungle Wood Fence Rail=Rel Pagar Kayu Rimba +Pine Wood Fence Rail=Rel Pagar Pinus +Aspen Wood Fence Rail=Rel Pagar Aspen +Glass=Kaca +Obsidian Glass=Kaca Obsidian +Brick Block=Balok Bata +Mese Lamp=Lampu Mese +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= +Cloud=Awan +Wooden Pickaxe=Gancu Kayu +Stone Pickaxe=Gancu Batu +Bronze Pickaxe=Gancu Perunggu +Steel Pickaxe=Gancu Baja +Mese Pickaxe=Gancu Mese +Diamond Pickaxe=Gancu Berlian +Wooden Shovel=Sekop Kayu +Stone Shovel=Sekop Batu +Bronze Shovel=Sekop Perunggu +Steel Shovel=Sekop Baja +Mese Shovel=Sekop Mese +Diamond Shovel=Sekop Berlian +Wooden Axe=Kapak Kayu +Stone Axe=Kapak Batu +Bronze Axe=Kapak Perunggu +Steel Axe=Kapak Baja +Mese Axe=Kapak Mese +Diamond Axe=Kapak Berlian +Wooden Sword=Pedang Kayu +Stone Sword=Pedang Batu +Bronze Sword=Pedang Perunggu +Steel Sword=Pedang Baja +Mese Sword=Pedang Mese +Diamond Sword=Pedang Berlian +Torch=Obor +@1 will intersect protection on growth.=@1 akan memotong perlindungan ketika tumbuh. + + +##### not used anymore ##### + +Mese Post Light=Lampu Taman Mese diff --git a/mods/default/locale/default.it.tr b/mods/default/locale/default.it.tr new file mode 100644 index 00000000..dcb5fd48 --- /dev/null +++ b/mods/default/locale/default.it.tr @@ -0,0 +1,223 @@ +# textdomain: default +Locked Chest=Baule chiuso a chiave +Locked Chest (owned by @1)=Baule chiuso a chiave (di proprietà di @1) +You do not own this chest.=Questo baule non ti appartiene. +a locked chest=un baule chiuso a chiave +Chest=Baule +Write= +Read= +Title:= +Contents:= +Save= +by @1= +Page @1 of @2= +"@1" by @2="@1" di @2 +Blueberries=Mirtilli +Book=Libro +Book with Text=Libro con testo +Bronze Ingot=Lingotto di bronzo +Clay Brick=Mattone d'argilla +Clay Lump=Grumo d'argilla +Coal Lump=Grumo di carbone +Copper Ingot=Lingotto di rame +Copper Lump=Grumo di rame +Diamond=Diamante +Flint=Selce +Gold Ingot=Lingotto d'oro +Gold Lump=Grumo d'oro +Iron Lump=Grumo di ferro +Mese Crystal=Cristallo di mese +Mese Crystal Fragment=Frammento di cristallo di mese +Obsidian Shard=Scheggia d'ossidiana +Paper=Carta +Steel Ingot=Lingotto d'acciaio +Stick=Bastone +Tin Ingot=Lingotto di stagno +Tin Lump=Grumo di stagno +Furnace is empty=La fornace è vuota +100% (output full)=100% (uscita piena) +@1%=@1% +Not cookable=Non cucinabile +Empty=Vuota +Furnace active=Fornace attiva +Furnace inactive=Fornace inattiva +(Item: @1; Fuel: @2)=(Oggetto: @1; Combustibile: @2) +Furnace=Fornace +Stone=Pietra +Cobblestone=Ciottoli +Stone Brick=Mattone di pietra +Stone Block=Blocco di pietra +Mossy Cobblestone=Ciottoli muschiosi +Desert Stone=Pietra del deserto +Desert Cobblestone=Ciottoli del deserto +Desert Stone Brick=Mattone di pietra del deserto +Desert Stone Block=Blocco di pietra del deserto +Sandstone=Arenaria +Sandstone Brick=Mattone d'arenaria +Sandstone Block=Blocco d'arenaria +Desert Sandstone=Arenaria del deserto +Desert Sandstone Brick=Mattone d'arenaria del deserto +Desert Sandstone Block=Blocco d'arenaria del deserto +Silver Sandstone=Arenaria argentata +Silver Sandstone Brick=Mattone d'arenaria argentata +Silver Sandstone Block=Blocco d'arenaria argentata +Obsidian=Ossidiana +Obsidian Brick=Mattone d'ossidiana +Obsidian Block=Blocco d'ossidiana +Dirt=Terra +Dirt with Grass=Terra con erba +Dirt with Grass and Footsteps=Terra con erba e impronte +Dirt with Savanna Grass= +Dirt with Snow=Terra con neve +Dirt with Rainforest Litter=Terra con detriti della foresta pluviale +Dirt with Coniferous Litter=Terra con detriti di conifera +Savanna Dirt= +Savanna Dirt with Savanna Grass= +Permafrost=Permafrost +Permafrost with Stones=Permafrost con pietra +Permafrost with Moss=Permafrost con muschio +Sand=Sabbia +Desert Sand=Sabbia del deserto +Silver Sand=Sabbia argentata +Gravel=Ghiaia +Clay=Argilla +Snow=Neve +Snow Block=Blocco di neve +Ice=Ghiaccio +Cave Ice=Ghiaccio di caverna +Apple Tree=Melo +Apple Wood Planks=Assi di melo +Apple Tree Sapling=Alberello di melo +Apple Tree Leaves=Foglie di melo +Apple=Mela +Apple Marker=Marcatore mela +Jungle Tree=Albero della giungla +Jungle Wood Planks=Assi di legno della giungla +Jungle Tree Leaves=Foglie di albero della giungla +Jungle Tree Sapling=Alberello della giungla +Emergent Jungle Tree Sapling=Alberello della giungla emergente +Pine Tree=Pino +Pine Wood Planks=Assi di legno di pino +Pine Needles=Aghi di pino +Pine Tree Sapling=Alberello di pino +Acacia Tree=Acacia +Acacia Wood Planks=Assi di legno d'acacia +Acacia Tree Leaves=Foglie d'acacia +Acacia Tree Sapling=Alberello d'acacia +Aspen Tree=Pioppo +Aspen Wood Planks=Assi di legno di pioppo +Aspen Tree Leaves=Foglie di pioppo +Aspen Tree Sapling=Alberello di pioppo +Coal Ore=Minerale di carbone +Coal Block=Blocco di carbone +Iron Ore=Minerale di ferro +Steel Block=Blocco d'acciaio +Copper Ore=Minerale di rame +Copper Block=Blocco di rame +Tin Ore=Minerale di stagno +Tin Block=Blocco di stagno +Bronze Block=Blocco di bronzo +Mese Ore=Minerale di mese +Mese Block=Blocco di mese +Gold Ore=Minerale d'oro +Gold Block=Blocco d'oro +Diamond Ore=Minerale di diamante +Diamond Block=Blocco di diamante +Cactus=Cactus +Large Cactus Seedling=Piantina di cactus grande +Papyrus=Papiro +Dry Shrub=Arbusto secco +Jungle Grass=Erba della giungla +Grass=Erba +Savanna Grass= +Fern=Felce +Marram Grass=Ammofila arenaria +Bush Stem=Fusto di cespuglio +Bush Leaves=Foglie di cespuglio +Bush Sapling=Alberello di cespuglio +Blueberry Bush Leaves with Berries=Foglie di cespuglio di mirtilli con bacche +Blueberry Bush Leaves=Foglie di cespuglio di mirtilli +Blueberry Bush Sapling=Alberello di cespuglio di mirtilli +Acacia Bush Stem=Fusto di cespuglio d'acacia +Acacia Bush Leaves=Foglie di cespuglio d'acacia +Acacia Bush Sapling=Alberello di cespuglio d'acacia +Pine Bush Stem=Fusto di cespuglio di pino +Pine Bush Needles=Aghi di cespuglio di pino +Pine Bush Sapling=Alberello di cespuglio di pino +Kelp=Alga +Green Coral=Corallo verde +Pink Coral=Corallo rosa +Cyan Coral=Corallo ciano +Brown Coral=Corallo marrone +Orange Coral=Corallo arancione +Coral Skeleton=Scheletro di corallo +Water Source=Fonte d'acqua +Flowing Water=Acqua corrente +River Water Source=Fonte d'acqua di fiume +Flowing River Water=Acqua corrente di fiume +Lava Source=Fonte di lava +Flowing Lava=Lava corrente +Empty Bookshelf=Libreria vuota +Bookshelf (@1 written, @2 empty books)=Libreria (@1 scritti, @2 vuoti) +Bookshelf=Libreria +Text too long=Testo troppo lungo +"@1"= +Wooden Sign=Cartello di legno +Steel Sign=Cartello d'acciaio +Wooden Ladder=Scala a pioli di legno +Steel Ladder=Scala a pioli d'acciaio +Apple Wood Fence=Recinzione di legno di melo +Acacia Wood Fence=Recinzione di legno d'acacia +Jungle Wood Fence=Recinzione di legno della giungla +Pine Wood Fence=Recinzione di legno di pino +Aspen Wood Fence=Recinzione di legno di pioppo +Apple Wood Fence Rail=Ringhiera della recinzione di legno di melo +Acacia Wood Fence Rail=Ringhiera della recinzione di legno d'acacia +Jungle Wood Fence Rail=Ringhiera della recinzione di legno della giungla +Pine Wood Fence Rail=Ringhiera della recinzione di legno di pino +Aspen Wood Fence Rail=Ringhiera della recinzione di legno di pioppo +Glass=Vetro +Obsidian Glass=Vetro d'ossidiana +Brick Block=Blocco di mattone +Mese Lamp=Lampada di mese +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= +Cloud=Nuvola +Wooden Pickaxe=Piccone di legno +Stone Pickaxe=Piccone di pietra +Bronze Pickaxe=Piccone di bronzo +Steel Pickaxe=Piccone d'acciaio +Mese Pickaxe=Piccone di mese +Diamond Pickaxe=Piccone di diamante +Wooden Shovel=Pala di legno +Stone Shovel=Pala di pietra +Bronze Shovel=Pala di bronzo +Steel Shovel=Pala d'acciaio +Mese Shovel=Pala di mese +Diamond Shovel=Pala di diamante +Wooden Axe=Ascia di legno +Stone Axe=Ascia di pietra +Bronze Axe=Ascia di bronzo +Steel Axe=Ascia d'acciaio +Mese Axe=Ascia di mese +Diamond Axe=Ascia di diamante +Wooden Sword=Spada di legno +Stone Sword=Spada di pietra +Bronze Sword=Spada di bronzo +Steel Sword=Spada d'acciaio +Mese Sword=Spada di mese +Diamond Sword=Spada di diamante +Torch=Torcia +@1 will intersect protection on growth.=@1 crescendo attraverserà la protezione. + + +##### not used anymore ##### + +Dirt with Dry Grass=Terra con erba secca +Dry Dirt=Terra asciutta +Dry Dirt with Dry Grass=Terra asciutta con erba secca +Dry Grass=Erba secca +Mese Post Light=Lampioncino di mese diff --git a/mods/default/locale/default.ja.tr b/mods/default/locale/default.ja.tr new file mode 100644 index 00000000..07443c74 --- /dev/null +++ b/mods/default/locale/default.ja.tr @@ -0,0 +1,217 @@ +# textdomain: default +Locked Chest=鍵のかかったチェスト +Locked Chest (owned by @1)=鍵のかかったチェスト(@1所有) +You do not own this chest.=あなたはこのチェストの所有者ではありません。 +a locked chest=ロックされたチェスト +Chest=チェスト +Write= +Read= +Title:=題名 +Contents:=内容 +Save=保存 +by @1=@1著 +Page @1 of @2=@1 / @2 ページ +"@1" by @2=@2著「@1」 +Skeleton Key=スケルトンの鍵 +Key to @1's @2=@1の@2への鍵 +Blueberries=ブルーベリー +Book=本 +Book with Text=テキストが書かれた本 +Bronze Ingot=青銅インゴット +Clay Brick=粘土レンガ +Clay Lump=粘土の塊 +Coal Lump=石炭 +Copper Ingot=銅インゴット +Copper Lump=銅の塊 +Diamond=ダイヤモンド +Flint=火打ち石 +Gold Ingot=金インゴット +Gold Lump=金の塊 +Iron Lump=鉄の塊 +Mese Crystal=メセクリスタル +Mese Crystal Fragment=メセクリスタルの破片 +Obsidian Shard=黒曜石の破片 +Paper=紙 +Steel Ingot=鉄インゴット +Stick=棒 +Tin Ingot=スズインゴット +Tin Lump=スズの塊 +Furnace is empty=かまどは空です +100% (output full)=100%(フル出力) +@1%=@1% +Not cookable=調理できません +Empty=空 +Furnace active=かまどは燃えてます +Furnace inactive=かまどは消えています +(Item: @1; Fuel: @2)=(アイテム: @1; 燃料: @2) +Furnace=かまど +Stone=石 +Cobblestone=丸石 +Stone Brick=石レンガ +Stone Block=石ブロック +Mossy Cobblestone=苔むした丸石 +Desert Stone=砂漠の石 +Desert Cobblestone=砂漠の丸石 +Desert Stone Brick=砂漠の石レンガ +Desert Stone Block=砂漠の石ブロック +Sandstone=砂岩 +Sandstone Brick=砂岩レンガ +Sandstone Block=砂岩ブロック +Desert Sandstone=砂漠の砂岩 +Desert Sandstone Brick=砂漠の砂岩レンガ +Desert Sandstone Block=砂漠の砂岩ブロック +Silver Sandstone=銀の砂岩 +Silver Sandstone Brick=銀の砂岩レンガ +Silver Sandstone Block=銀の砂岩ブロック +Obsidian=黒曜石 +Obsidian Brick=黒曜石レンガ +Obsidian Block=黒曜石ブロック +Dirt=土 +Dirt with Grass=草のついた土 +Dirt with Grass and Footsteps=足あとと草のついた土 +Dirt with Savanna Grass=サバンナの草のついた土 +Dirt with Snow=雪のついた土 +Dirt with Rainforest Litter=熱帯雨林のよごれた土 +Dirt with Coniferous Litter=針葉樹のよごれた土 +Savanna Dirt=サバンナの土 +Savanna Dirt with Savanna Grass=サバンナの草のついたサバンナの土 +Permafrost=永久凍土 +Permafrost with Stones=石のついた永久凍土 +Permafrost with Moss=苔のついた永久凍土 +Sand=砂 +Desert Sand=砂漠の砂 +Silver Sand=銀の砂 +Gravel=砂利 +Clay=粘土 +Snow=雪 +Snow Block=雪ブロック +Ice=氷 +Cave Ice=洞窟の氷 +Apple Tree=リンゴの木 +Apple Wood Planks=リンゴの板材 +Apple Tree Sapling=リンゴの苗木 +Apple Tree Leaves=リンゴの葉 +Apple=リンゴ +Apple Marker=リンゴのマーカー +Jungle Tree=ジャングルの木 +Jungle Wood Planks=ジャングルの板材 +Jungle Tree Leaves=ジャングルの木の葉 +Jungle Tree Sapling=ジャングルの木の苗木 +Emergent Jungle Tree Sapling=新芽のジャングルの木の苗木 +Pine Tree=マツの木 +Pine Wood Planks=マツの板材 +Pine Needles=マツの葉 +Pine Tree Sapling=マツの苗木 +Acacia Tree=アカシアの木 +Acacia Wood Planks=アカシアの板材 +Acacia Tree Leaves=アカシアの葉 +Acacia Tree Sapling=アカシアの苗木 +Aspen Tree=ポプラの木 +Aspen Wood Planks=ポプラの板材 +Aspen Tree Leaves=ポプラの葉 +Aspen Tree Sapling=ポプラの苗木 +Coal Ore=石炭鉱石 +Coal Block=石炭ブロック +Iron Ore=鉄の鉱石 +Steel Block=鉄ブロック +Copper Ore=銅の鉱石 +Copper Block=銅ブロック +Tin Ore=スズの鉱石 +Tin Block=スズブロック +Bronze Block=青銅ブロック +Mese Ore=メセ鉱石 +Mese Block=メセブロック +Gold Ore=金の鉱石 +Gold Block=金ブロック +Diamond Ore=ダイヤモンドの鉱石 +Diamond Block=ダイヤモンドブロック +Cactus=サボテン +Large Cactus Seedling=大きなサボテンの苗 +Papyrus=パピルス +Dry Shrub=枯れた低木 +Jungle Grass=ジャングルの草 +Grass=草 +Savanna Grass=サバンナの草 +Fern=シダ +Marram Grass=マラムの草 +Bush Stem=低木の幹 +Bush Leaves=低木の葉 +Bush Sapling=低木の苗木 +Blueberry Bush Leaves with Berries=ブルーベリーの低木と実 +Blueberry Bush Leaves=ブルーベリーの低木の葉 +Blueberry Bush Sapling=ブルーベリーの低木の苗木 +Acacia Bush Stem=アカシアの低木の幹 +Acacia Bush Leaves=アカシアの低木の葉 +Acacia Bush Sapling=アカシアの低木の苗木 +Pine Bush Stem=マツの低木の幹 +Pine Bush Needles=マツの低木の葉 +Pine Bush Sapling=マツの低木の苗木 +Kelp=コンブ +Green Coral=緑色のサンゴ +Pink Coral=桃色のサンゴ +Cyan Coral=青緑色のサンゴ +Brown Coral=茶色のサンゴ +Orange Coral=橙色のサンゴ +Coral Skeleton=サンゴのしがい +Water Source=水源 +Flowing Water=水流 +River Water Source=川の水源 +Flowing River Water=川の水流 +Lava Source=溶岩 +Flowing Lava=流れる溶岩 +Empty Bookshelf=空の本棚 +Bookshelf (@1 written, @2 empty books)=本棚(記述済み @1 冊, 未記述 @2 冊) +Bookshelf=本棚 +Text too long=テキストが長すぎます +"@1"=「@1」 +Wooden Sign=木の看板 +Steel Sign=鉄の看板 +Wooden Ladder=木のはしご +Steel Ladder=鉄のはしご +Apple Wood Fence=リンゴのフェンス +Acacia Wood Fence=アカシアのフェンス +Jungle Wood Fence=ジャングルのフェンス +Pine Wood Fence=マツのフェンス +Aspen Wood Fence=ポプラのフェンス +Apple Wood Fence Rail=リンゴのフェンスレール +Acacia Wood Fence Rail=アカシアのフェンスレール +Jungle Wood Fence Rail=ジャングルのフェンスレール +Pine Wood Fence Rail=マツのフェンスレール +Aspen Wood Fence Rail=ポプラのフェンスレール +Glass=ガラス +Obsidian Glass=黒曜石のガラス +Brick Block=レンガブロック +Mese Lamp=メセの塊 +Apple Wood Mese Post Light=リンゴのメセ灯柱 +Acacia Wood Mese Post Light=アカシアのメセ灯柱 +Jungle Wood Mese Post Light=ジャングルのメセ灯柱 +Pine Wood Mese Post Light=マツのメセ灯柱 +Aspen Wood Mese Post Light=ポプラのメセ灯柱 +Cloud=雲 +Wooden Pickaxe=木のつるはし +Stone Pickaxe=石のつるはし +Bronze Pickaxe=青銅のつるはし +Steel Pickaxe=鉄のつるはし +Mese Pickaxe=メセのつるはし +Diamond Pickaxe=ダイヤモンドのつるはし +Wooden Shovel=木のシャベル +Stone Shovel=石のシャベル +Bronze Shovel=青銅のシャベル +Steel Shovel=鉄のシャベル +Mese Shovel=メセのシャベル +Diamond Shovel=ダイヤモンドのシャベル +Wooden Axe=木の斧 +Stone Axe=石の斧 +Bronze Axe=青銅の斧 +Steel Axe=鉄の斧 +Mese Axe=メセの斧 +Diamond Axe=ダイヤモンドの斧 +Wooden Sword=木の剣 +Stone Sword=石の剣 +Bronze Sword=青銅の剣 +Steel Sword=鉄の剣 +Mese Sword=メセの剣 +Diamond Sword=ダイヤモンドの剣 +Key=鍵 +Torch=松明 +@1 will intersect protection on growth.=@1は成長するとき保護と交差します。 diff --git a/mods/default/locale/default.jbo.tr b/mods/default/locale/default.jbo.tr new file mode 100644 index 00000000..22954d3c --- /dev/null +++ b/mods/default/locale/default.jbo.tr @@ -0,0 +1,214 @@ +# textdomain: default +Locked Chest=lo selstela gairvau +Locked Chest (owned by @1)=.i ti selstela gairvau po la'o zo'i.@1.zo'i +You do not own this chest.=.i do na ponse lo ti gairvau +a locked chest=lo selstela gairvau +Chest=lo gairvau +Write= +Read= +Title:=cmene +Contents:=se cukta +Save=rejgau +by @1=la'o zo'i.@1.zo'i te cukta +Page @1 of @2=meirmoi fe li @1 li @2 le'i papri +"@1" by @2=lo cukta be la'o gy.@1.gy. bei la'o zo'i.@2.zo'i +Blueberries=lo blajba +Book=lo cukta +Book with Text=lo cukta joi selci'a +Bronze Ingot=lo ransu manfybli +Clay Brick=lo kitybli +Clay Lump=lo kliti bakfu +Coal Lump=lo kolme bakfu +Copper Ingot=lo tunka manfybli +Copper Lump=lo tunka bakfu +Diamond=lo tabjme +Flint=lo fagyro'i +Gold Ingot=lo solji manfybli +Gold Lump=lo solji bakfu +Iron Lump=lo tirse bakfu +Mese Crystal=lo za'e krilrmese +Mese Crystal Fragment=lo za'e krilrmese spisa +Obsidian Shard=lo je'erma'ablaci spisa +Paper=lo pelji +Steel Ingot=lo gasta manfybli +Stick=lo grana +Tin Ingot=lo tinci manfybli +Tin Lump=lo tinci bakfu +Furnace is empty=.i lo toknu cu kunti +100% (output full)=100 ce'i to lo se zbasu cu culno toi +@1%=@1 ce'i +Not cookable=na kakne le ka se jukpa +Empty=ti kunti +Furnace active=.i lo toknu cu tolcando +Furnace inactive=.i lo toknu cu cando +(Item: @1; Fuel: @2)=to jukpa @1 @2 +Furnace=lo toknu +Stone=lo rokci +Cobblestone=lo lolro'iboi +Stone Brick=lo morna rokci +Stone Block=lo rokci bliku +Mossy Cobblestone=lo clika lolro'iboi +Desert Stone=lo cantu'a rokci +Desert Cobblestone=lo cantu'a lolro'iboi +Desert Stone Brick=lo morna ke cantu'a rokci +Desert Stone Block=lo cantu'a rokci bliku +Sandstone=lo canro'i +Sandstone Brick=lo morna canro'i +Sandstone Block=lo canro'i bliku +Desert Sandstone=lo cantu'a canro'i +Desert Sandstone Brick=lo morna ke cantu'a canro'i +Desert Sandstone Block=lo cantu'a canro'i bliku +Silver Sandstone=lo rijyska sanro'i +Silver Sandstone Brick=lo morna ke rijyska canro'i +Silver Sandstone Block=lo rijyska canro'i bliku +Obsidian=lo je'erma'ablaci +Obsidian Brick=lo morna je'erma'ablaci +Obsidian Block=lo je'erma'ablaci bliku +Dirt=lo dertu +Dirt with Grass=lo dertu joi srasu +Dirt with Grass and Footsteps=lo dertu joi srasu jebo stapa bo prina +Dirt with Savanna Grass=lo dertu joi sudytu'a bo srasu +Dirt with Snow=lo dertu joi snime +Dirt with Rainforest Litter=lo dertu joi glatimdemricfoi bo festi +Dirt with Coniferous Litter=lo dertu joi ckunu bo festi +Savanna Dirt=lo sudytu'a dertu +Savanna Dirt with Savanna Grass=lo sudysu'a bo dertu joi sudytu'a bo srasu +Permafrost=le bislunsa dertu +Permafrost with Stones=le bislunsa bo dertu joi rokci +Permafrost with Moss=le bislunsa bo dertu joi clika +Sand=lo canre +Desert Sand=lo cantu'a canre +Silver Sand=lo rijyska canre +Gravel=lo cmaro'i +Clay=lo kliti +Snow=lo snime +Snow Block=lo snime bliku +Ice=lo bisli +Cave Ice=lo kevzda bisli +Apple Tree=lo plisytricu ricystani +Apple Wood Planks=lo plise mudri tanbo +Apple Tree Sapling=lo plisytricu ciftricu +Apple Tree Leaves=lo plisytricu pezli +Apple=lo plise +Apple Marker=lo plise barna +Jungle Tree=lo glatimdemricfoi ricystani +Jungle Wood Planks=lo glatimdemricfoi mudri tanbo +Jungle Tree Leaves=lo glatimdemricfoi pezli +Jungle Tree Sapling=lo glatimdemricfoi ciftricu +Emergent Jungle Tree Sapling=lo barda ke glatimdemricfoi ciftricu +Pine Tree=lo ckunu ricystani +Pine Wood Planks=lo ckunu mudri tanbo +Pine Needles=lo ckunu jezpezli +Pine Tree Sapling=lo ckunu ciftricu +Acacia Tree=lo atkaci,ia ricystani +Acacia Wood Planks=lo atkaci,ia mudri tanbo +Acacia Tree Leaves=lo atkaci,ia pezli +Acacia Tree Sapling=lo atkaci,ia ciftricu +Aspen Tree=lo ricrpopulu ricystani +Aspen Wood Planks=lo mudrpopulu tanbo +Aspen Tree Leaves=lo ricrpopulu pezli +Aspen Tree Sapling=lo ricrpopulu ciftricu +Coal Ore=lo kolme kunra +Coal Block=lo kolme bliku +Iron Ore=lo tirse kunra +Steel Block=lo gasta bliku +Copper Ore=lo tunka kunra +Copper Block=lo tunka bliku +Tin Ore=lo tinci kunra +Tin Block=lo tinci bliku +Bronze Block=lo ransu bliku +Mese Ore=lo za'e kunrmese +Mese Block=lo za'e blikrmese +Gold Ore=lo solji kunra +Gold Block=lo solji bliku +Diamond Ore=lo tabjme kunra +Diamond Block=lo tabjme bliku +Cactus=lo jesyspa +Large Cactus Seedling=lo barda ke jesyspa tsiju +Papyrus=lo misryplespa +Dry Shrub=lo sudga dzitricu +Jungle Grass=lo glatimdemricfoi srasu +Grass=lo srasu +Savanna Grass=lo sudytu'a srasu +Fern=lo filcina +Marram Grass=lo xaskoi srasu +Bush Stem=lo dzitricu stani +Bush Leaves=lo dzitricu pezli +Bush Sapling=lo dzitricu ciftricu +Blueberry Bush Leaves with Berries=lo ke blajba dzitricu pezli ke'e joi jbari +Blueberry Bush Leaves=lo blajba dzitricu pezli +Blueberry Bush Sapling=lo blajba dzitrcu ciftricu +Acacia Bush Stem=lo atkaci,ia dzitricu stani +Acacia Bush Leaves=lo atkaci,ia dzitricu pezli +Acacia Bush Sapling=lo atkaci,ia dzitricu ciftricu +Pine Bush Stem=lo ckunu dzitricu stani +Pine Bush Needles=lo ckunu dzitricu jezpezli +Pine Bush Sapling=lo ckunu dzitricu ciftricu +Kelp=lo vraike +Green Coral=lo crino pevypanje +Pink Coral=lo xunblabi pevypanje +Cyan Coral=lo cicna pevypanje +Brown Coral=lo bunre pevypanje +Orange Coral=lo narju pevypanje +Coral Skeleton=lo pevypanje greku +Water Source=lo djacu velflecu +Flowing Water=lo flecu djacu +River Water Source=lo rirxe djacu velflecu +Flowing River Water=lo flecu ke rirxe djacu +Lava Source=lo likro'i velflecu +Flowing Lava=lo flecu likro'i +Empty Bookshelf=.i ti kunti ckukajna +Bookshelf (@1 written, @2 empty books)=.i ti ckukajna to @1 cukta joi selci'a .ije @2 kunti cukta toi +Bookshelf=lo ckukajna +Text too long=.i lo lerpoi cu dukse lo ka clani +"@1"=zoi sy.@1.sy. +Wooden Sign=lo mudri sinxa +Steel Sign=lo gasta sinxa +Wooden Ladder=lo mudri rajyserti +Steel Ladder=lo gasta rajyserti +Apple Wood Fence=lo plise mudri garbi'u +Acacia Wood Fence=lo atkaci,ia mudri garbi'u +Jungle Wood Fence=lo glatimdemricfoi mudri garbi'u +Pine Wood Fence=lo ckunu mudri garbi'u +Aspen Wood Fence=lo mudrpopulu garbi'u +Apple Wood Fence Rail=lo plise mudri garbi'u garna +Acacia Wood Fence Rail=lo atkaci,ia mudri garbi'u garna +Jungle Wood Fence Rail=lo glatimdemricfoi mudri garbi'u garna +Pine Wood Fence Rail=lo ckunu mudri garbi'u garna +Aspen Wood Fence Rail=lo mudrpopulu garbi'u garna +Glass=lo blaci +Obsidian Glass=lo je'erma'ablaci blaci +Brick Block=lo kitybli bliku +Mese Lamp=lo za'e kunrmese tergu'i +Apple Wood Mese Post Light=lo plise mudri za'e kunrmese ke kamju tergu'i +Acacia Wood Mese Post Light=lo atkaci,ia mudri za'e kunrmese ke kamju tergu'i +Jungle Wood Mese Post Light=lo glatimdemricfoi mudri za'e kunrmese ke kamju tergu'i +Pine Wood Mese Post Light=lo ckunu mudri za'e kunrmese ke kamju tergu'i +Aspen Wood Mese Post Light=lo mudrpopulu za'e kunrmese ke kamju tergu'i +Cloud=lo dilnu +Wooden Pickaxe=lo mudri velkakpymru +Stone Pickaxe=lo rokci velkakpymru +Bronze Pickaxe=lo ransu velkakpymru +Steel Pickaxe=lo gasta velkakpymru +Mese Pickaxe=lo za'e kunrmese velkakpymru +Diamond Pickaxe=lo tabjme velkakpymru +Wooden Shovel=lo mudri canpa +Stone Shovel=lo rokci canpa +Bronze Shovel=lo ransu canpa +Steel Shovel=lo gasta canpa +Mese Shovel=lo za'e kunrmese canpa +Diamond Shovel=lo tabjme canpa +Wooden Axe=lo mudri ka'amru +Stone Axe=lo rokci ka'amru +Bronze Axe=lo ransu ka'amru +Steel Axe=lo gasta ka'amru +Mese Axe=lo za'e kunrmese ka'amru +Diamond Axe=lo tabjme ka'amru +Wooden Sword=lo mudri cladakyxa'i +Stone Sword=lo rokci cladakyxa'i +Bronze Sword=lo ransu cladakyxa'i +Steel Sword=lo gasta cladakyxa'i +Mese Sword=lo za'e kunrmese cladakyxa'i +Diamond Sword=lo tabjme cladakyxa'i +Torch=lo fagytergu'i +@1 will intersect protection on growth.=.i @1 cu ba kruca lo bandu ca lo nu banro diff --git a/mods/default/locale/default.ms.tr b/mods/default/locale/default.ms.tr new file mode 100644 index 00000000..cb0f4d21 --- /dev/null +++ b/mods/default/locale/default.ms.tr @@ -0,0 +1,223 @@ +# textdomain: default +Locked Chest=Peti Berkunci +Locked Chest (owned by @1)=Peti Berkunci (milik @1) +You do not own this chest.=Ini bukan peti milik anda. +a locked chest=peti berkunci +Chest=Peti +Write= +Read= +Title:=Tajuk: +Contents:=Kandungan: +Save=Simpan +by @1=oleh @1 +Page @1 of @2=Ms. @1 / @2 +"@1" by @2="@1" oleh @2 +Blueberries=Beri Biru +Book=Buku +Book with Text=Buku Bertulisan +Bronze Ingot=Jongkong Gangsa +Clay Brick=Bata Tanah Liat +Clay Lump=Longgokan Tanah Liat +Coal Lump=Longgokan Batu Arang +Copper Ingot=Jongkong Tembaga +Copper Lump=Longgokan Tembaga +Diamond=Berlian +Flint=Batu Api +Gold Ingot=Jongkong Emas +Gold Lump=Longgokan Emas +Iron Lump=Longgokan Besi +Mese Crystal=Kristal Mese +Mese Crystal Fragment=Serpihan Mese +Obsidian Shard=Serpihan Obsidia +Paper=Kertas +Steel Ingot=Jongkong Keluli +Stick=Serpihan Kayu +Tin Ingot=Jongkong Timah +Tin Lump=Longgokan Timah +Furnace is empty=Relau masih kosong +100% (output full)=100% (keluaran penuh) +@1%=@1% +Not cookable=Tidak boleh dimasak +Empty=Kosong +Furnace active=Relau aktif +Furnace inactive=Relau tidak aktif +(Item: @1; Fuel: @2)=(Item: @1; Bahan api: @2) +Furnace=Relau +Stone=Batu +Cobblestone=Batu Buntar +Stone Brick=Bata Batu +Stone Block=Bongkah Batu +Mossy Cobblestone=Batu Buntar Berlumut +Desert Stone=Batu Gurun +Desert Cobblestone=Batu Buntar Gurun +Desert Stone Brick=Bata Batu Gurun +Desert Stone Block=Bongkah Batu Gurun +Sandstone=Batu Pasir +Sandstone Brick=Bata Batu Pasir +Sandstone Block=Bongkah Batu Pasir +Desert Sandstone=Batu Pasir Gurun +Desert Sandstone Brick=Bata Batu Pasir Gurun +Desert Sandstone Block=Bongkah Batu Pasir Gurun +Silver Sandstone=Batu Pasir Perak +Silver Sandstone Brick=Bata Batu Pasir Perak +Silver Sandstone Block=Bongkah Batu Pasir Perak +Obsidian=Obsidia +Obsidian Brick=Bata Obsidia +Obsidian Block=Bongkah Obsidia +Dirt=Tanah +Dirt with Grass=Tanah Berumput +Dirt with Grass and Footsteps=Tanah Berumput dan Tapak Kaki +Dirt with Savanna Grass= +Dirt with Snow=Tanah Bersalji +Dirt with Rainforest Litter=Tanah Bersarap Hutan Hujan +Dirt with Coniferous Litter=Tanah Bersarap Hutan Konifer +Savanna Dirt= +Savanna Dirt with Savanna Grass= +Permafrost=Ibun Abadi +Permafrost with Stones=Ibun Abadi Berbatu +Permafrost with Moss=Ibun Abadi Berlumut +Sand=Pasir +Desert Sand=Pasir Gurun +Silver Sand=Pasir Perak +Gravel=Kelikir +Clay=Tanah Liat +Snow=Salji +Snow Block=Bongkah Salji +Ice=Ais +Cave Ice=Ais Gua +Apple Tree=Kayu Pokok Epal +Apple Wood Planks=Papan Kayu Epal +Apple Tree Sapling=Anak Pokok Epal +Apple Tree Leaves=Daun Pokok Epal +Apple=Epal +Apple Marker=Penanda Epal +Jungle Tree=Kayu Pokok Hutan +Jungle Wood Planks=Papan Kayu Hutan +Jungle Tree Leaves=Daun Pokok Hutan +Jungle Tree Sapling=Anak Pokok Hutan +Emergent Jungle Tree Sapling=Anak Pokok Hutan Kembang +Pine Tree=Kayu Pokok Pain +Pine Wood Planks=Papan Kayu Pain +Pine Needles=Daun Pokok Pain +Pine Tree Sapling=Anak Pokok Pain +Acacia Tree=Kayu Pokok Akasia +Acacia Wood Planks=Papan Kayu Akasia +Acacia Tree Leaves=Daun Pokok Akasia +Acacia Tree Sapling=Anak Pokok Akasia +Aspen Tree=Kayu Pokok Aspen +Aspen Wood Planks=Papan Kayu Aspen +Aspen Tree Leaves=Daun Pokok Aspen +Aspen Tree Sapling=Anak Pokok Aspen +Coal Ore=Bijih Batu Arang +Coal Block=Bongkah Batu Arang +Iron Ore=Bijih Besi +Steel Block=Bongkah Keluli +Copper Ore=Bijih Tembaga +Copper Block=Bongkah Tembaga +Tin Ore=Bijih Timah +Tin Block=Bongkah Timah +Bronze Block=Bongkah Gangsa +Mese Ore=Bijih Mese +Mese Block=Bongkah Mese +Gold Ore=Bijih Emas +Gold Block=Bongkah Emas +Diamond Ore=Bijih Intan +Diamond Block=Bongkah Intan +Cactus=Kaktus +Large Cactus Seedling=Benih Kaktus Besar +Papyrus=Papirus +Dry Shrub=Pokok Renek Kering +Jungle Grass=Rumput Hutan +Grass=Rumput +Savanna Grass= +Fern=Paku Pakis +Marram Grass=Rumput Maram +Bush Stem=Batang Belukar +Bush Leaves=Daun Belukar +Bush Sapling=Anak Belukar +Blueberry Bush Leaves with Berries=Daun Belukar Beri Biru Berberi +Blueberry Bush Leaves=Daun Belukar Beri Biru +Blueberry Bush Sapling=Anak Belukar Beri Biru +Acacia Bush Stem=Batang Belukar Akasia +Acacia Bush Leaves=Daun Belukar Akasia +Acacia Bush Sapling=Anak Belukar Akasia +Pine Bush Stem=Batang Belukar Pain +Pine Bush Needles=Daun Belukar Pain +Pine Bush Sapling=Anak Belukar Pain +Kelp=Kelpa +Green Coral=Batu Karang Hijau +Pink Coral=Batu Karang Merah Jambu +Cyan Coral=Batu Karang Biru Kehijauan +Brown Coral=Batu Karang Perang +Orange Coral=Batu Karang Jingga +Coral Skeleton= Rangka Karang +Water Source=Sumber Air +Flowing Water=Air Mengalir +River Water Source=Sumber Air Sungai +Flowing River Water=Air Sungai Mengalir +Lava Source=Sumber Lava +Flowing Lava=Lava Mengalir +Empty Bookshelf=Rak Buku Kosong +Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku bertulis, @2 buku kosong) +Bookshelf=Rak Buku +Text too long=Tulisan terlalu panjang +"@1"="@1" +Wooden Sign=Papan Tanda Kayu +Steel Sign=Papan Tanda Keluli +Wooden Ladder=Tangga Panjat Kayu +Steel Ladder=Tangga Panjat Keluli +Apple Wood Fence=Pagar Kayu Epal +Acacia Wood Fence=Pagar Kayu Akasia +Jungle Wood Fence=Pagar Kayu Hutan +Pine Wood Fence=Pagar Kayu Pain +Aspen Wood Fence=Pagar Kayu Aspen +Apple Wood Fence Rail=Pagar Rel Kayu Epal +Acacia Wood Fence Rail=Pagar Rel Kayu Akasia +Jungle Wood Fence Rail=Pagar Rel Kayu Hutan +Pine Wood Fence Rail=Pagar Rel Kayu Pain +Aspen Wood Fence Rail=Pagar Rel Kayu Aspen +Glass=Kaca +Obsidian Glass=Kaca Obsidia +Brick Block=Bongkah Bata +Mese Lamp=Lampu Mese +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= +Cloud=Awan +Wooden Pickaxe=Beliung Kayu +Stone Pickaxe=Beliung Batu +Bronze Pickaxe=Beliung Gangsa +Steel Pickaxe=Beliung Keluli +Mese Pickaxe=Beliung Mese +Diamond Pickaxe=Beliung Intan +Wooden Shovel=Penyodok Kayu +Stone Shovel=Penyodok Batu +Bronze Shovel=Penyodok Gangsa +Steel Shovel=Penyodok Keluli +Mese Shovel=Penyodok Mese +Diamond Shovel=Penyodok Intan +Wooden Axe=Kapak Kayu +Stone Axe=Kapak Batu +Bronze Axe=Kapak Gangsa +Steel Axe=Kapak Keluli +Mese Axe=Kapak Mese +Diamond Axe=Kapak Intan +Wooden Sword=Pedang Kayu +Stone Sword=Pedang Batu +Bronze Sword=Pedang Gangsa +Steel Sword=Pedang Keluli +Mese Sword=Pedang Mese +Diamond Sword=Pedang Intan +Torch=Obor +@1 will intersect protection on growth.=@1 akan masuk kawasan perlindungan lain apabila ia tumbuh. + + +##### not used anymore ##### + +Dirt with Dry Grass=Tanah Berumput Kering +Dry Dirt=Tanah Kering +Dry Dirt with Dry Grass=Tanah Kering Berumput Kering +Dry Grass=Rumput Kering +Mese Post Light=Lampu Tiang Mese diff --git a/mods/default/locale/default.pt_BR.tr b/mods/default/locale/default.pt_BR.tr new file mode 100644 index 00000000..1c2049fd --- /dev/null +++ b/mods/default/locale/default.pt_BR.tr @@ -0,0 +1,214 @@ +# textdomain: default +Locked Chest=Baú Trancado +Locked Chest (owned by @1)=Baú Trancado (pertence a @1) +You do not own this chest.=Você não é dono deste baú. +a locked chest=um baú trancado +Chest=Baú +Write= +Read= +Title:=Título: +Contents:=Conteúdo: +Save=Salvar +by @1=por @1 +Page @1 of @2=Página @1 de @2 +"@1" by @2="@1" por @2 +Blueberries=Mirtilo +Book=Livro +Book with Text=Livro com Texto +Bronze Ingot=Lingote de Bronze +Clay Brick=Tijolo de Argila +Clay Lump=Pedaço de Argila +Coal Lump=Pedaço de Carvão +Copper Ingot=Lingote de Cobre +Copper Lump=Pedaço de Cobre +Diamond=Diamante +Flint=Sílex (Flint) +Gold Ingot=Lingote de Ouro +Gold Lump=Pedaço de Ouro +Iron Lump=Pedaço de Ferro +Mese Crystal=Cristal de Mese +Mese Crystal Fragment=Fragmento de Cristal de Mese +Obsidian Shard=Caco de Obsidian +Paper=Papel +Steel Ingot=Lingote de Aço +Stick=Graveto +Tin Ingot=Lingote de Estanho +Tin Lump=Pedaço de Estanho +Furnace is empty=A fornalha está vazia +100% (output full)=100% (saída cheia) +@1%=@1% +Not cookable=Não pode cozinhar +Empty=Vazio +Furnace active=Fornalha ativa +Furnace inactive=Fornalha inativa +(Item: @1; Fuel: @2)=(Item: @1; Combustível: @2) +Furnace=Fornalha +Stone=Pedra +Cobblestone=Pedregulho +Stone Brick=Tijolo de Pedra +Stone Block=Bloco de Pedra +Mossy Cobblestone=Pedregulho Musgoso +Desert Stone=Pedra do Deserto +Desert Cobblestone=Pedregulho do Deserto +Desert Stone Brick=Tijolo de Pedra do Deserto +Desert Stone Block=Bloco de Pedra do Deserto +Sandstone=Arenito +Sandstone Brick=Tijolo de Arenito +Sandstone Block=Bloco de Arenito +Desert Sandstone=Bloco de Arenito do Deserto +Desert Sandstone Brick=Tijolo de Arenito do Deserto +Desert Sandstone Block=Bloco de Arenito do Deserto +Silver Sandstone=Arenito Prateado +Silver Sandstone Brick=Tijolo de Arenito Prateado +Silver Sandstone Block=Bloco de Arenito Prateado +Obsidian=Obsidiana +Obsidian Brick=Tijolo de Obsidiana +Obsidian Block=Bloco de Obsidiana +Dirt=Terra +Dirt with Grass=Terra com Grama +Dirt with Grass and Footsteps=Terra com Grama e Pegadas +Dirt with Savanna Grass=Terra com Grama da Savana +Dirt with Snow=Terra com Neve +Dirt with Rainforest Litter=Terra com Serrapilheira Tropical +Dirt with Coniferous Litter=Terra com Serrapilheira +Savanna Dirt=Terra da Savana +Savanna Dirt with Savanna Grass=Terra da Savana com Grama da Savana +Permafrost=Terra Congelada +Permafrost with Stones=Terra Congelada com Pedras +Permafrost with Moss=Terra Congelada com Musgo +Sand=Areia +Desert Sand=Areia do Deserto +Silver Sand=Areia Prateada +Gravel=Cascalho +Clay=Argila +Snow=Neve +Snow Block=Bloco de Neve +Ice=Gelo +Cave Ice=Caverna de Gelo +Apple Tree=Macieira +Apple Wood Planks=Tábuas de Macieira +Apple Tree Sapling=Muda de Macieira +Apple Tree Leaves=Folhas de Macieira +Apple=Maçã +Apple Marker=Marcador de Maçã +Jungle Tree=Árvore da Selva +Jungle Wood Planks=Tábuas de Árvore da Selva +Jungle Tree Leaves=Folhas de Árvore da Selva +Jungle Tree Sapling=Muda de Árvore da Selva +Emergent Jungle Tree Sapling=Muda Crescida de Árvore da Selva +Pine Tree=Pinheiro +Pine Wood Planks=Tábuas de Pinheiro +Pine Needles=Agulhas de Pinheiro +Pine Tree Sapling=Muda de Pinheiro +Acacia Tree=Acácia +Acacia Wood Planks=Tábuas de Acácia +Acacia Tree Leaves=Folhas de Acácia +Acacia Tree Sapling=Mudas de Acácia +Aspen Tree=Álamo +Aspen Wood Planks=Tábuas de Álamo +Aspen Tree Leaves=Folhas de Álamo +Aspen Tree Sapling=Muda de Álamo +Coal Ore=Minério de Carvão +Coal Block=Bloco de Carvão +Iron Ore=Minério de Ferro +Steel Block=Bloco de Aço +Copper Ore=Minério de Cobre +Copper Block=Bloco de Cobre +Tin Ore=Minério de Estanho +Tin Block=Bloco de Estanho +Bronze Block=Bloco de Bronze +Mese Ore=Minério de Mese +Mese Block=Bloco de Mese +Gold Ore=Minério de Ouro +Gold Block=Bloco de Ouro +Diamond Ore=Minério de Diamante +Diamond Block=Bloco de Diamante +Cactus=Cacto +Large Cactus Seedling=Grande Muda de Cacto +Papyrus=Papiro +Dry Shrub=Arbusto Seco +Jungle Grass=Grama da Selva +Grass=Grama +Savanna Grass=Grama da Savana +Fern=Samambaia +Marram Grass=Grama de Feno +Bush Stem=Caule de Arbusto +Bush Leaves=Folhas de Arbusto +Bush Sapling=Muda de Arbusto +Blueberry Bush Leaves with Berries=Folhas de Arbusto de Mirtilo com Bagas +Blueberry Bush Leaves=Folhas de Arbusto de Mirtilo +Blueberry Bush Sapling=Muda de Arbusto de Mirtilo +Acacia Bush Stem=Caule de Arbusto de Acácia +Acacia Bush Leaves=Folhas de Arbusto de Acácia +Acacia Bush Sapling=Muda de Arbusto de Acácia +Pine Bush Stem=Caule de Arbusto de Pinheiro +Pine Bush Needles=Agulha de Arbusto de Pinheiro +Pine Bush Sapling=Muda de Arbusto de Pinheiro +Kelp=Alga +Green Coral=Coral Verde +Pink Coral=Coral Rosa +Cyan Coral=Coral Ciano +Brown Coral=Coral Marrom +Orange Coral=Coral Laranja +Coral Skeleton=Esqueleto de Coral +Water Source=Fonte de Água +Flowing Water=Água Corrente +River Water Source=Fonte de Água do Rio +Flowing River Water=Água Corrente do Rio +Lava Source=Fonte de Lava +Flowing Lava=Lava Corrente +Empty Bookshelf=Estante de Livros Vazia +Bookshelf (@1 written, @2 empty books)=Estante de Livros (@1 livros escritos, @2 livros em branco) +Bookshelf=Estante de Livros +Text too long=Texto muito longo +"@1"="@1" +Wooden Sign=Placa de Madeira +Steel Sign=Placa de Aço +Wooden Ladder=Escada de Madeira +Steel Ladder=Escada de Aço +Apple Wood Fence=Cerca de Macieira +Acacia Wood Fence=Cerca de Acácia +Jungle Wood Fence=Cerca de Madeira da Selva +Pine Wood Fence=Cerca de Pinheiro +Aspen Wood Fence=Cerca de Álamo +Apple Wood Fence Rail=Trilho de Cerca de Macieira +Acacia Wood Fence Rail=Trilho de Cerca de Acácia +Jungle Wood Fence Rail=Trilho de Cerca de Madeira da Selva +Pine Wood Fence Rail=Trilho de Cerca de Pinheiro +Aspen Wood Fence Rail=Trilho de Cerca de Álamo +Glass=Vidro +Obsidian Glass=Vidro de Obsidiana +Brick Block=Bloco de Tijolos +Mese Lamp=Lâmpada de Mese +Apple Wood Mese Post Light=Poste de Lâmpada de Mese de Macieira +Acacia Wood Mese Post Light=Poste de Lâmpada de Mese de Acácia +Jungle Wood Mese Post Light=Poste de Lâmpada de Mese de Madeira da Selva +Pine Wood Mese Post Light=Poste de Lâmpada de Mese de Pinheiro +Aspen Wood Mese Post Light=Poste de Lâmpada de Mese de Aspen +Cloud=Nuvem +Wooden Pickaxe=Picareta de Madeira +Stone Pickaxe=Picareta de Pedra +Bronze Pickaxe=Picareta de Bronze +Steel Pickaxe=Picareta de Aço +Mese Pickaxe=Picareta de Mese +Diamond Pickaxe=Picareta de Diamante +Wooden Shovel=Pá de Madeira +Stone Shovel=Pá de Pedra +Bronze Shovel=Pá de Bronze +Steel Shovel=Pá de Aço +Mese Shovel=Pá de Mese +Diamond Shovel=Pá de Diamante +Wooden Axe=Machado de Madeira +Stone Axe=Machado de Pedra +Bronze Axe=Machado de Bronze +Steel Axe=Machado de Aço +Mese Axe=Machado de Mese +Diamond Axe=Machado de Diamante +Wooden Sword=Espada de Madeira +Stone Sword=Espada de Pedra +Bronze Sword=Espada de Bronze +Steel Sword=Espada de Aço +Mese Sword=Espada de Mese +Diamond Sword=Espada de Diamante +Torch=Tocha +@1 will intersect protection on growth.=@1 cruzará a proteção no crescimento. diff --git a/mods/default/locale/default.ru.tr b/mods/default/locale/default.ru.tr new file mode 100644 index 00000000..507841e0 --- /dev/null +++ b/mods/default/locale/default.ru.tr @@ -0,0 +1,223 @@ +# textdomain: default +Locked Chest=Заблокированный Сундук +Locked Chest (owned by @1)=Заблокированный Сундук (владелец: @1) +You do not own this chest.=Вы не владелец этого сундука. +a locked chest=заблокированный сундук +Chest=Сундук +Write= +Read= +Title:=Заголовок: +Contents:=Содержимое: +Save=Сохранить +by @1=@1 +Page @1 of @2=Страница @1 из @2 +"@1" by @2="@1" @2 +Blueberries=Черника +Book=Книга +Book with Text=Книга с Текстом +Bronze Ingot=Бронзовый Слиток +Clay Brick=Глиняный Кирпич +Clay Lump=Ком Глины +Coal Lump=Кусок Угля +Copper Ingot=Медный Слиток +Copper Lump=Кусок Меди +Diamond=Алмаз +Flint=Кремень +Gold Ingot=Золотой Слиток +Gold Lump=Кусок Золота +Iron Lump=Кусок Железа +Mese Crystal=Кристалл Месе +Mese Crystal Fragment=Осколок Кристалла Месе +Obsidian Shard=Обсидиановый Осколок +Paper=Бумага +Steel Ingot=Железный Слиток +Stick=Палка +Tin Ingot=Оловянный Слиток +Tin Lump=Кусок Олова +Furnace is empty=Печь пуста +100% (output full)=100% (полное приготовление) +@1%=@1% +Not cookable=Не может быть приготовлено +Empty=Пустое +Furnace active=Печь зажжена +Furnace inactive=Печь не зажжена +(Item: @1; Fuel: @2)=(Предмет: @1; Топливо: @2) +Furnace=Печь +Stone=Камень +Cobblestone=Булыжник +Stone Brick=Каменный Кирпич +Stone Block=Каменный Блок +Mossy Cobblestone=Мшистый Булыжник +Desert Stone=Пустынный Камень +Desert Cobblestone=Пустынный Булыжник +Desert Stone Brick=Пустынный Каменный Кирпич +Desert Stone Block=Пустынный Каменный Блок +Sandstone=Песчаник +Sandstone Brick=Песчаниковый Кирпич +Sandstone Block=Песчаниковый Блок +Desert Sandstone=Пустынный Песчаник +Desert Sandstone Brick=Пустынный Песчаниковый Кирпич +Desert Sandstone Block=Пустынный Песчаниковый Блок +Silver Sandstone=Серебряный Песчаник +Silver Sandstone Brick=Серебряный Песчаниковый Кирпич +Silver Sandstone Block=Серебряный Песчаниковый Блок +Obsidian=Обсидиан +Obsidian Brick=Обсидиановый Кирпич +Obsidian Block=Обсидиановый Блок +Dirt=Земля +Dirt with Grass=Земля с Травой +Dirt with Grass and Footsteps=Земля с Травой и Следами +Dirt with Savanna Grass=Земля с Саванной Травой +Dirt with Snow=Земля Со Снегом +Dirt with Rainforest Litter=Земля с Тропической Подстилкой +Dirt with Coniferous Litter=Земля с Сосновой Подстилкой +Savanna Dirt=Саванная Земля +Savanna Dirt with Savanna Grass=Саванная Земля с Травой +Permafrost=Замороженная Почва +Permafrost with Stones=Замороженная Почва с Камнями +Permafrost with Moss=Замороженная Почва с Мхом +Sand=Песок +Desert Sand=Пустынный Песок +Silver Sand=Серебряный Песок +Gravel=Гравий +Clay=Глиняный Блок +Snow=Снег +Snow Block=Снежный Блок +Ice=Лёд +Cave Ice=Пещерный Лёд +Apple Tree=Ствол Яблони +Apple Wood Planks=Яблоневые Доски +Apple Tree Sapling=Саженец Яблони +Apple Tree Leaves=Яблоневая Листва +Apple=Яблоко +Apple Marker=Яблочная Метка +Jungle Tree=Ствол Тропического Дерева +Jungle Wood Planks=Доски из Тропического Дерева +Jungle Tree Leaves=Листва Тропического Дерева +Jungle Tree Sapling=Саженец Тропического Дерева +Emergent Jungle Tree Sapling=Выросший Саженец Тропического Дерева +Pine Tree=Сосновый Ствол +Pine Wood Planks=Сосновые Доски +Pine Needles=Сосновая Хвоя +Pine Tree Sapling=Саженец Сосны +Acacia Tree=Ствол Акации +Acacia Wood Planks=Доски Акации +Acacia Tree Leaves=Листва Акации +Acacia Tree Sapling=Саженец Акации +Aspen Tree=Ствол Осины +Aspen Wood Planks=Осиновые Доски +Aspen Tree Leaves=Осиновая Листва +Aspen Tree Sapling=Саженец Осины +Coal Ore=Уголь +Coal Block=Угольный Блок +Iron Ore=Железная Руда +Steel Block=Стальной Блок +Copper Ore=Медная Руда +Copper Block=Медный Блок +Tin Ore=Оловянная Руда +Tin Block=Оловянный Блок +Bronze Block=Бронзовый Блок +Mese Ore=Месевая Руда +Mese Block=Месевый Блок +Gold Ore=Золотая Руда +Gold Block=Золотой Блок +Diamond Ore=Алмаз +Diamond Block=Алмазный Блок +Cactus=Кактус +Large Cactus Seedling=Саженец Кактуса +Papyrus=Папирус +Dry Shrub=Сухой Куст +Jungle Grass=Тропическая Трава +Grass=Трава +Savanna Grass=Саванная Трава +Fern=Папоротник +Marram Grass=Песколюб +Bush Stem=Стебли Куста +Bush Leaves=Листья Куста +Bush Sapling=Саженец Куста +Blueberry Bush Leaves with Berries=Куст Черники с Ягодами +Blueberry Bush Leaves=Куст Черники +Blueberry Bush Sapling=Саженец Куста Черники +Acacia Bush Stem=Стебли Куста Акации +Acacia Bush Leaves=Листья Куста Акации +Acacia Bush Sapling=Саженец Куста Акации +Pine Bush Stem=Стебли Хвойного Куста +Pine Bush Needles=Хвоя Куста +Pine Bush Sapling=Саженец Хвойного Куста +Kelp=Ламинария +Green Coral=Зеленый Коралл +Pink Coral=Розовый Коралл +Cyan Coral=Голубой Коралл +Brown Coral=Коричневый Коралл +Orange Coral=Оранжевый Коралл +Coral Skeleton=Коралловый Остов +Water Source=Водный Источник +Flowing Water=Текущая Вода +River Water Source=Речной Водный Источник +Flowing River Water=Текущая Речная Вода +Lava Source=Лавовый Источник +Flowing Lava=Текущая Лава +Empty Bookshelf=Пустая Книжная Полка +Bookshelf (@1 written, @2 empty books)=Книжная Полка (@1 написано, @2 чистые книги) +Bookshelf=Книжная Полка +Text too long=Текст слишком длинный +"@1"="@1" +Wooden Sign=Деревянная Табличка +Steel Sign=Стальная Табличка +Wooden Ladder=Деревянная Лестница +Steel Ladder=Стальная Лестница +Apple Wood Fence=Яблоневый Деревянный Забор +Acacia Wood Fence=Деревянный Забор Из Акации +Jungle Wood Fence=Деревянный Забор Из Тропического Дерева +Pine Wood Fence=Сосновый Деревянный Забор +Aspen Wood Fence=Осиновый Деревянный Забор +Apple Wood Fence Rail=Яблоневый Деревянный Реечный Забор +Acacia Wood Fence Rail=Деревянный Реечный Забор Из Акации +Jungle Wood Fence Rail=Деревянный Реечный Забор Из Тропического Дерева +Pine Wood Fence Rail=Сосновый Деревянный Реечный Забор +Aspen Wood Fence Rail=Осиновый Деревянный Реечный Забор +Glass=Стекло +Obsidian Glass=Обсидиановое Стекло +Brick Block=Кирпичный Блок +Mese Lamp=Месе Лампа +Apple Wood Mese Post Light=Столбовой Месе светильник из Яблони +Acacia Wood Mese Post Light=Столбовой Месе светильник из Акации +Jungle Wood Mese Post Light=Столбовой Месе светильник из Тропического дерева +Pine Wood Mese Post Light=Столбовой Месе светильник из Сосны +Aspen Wood Mese Post Light=Столбовой Месе светильник из Осины +Cloud=Облако +Wooden Pickaxe=Деревянная Кирка +Stone Pickaxe=Каменная Кирка +Bronze Pickaxe=Бронзовая Кирка +Steel Pickaxe=Стальная Кирка +Mese Pickaxe=Месе Кирка +Diamond Pickaxe=Алмазная Кирка +Wooden Shovel=Деревянная Лопата +Stone Shovel=Каменная Лопата +Bronze Shovel=Бронзовая Лопата +Steel Shovel=Стальная Лопата +Mese Shovel=Месе Лопата +Diamond Shovel=Алмазная Лопата +Wooden Axe=Деревянный Топор +Stone Axe=Каменный Топор +Bronze Axe=Бронзовый Топор +Steel Axe=Стальной Топор +Mese Axe=Месе Топор +Diamond Axe=Алмазный Топор +Wooden Sword=Деревянный Меч +Stone Sword=Каменный Меч +Bronze Sword=Бронзовый Меч +Steel Sword=Стальной Меч +Mese Sword=Месе Меч +Diamond Sword=Алмазный Меч +Torch=Факел +@1 will intersect protection on growth.=@1 пересечёт защиту по росту. + + +##### not used anymore ##### + +Dirt with Dry Grass=Земля с Сухой Травой +Dry Dirt=Сухая Земля +Dry Dirt with Dry Grass=Сухая Земля с Сухой Травой +Dry Grass=Сухая Трава +Mese Post Light=Столб с Месе Фонарем diff --git a/mods/default/locale/default.sk.tr b/mods/default/locale/default.sk.tr new file mode 100644 index 00000000..d85f714b --- /dev/null +++ b/mods/default/locale/default.sk.tr @@ -0,0 +1,219 @@ +# textdomain: default +Locked Chest=Uzamknutá truhlica +Locked Chest (owned by @1)=Uzamknutá truhlica (Vlastník - @1) +You do not own this chest.=Túto truhlicu nevlastníš. +a locked chest=zamknutá truhlica +Chest=Truhlica +Write= +Read= +Title:=Názov: +Contents:=Obsah: +Save=Uložiť +by @1=od @1 +Page @1 of @2=Strana @1 z @2 +"@1" by @2=„@1“ z @2 +Blueberries=Čučoriedky +Book=Kniha +Book with Text=Kniha s textom +Bronze Ingot=Bronzový ingot +Clay Brick=Nepálená tehla +Clay Lump=Hruda ílu +Coal Lump=Hruda uhlia +Copper Ingot=Medený ingot +Copper Lump=Hruda medi +Diamond=Diamant +Flint=Kresací kamienok +Gold Ingot=Zlatý ingot +Gold Lump=Hruda zlata +Iron Lump=Hruda železa +Mese Crystal=Mese Krištáľ +Mese Crystal Fragment=Fragment Mese krištáľu +Obsidian Shard=Úlomok obsidiánu +Paper=Papier +Steel Ingot=Oceľový ingot +Stick=Palica +Tin Ingot=Cínový ingot +Tin Lump=Hruda cínu +Furnace is empty=Pec je prázdna +100% (output full)=100% (Výstup je plný) +@1%=@1% +Not cookable=Nie je variteľné +Empty=Prázdne +Furnace active=Pec je aktívna +Furnace inactive=Pec je neaktívna +(Item: @1; Fuel: @2)=(Vec: @1; Palivo: @2) +Furnace=Pec +Stone=Kameň +Cobblestone=Dlažbový kameň +Stone Brick=Tehla z kameňa +Stone Block=Blok kameňa +Mossy Cobblestone=Dlažbový kameň obrastený machom +Desert Stone=Púštny kameň +Desert Cobblestone=Púštny dlažbový kameň +Desert Stone Brick=Tehla z púštneho kameňa +Desert Stone Block=Blok púštneho kameňa +Sandstone=Pieskovec +Sandstone Brick=Tehla z pieskovca +Sandstone Block=Blok pieskovca +Desert Sandstone=Púštny pieskovec +Desert Sandstone Brick=Tehla z púštneho pieskovca +Desert Sandstone Block=Blok púštneho pieskovca +Silver Sandstone=Strieborný pieskovec +Silver Sandstone Brick=Tehla zo strieborného pieskovca +Silver Sandstone Block=Blok strieborného pieskovca +Obsidian=Obsidián +Obsidian Brick=Tehla z obsidiánu +Obsidian Block=Blok obsidiánu +Dirt=Hlina +Dirt with Grass=Hlina s trávou +Dirt with Grass and Footsteps=Hlina s trávou a stopami +Dirt with Savanna Grass=Hlina s trávou zo savany +Dirt with Snow=Hlina so snehom +Dirt with Rainforest Litter=Hlina s povrchom dažďového pralesa +Dirt with Coniferous Litter=Hlina s ihličnatým povrchom +Savanna Dirt=Hlina zo savany +Savanna Dirt with Savanna Grass=Hlina zo savany s trávou +Permafrost=Permafrost +Permafrost with Stones=Permafrost s kameňmi +Permafrost with Moss=Permafrost s machom +Sand=Piesok +Desert Sand=Púštny piesok +Silver Sand=Strieborný piesok +Gravel=Štrk +Clay=Íl +Snow=Sneh +Snow Block=Blok snehu +Ice=Ľad +Cave Ice=Jaskynný ľad +Apple Tree=Jabloň +Apple Wood Planks=Drevené dosky z jablone +Apple Tree Sapling=Stromček jablone +Apple Tree Leaves=Listy z jablone +Apple=Jablko +Apple Marker=Jablková značka +Jungle Tree=Ďungľový strom +Jungle Wood Planks=Drevené dosky z džungľového stromu +Jungle Tree Leaves=Listy z džungľového stromu +Jungle Tree Sapling=Džungľový stromček +Emergent Jungle Tree Sapling=Vznikajúci džungľový stromček +Pine Tree=Borovica +Pine Wood Planks=Drevené dosky z borovice +Pine Needles=Ihličie z borovice +Pine Tree Sapling=Borovicový stromček +Acacia Tree=Akácia +Acacia Wood Planks=Drevené dosky z akácie +Acacia Tree Leaves=Listy z akácie +Acacia Tree Sapling=Stromček akácie +Aspen Tree=Osika +Aspen Wood Planks=Drevené dosky z osiky +Aspen Tree Leaves=Listy z osiky +Aspen Tree Sapling=Stromček osiky +Coal Ore=Uhoľná ruda +Coal Block=Blok uhlia +Iron Ore=Železná ruda +Steel Block=Blok ocele +Copper Ore=Medená ruda +Copper Block=Blok medi +Tin Ore=Cínová ruda +Tin Block=Blok cínu +Bronze Block=Blok bronzu +Mese Ore=Mese Ruda +Mese Block=Blok Mese +Gold Ore=Zlatá ruda +Gold Block=Blok zlata +Diamond Ore=Diamantová ruda +Diamond Block=Blok diamantu +Cactus=Kaktus +Large Cactus Seedling=Vaľká sadenica kaktusu +Papyrus=Papyrus +Dry Shrub=Suchý ker +Jungle Grass=Džungľová tráva +Grass=Tráva +Savanna Grass=Tráva zo savany +Fern=Papraď +Marram Grass=Pobrežná tráva +Bush Stem=Stonka z kríka +Bush Leaves=Listy z kríka +Bush Sapling=Sadenica kríka +Blueberry Bush Leaves with Berries=Čučoriedkové listy s čučoriedkami +Blueberry Bush Leaves=Čučoriedkové listy +Blueberry Bush Sapling=Sadenica čučoriedky +Acacia Bush Stem=Stonka z kríka akácie +Acacia Bush Leaves=Listy z kríka akácie +Acacia Bush Sapling=Sadenica kríka akácie +Pine Bush Stem=Stonka kríka borovice +Pine Bush Needles=Ihličie kríka borovice +Pine Bush Sapling=Sadenica kríka borovice +Kelp=Riasa +Green Coral=Zelený koral +Pink Coral=Ružový koral +Cyan Coral=Tyrkysový koral +Brown Coral=Hnedý koral +Orange Coral=Oranžový koral +Coral Skeleton=Koralová kostra +Water Source=Zdroj vody +Flowing Water=Tečúca voda +River Water Source=Zdroj riečnej voda +Flowing River Water=Tečúca riečna voda +Lava Source=Zdroj lávy +Flowing Lava=Tečúca láva +Empty Bookshelf=Prázdna knižnica +Bookshelf (@1 written, @2 empty books)=Knižnica (@1 popísané, @2 prázdne knihy) +Bookshelf=Knižnica +Text too long=Text je príliš dlhý +"@1"=„@1“ +Wooden Sign=Drevená tabuľka +Steel Sign=Oceľová tabuľka +Wooden Ladder=Drevený rebrík +Steel Ladder=Oceľový rebrík +Apple Wood Fence=Drevený plot z jablone +Acacia Wood Fence=Drevený plot z akácie +Jungle Wood Fence=Drevený plot z džungľového dreva +Pine Wood Fence=Drevený plot z borovice +Aspen Wood Fence=Drevený plot z osiky +Apple Wood Fence Rail=Drevené zábradlie z jablone +Acacia Wood Fence Rail=Drevené zábradlie z akácie +Jungle Wood Fence Rail=Drevené zábradlie z džungľového dreva +Pine Wood Fence Rail=Drevené zábradlie z borovice +Aspen Wood Fence Rail=Drevené zábradlie z osiky +Glass=Sklo +Obsidian Glass=Obsidiánové sklo +Brick Block=Blok z tehál +Mese Lamp=Mese lampa +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= +Cloud=Oblak +Wooden Pickaxe=Drevený krompáč +Stone Pickaxe=Kamenný krompáč +Bronze Pickaxe=Bronzový krompáč +Steel Pickaxe=Oceľový krompáč +Mese Pickaxe=Mese krompáč +Diamond Pickaxe=Diamantový krompáč +Wooden Shovel=Drevená lopata +Stone Shovel=Kamenná lopata +Bronze Shovel=Bronzová lopata +Steel Shovel=Oceľová lopata +Mese Shovel=Mese lopata +Diamond Shovel=Diamantová lopata +Wooden Axe=Drevená sekera +Stone Axe=Kamenná sekera +Bronze Axe=Bronzová sekera +Steel Axe=Oceľová sekera +Mese Axe=Mese sekera +Diamond Axe=Diamantová sekera +Wooden Sword=Drevený meč +Stone Sword=Kamenný meč +Bronze Sword=Bronzový meč +Steel Sword=Oceľový meč +Mese Sword=Mese meč +Diamond Sword=Diamantový meč +Torch=Fakľa +@1 will intersect protection on growth.=@1 prekročí pri raste chránenú zónu. + + +##### not used anymore ##### + +Mese Post Light=Mese stĺpová lampa diff --git a/mods/default/locale/default.sv.tr b/mods/default/locale/default.sv.tr new file mode 100644 index 00000000..4cfbde0c --- /dev/null +++ b/mods/default/locale/default.sv.tr @@ -0,0 +1,217 @@ +# textdomain: default +Locked Chest=Låst kista +Locked Chest (owned by @1)=Låst kista (Ägd av @1) +You do not own this chest.=Du äger inte denna kista. +a locked chest=en låst kista +Chest=Kista +Write=Skriva +Read=Läs +Title:=Titel: +Contents:=Innehåll: +Save=Spara +by @1=av @1 +Page @1 of @2=Sida @1 av @2 +"@1" by @2="@1" av @2 +Skeleton Key=Skelettnyckel +Key to @1's @2=Nyckel till @1s @2 +Blueberries=Blåbär +Book=Bok +Book with Text=Bok med text +Bronze Ingot=Bronstacka +Clay Brick=Tegelsten +Clay Lump=Lerklump +Coal Lump=Kolklump +Copper Ingot=Koppartacka +Copper Lump=Kopparklump +Diamond=Diamant +Flint=Flinta +Gold Ingot=Guldtacka +Gold Lump=Guldklump +Iron Lump=Järnklump +Mese Crystal=Mesekristall +Mese Crystal Fragment=Mesekristallfragment +Obsidian Shard=Obsidianskärva +Paper=Papper +Steel Ingot=Ståltacka +Stick=Pinne +Tin Ingot=Tenntacka +Tin Lump=Tennklump +Furnace is empty=Ugnen är tom +100% (output full)=100% (utgången full) +@1%=@1% +Not cookable=Inte kokbar +Empty=Tom +Furnace active=Ugn aktiv +Furnace inactive=Ugn inaktiv +(Item: @1; Fuel: @2)=(Sak: @1; Bränsle: @2) +Furnace=Ugn +Stone=Sten +Cobblestone=Kullersten +Stone Brick=Stentegel +Stone Block=Stenblock +Mossy Cobblestone=Mossig kullersten +Desert Stone=Ökensten +Desert Cobblestone=Ökenkullersten +Desert Stone Brick=Ökenstenstegel +Desert Stone Block=Ökenstensblock +Sandstone=Sandsten +Sandstone Brick=Sandstenstegel +Sandstone Block=Sandstensblock +Desert Sandstone=Ökensandsten +Desert Sandstone Brick=Ökensandstenstegel +Desert Sandstone Block=Ökensandstensblock +Silver Sandstone=Silversandsten +Silver Sandstone Brick=Silversandstenstegel +Silver Sandstone Block=Silversandstensblock +Obsidian=Obsidian +Obsidian Brick=Obsidiantegel +Obsidian Block=Obsidianblock +Dirt=Jord +Dirt with Grass=Jord med gräs +Dirt with Grass and Footsteps=Jord med gräs och fotsteg +Dirt with Savanna Grass=Jord med savanngräs +Dirt with Snow=Jord med snö +Dirt with Rainforest Litter=Jord med regnskogströ +Dirt with Coniferous Litter=Jord med barrträd +Savanna Dirt=Savannjord +Savanna Dirt with Savanna Grass=Savannjord med savanngräs +Permafrost=Permafrost +Permafrost with Stones=Permafrost med sten +Permafrost with Moss=Permafrost med mossa +Sand=Sand +Desert Sand=Ökensand +Silver Sand=Silversand +Gravel=Grus +Clay=Lera +Snow=Snö +Snow Block=Snöblock +Ice=Is +Cave Ice=Grottis +Apple Tree=Äppleträd +Apple Wood Planks=Äppleträdplankor +Apple Tree Sapling=Äppleplanta +Apple Tree Leaves=Äpplelöv +Apple=Äpple +Apple Marker=Äpplemarkör +Jungle Tree=Djungelträd +Jungle Wood Planks=Djungelplankor +Jungle Tree Leaves=Djungellöv +Jungle Tree Sapling=Djungelplanta +Emergent Jungle Tree Sapling=Nybliven djungelplanta +Pine Tree=Tall +Pine Wood Planks=Tallplankor +Pine Needles=Granbarr +Pine Tree Sapling=Tallplanta +Acacia Tree=Akaciaträd +Acacia Wood Planks=Akaciaplankor +Acacia Tree Leaves=Akacialöv +Acacia Tree Sapling=Akaciaplanta +Aspen Tree=Asp +Aspen Wood Planks=Aspplankor +Aspen Tree Leaves=Asplöv +Aspen Tree Sapling=Aspplanta +Coal Ore=Kolmalm +Coal Block=Kolblock +Iron Ore=Järnmalm +Steel Block=Stålblock +Copper Ore=Kopparmalm +Copper Block=Kopparblock +Tin Ore=Tennmalm +Tin Block=Tennblock +Bronze Block=Bronsblock +Mese Ore=Mesemalm +Mese Block=Meseblock +Gold Ore=Guldmalm +Gold Block=Guldblock +Diamond Ore=Diamantmalm +Diamond Block=Diamantblock +Cactus=Kaktus +Large Cactus Seedling=Stor kaktusplanta +Papyrus=Papyrus +Dry Shrub=Torr buske +Jungle Grass=Djungelgräs +Grass=Gräs +Savanna Grass=Savanngräs +Fern=Ormbunke +Marram Grass=Marramgräs +Bush Stem=Buskstam +Bush Leaves=Busklöv +Bush Sapling=Buskplanta +Blueberry Bush Leaves with Berries=Blåbärsbuske med bär +Blueberry Bush Leaves=Blåbärsbuske +Blueberry Bush Sapling=Blåbärsbuskplanta +Acacia Bush Stem=Akaciabuskstam +Acacia Bush Leaves=Akaciabuske +Acacia Bush Sapling=Akaciabuskplanta +Pine Bush Stem=Tallbuskestam +Pine Bush Needles=Tallgranbarr +Pine Bush Sapling=Tallbuskplanta +Kelp=Brunalg +Green Coral=Grön korall +Pink Coral=Rosa korall +Cyan Coral=Cyan korall +Brown Coral=Brun korall +Orange Coral=Orange korall +Coral Skeleton=Korallskelett +Water Source=Vattenkälla +Flowing Water=Flytande vatten +River Water Source=Flodvattenkälla +Flowing River Water=Flytande flodvatten +Lava Source=Lavakälla +Flowing Lava=Flytande lava +Empty Bookshelf=Tom bokhylla +Bookshelf (@1 written, @2 empty books)=Bokhylla (@1 skriva, @2 tomma böcker) +Bookshelf=Bokhylla +Text too long=Texten är för lång +"@1"="@1" +Wooden Sign=Träskylt +Steel Sign=Stålskylt +Wooden Ladder=Trästege +Steel Ladder=Stålstege +Apple Wood Fence=Äppleträstaket +Acacia Wood Fence=Akaciastaket +Jungle Wood Fence=Djungelstaket +Pine Wood Fence=Tallstaket +Aspen Wood Fence=Aspträdstaket +Apple Wood Fence Rail=Äppleträstaketsräls +Acacia Wood Fence Rail=Akaciastaketsräls +Jungle Wood Fence Rail=Djungelstaketsräls +Pine Wood Fence Rail=Tallstaketsräls +Aspen Wood Fence Rail=Aspstaketsräls +Glass=Glas +Obsidian Glass=Obsidianglas +Brick Block=Tegelstensblock +Mese Lamp=Meselampa +Apple Wood Mese Post Light=Äppleträ-meselykta +Acacia Wood Mese Post Light=Acacia-meselykta +Jungle Wood Mese Post Light=Djungel-meselykta +Pine Wood Mese Post Light=Tall-meselykta +Aspen Wood Mese Post Light=Aspträ-meselykta +Cloud=Moln +Wooden Pickaxe=Trähacka +Stone Pickaxe=Stenhacka +Bronze Pickaxe=Bronshacka +Steel Pickaxe=Stålhacka +Mese Pickaxe=Mesehacka +Diamond Pickaxe=Diamanthacka +Wooden Shovel=Träspade +Stone Shovel=Stenspade +Bronze Shovel=Bronsspade +Steel Shovel=Stålspade +Mese Shovel=Mesespade +Diamond Shovel=Diamantspade +Wooden Axe=Träyxa +Stone Axe=Stenyxa +Bronze Axe=Bronsyxa +Steel Axe=Stålyxa +Mese Axe=Meseyxa +Diamond Axe=Diamantyxa +Wooden Sword=Träsvärd +Stone Sword=Stensvärd +Bronze Sword=Bronssvärd +Steel Sword=Stålsvärd +Mese Sword=Mesesvärd +Diamond Sword=Diamantsvärd +Key=Nyckel +Torch=Fackla +@1 will intersect protection on growth.=@1 kommer korsa skyddet mot tillväxt. diff --git a/mods/default/locale/default.uk.tr b/mods/default/locale/default.uk.tr new file mode 100644 index 00000000..2432cfa6 --- /dev/null +++ b/mods/default/locale/default.uk.tr @@ -0,0 +1,214 @@ +# textdomain: default +Locked Chest=Заблокована Скриня +Locked Chest (owned by @1)=Заблокована Скриня (власник: @1) +You do not own this chest.=Ви не власник цієї скрині. +a locked chest=заблокована скриня +Chest=Скриня +Write=Писати +Read=Читати +Title:=Заголовок: +Contents:=Вміст: +Save=Зберегти +by @1=@1 +Page @1 of @2=Сторінка @1 з @2 +"@1" by @2="@1" @2 +Blueberries=Чорниці +Book=Книга +Book with Text=Книга З Текстом +Bronze Ingot=Бронзовий Злиток +Clay Brick=Глиняна Цегла +Clay Lump=Шматок Глини +Coal Lump=Шматок Вугілля +Copper Ingot=Мідний Злиток +Copper Lump=Шматок Меді +Diamond=Алмаз +Flint=Кремінь +Gold Ingot=Золотий Злиток +Gold Lump=Шматок Золота +Iron Lump=Шматок Заліза +Mese Crystal=Кристал Месе +Mese Crystal Fragment=Уламок Кристалу Месе +Obsidian Shard=Обсидіановий Уламок +Paper=Папір +Steel Ingot=Залізний Злиток +Stick=Палка +Tin Ingot=Шматок Олова +Tin Lump=Уламок Олова +Furnace is empty=Пічка Порожня +100% (output full)=100% (повне приготування) +@1%=@1% +Not cookable=Не може бути приготовлено +Empty=Порожньо +Furnace active=Піч запалена +Furnace inactive=Піч не запалена +(Item: @1; Fuel: @2)=(Предмет: @1; Паливо: @2) +Furnace=Піч +Stone=Камінь +Cobblestone=Кругляк +Stone Brick=Кам'яна Цегла +Stone Block=Кам'яний Блок +Mossy Cobblestone=Моховий Кругляк +Desert Stone=Пустельний Камінь +Desert Cobblestone=Пустельний Камінь +Desert Stone Brick=Пустельна Кам'яна Цегла +Desert Stone Block=Пустельний Кам'яний Блок +Sandstone=Піщаник +Sandstone Brick=Цегла З Піщанику +Sandstone Block=Блок З Піщанику +Desert Sandstone=Пустельний Піщаник +Desert Sandstone Brick=Пустельна Цегла З Піщанику +Desert Sandstone Block=Пустельний Блок З Піщанику +Silver Sandstone=Срібний Піщаник +Silver Sandstone Brick=Цегла Із Срібного Піщанику +Silver Sandstone Block=Блок Із Срібного Піщанику +Obsidian=Обсидіан +Obsidian Brick=Обсидіанова Цегла +Obsidian Block=Обсидіановий Блок +Dirt=Земля +Dirt with Grass=Земля З Травою +Dirt with Grass and Footsteps=Земля З Травою Та Слідами +Dirt with Savanna Grass=Земля Із Саванною Травою +Dirt with Snow=Земля Зі Снігом +Dirt with Rainforest Litter=Земля Із Тропічною Підстилкою +Dirt with Coniferous Litter=Земля Із Сосновою Підстилкою +Savanna Dirt=Саваннова Земля +Savanna Dirt with Savanna Grass=Саваннова Земля Із Травою +Permafrost=Заморожений Ґрунт +Permafrost with Stones=Заморожений Ґрунт Із Камінням +Permafrost with Moss=Заморожена Ґрунт із Мохом +Sand=Пісок +Desert Sand=Пустельний Пісок +Silver Sand=Срібний Пісок +Gravel=Гравій +Clay=Глиняний Блок +Snow=Сніг +Snow Block=Сніговий Блок +Ice=Лід +Cave Ice=Печерний Лід +Apple Tree=Стовбур Яблуні +Apple Wood Planks=Яблуневі Дошки +Apple Tree Sapling=Саджанець Яблуні +Apple Tree Leaves=Яблуневе Листя +Apple=Яблуко +Apple Marker=Яблучна Мітка +Jungle Tree=Стовбур Тропічного Дерева +Jungle Wood Planks=Дошки З Тропічного Дерева +Jungle Tree Leaves=Листя Тропічного Дерева +Jungle Tree Sapling=Саджанець Тропічного Дерева +Emergent Jungle Tree Sapling=Саджанець Тропічного Дерева, Що Виріс +Pine Tree=Сосновий Стовбур +Pine Wood Planks=Соснові Дошки +Pine Needles=Соснова Хвоя +Pine Tree Sapling=Саджанець Сосни +Acacia Tree=Стовбур Акації +Acacia Wood Planks=Дошки Акації +Acacia Tree Leaves=Листя Акації +Acacia Tree Sapling=Саджанець Акації +Aspen Tree=Стовбур Осики +Aspen Wood Planks=Осикові Дошки +Aspen Tree Leaves=Осикове Листя +Aspen Tree Sapling=Саджанець Осики +Coal Ore=Поклади Вугілля +Coal Block=Вугільний Блок +Iron Ore=Залізна Руда +Steel Block=Сталевий Блок +Copper Ore=Мідна Руда +Copper Block=Мідний Блок +Tin Ore=Олов'яна Руда +Tin Block=Олов'яний Блок +Bronze Block=Бронзовий Блок +Mese Ore=Месева Руда +Mese Block=Месевий Блок +Gold Ore=Золота Руда +Gold Block=Золотий Блок +Diamond Ore=Поклади Алмазу +Diamond Block=Алмазний Блок +Cactus=Кактус +Large Cactus Seedling=Саджанець Кактуса +Papyrus=Папірус +Dry Shrub=Сухий Кущ +Jungle Grass=Тропічна Трава +Grass=Трава +Savanna Grass=Саваннова Трава +Fern=Папороть +Marram Grass=Пісколюб +Bush Stem=Стебла Куща +Bush Leaves=Листя Куща +Bush Sapling=Саджанець Куща +Blueberry Bush Leaves with Berries=Кущ Чорниці З Ягодами +Blueberry Bush Leaves=Кущ Чорниці +Blueberry Bush Sapling=Саджанець Куща Чорниці +Acacia Bush Stem=Стебла Куща Акації +Acacia Bush Leaves=Листя Куща Акації +Acacia Bush Sapling=Саджанець Куща Акації +Pine Bush Stem=Стебла Хвойного Куща +Pine Bush Needles=Хвоя Куща +Pine Bush Sapling=Саджанець Хвойного Куща +Kelp=Ламінарія +Green Coral=Зелений Корал +Pink Coral=Рожевий Корал +Cyan Coral=Блакитний Корал +Brown Coral=Коричневий Корал +Orange Coral=Помаранчевий Корал +Coral Skeleton=Кораловий Остов +Water Source=Водне Джерело +Flowing Water=Проточна Вода +River Water Source=Річкове Водне Джерело +Flowing River Water=Проточна Річна Вода +Lava Source=Лавове Джерело +Flowing Lava=Проточна Лава +Empty Bookshelf=Порожня Книжкова Полиця +Bookshelf (@1 written, @2 empty books)=Книжкова полиця (@1 написано, @2 чисті книги) +Bookshelf=Книжкова Полиця +Text too long=Текст надто довгий +"@1"="@1" +Wooden Sign=Дерев'яна Табличка +Steel Sign=Сталева Табличка +Wooden Ladder=Дерев'яна Драбина +Steel Ladder=Сталеві Сходи +Apple Wood Fence=Яблуневий Дерев'яний Паркан +Acacia Wood Fence=Дерев'яний Паркан З Акації +Jungle Wood Fence=Дерев'яний Паркан З Тропічного Дерева +Pine Wood Fence=Сосновий Дерев'яний Паркан +Aspen Wood Fence=Осиковий Дерев'яний Паркан +Apple Wood Fence Rail=Яблуневий Дерев'яний Рейковий Паркан +Acacia Wood Fence Rail=Дерев'яний Рейковий Паркан З Акації +Jungle Wood Fence Rail=Дерев'яний Рейковий Паркан З Тропічного Дерева +Pine Wood Fence Rail=Сосновий Дерев'яний Рейковий Паркан +Aspen Wood Fence Rail=Осиковий Дерев'яний Рейковий Паркан +Glass=Скло +Obsidian Glass=Обсидіанове Скло +Brick Block=Цегляний Блок +Mese Lamp=Месе Лампа +Apple Wood Mese Post Light=Стовповий Месе Світильник З Яблуні +Acacia Wood Mese Post Light=Стовповий Месе Світильник З Акації +Jungle Wood Mese Post Light=Стовповий Месе Світильник Із Тропічного Дерева +Pine Wood Mese Post Light=Стовповий Месе Світильник Із Сосни +Aspen Wood Mese Post Light=Стовповий Месе Світильник З Осики +Cloud=Хмара +Wooden Pickaxe=Дерев'яна Кірка +Stone Pickaxe=Кам'яна Кірка +Bronze Pickaxe=Бронзова Кірка +Steel Pickaxe=Сталева Кірка +Mese Pickaxe=Месе Кірка +Diamond Pickaxe=Алмазна Кірка +Wooden Shovel=Дерев'янна Лопата +Stone Shovel=Кам'яна Лопата +Bronze Shovel=Бронзова Лопата +Steel Shovel=Сталева Лопата +Mese Shovel=Месе Лопата +Diamond Shovel=Алмазна Лопата +Wooden Axe=Дерев'яна Сокира +Stone Axe=Кам'яна Сокира +Bronze Axe=Бронзова Сокира +Steel Axe=Сталева Сокира +Mese Axe=Месе Сокира +Diamond Axe=Алмазна Сокира +Wooden Sword=Дерев'яний Меч +Stone Sword=Кам'яний Меч +Bronze Sword=Бронзовий Меч +Steel Sword=Сталевий Меч +Mese Sword=Месе Меч +Diamond Sword=Алмазний Меч +Torch=Факел +@1 will intersect protection on growth.=@1 перетне захист за зростанням. diff --git a/mods/default/locale/default.zh_CN.tr b/mods/default/locale/default.zh_CN.tr new file mode 100644 index 00000000..56b1c5e6 --- /dev/null +++ b/mods/default/locale/default.zh_CN.tr @@ -0,0 +1,220 @@ +# textdomain: default +Locked Chest=已上锁的箱子 +Locked Chest (owned by @1)=已上锁的箱子(属于@1) +You do not own this chest.=这个箱子不属于你所有。 +a locked chest=一个已上锁的箱子 +Chest=箱子 +Write= +Read= +Title:=标题: +Contents:=内容: +Save=保存 +by @1=由@1 +Page @1 of @2=第@1页,共@2页。 +"@1" by @2="@1" by @2 +Blueberries=蓝莓 +Book=书 +Book with Text=带文字的书 +Bronze Ingot=青铜锭 +Clay Brick=粘土砖 +Clay Lump=粘土块 +Coal Lump=煤块 +Copper Ingot=铜锭 +Copper Lump=铜块 +Diamond=钻石 +Flint=燧石 +Gold Ingot=金锭 +Gold Lump=金块 +Iron Lump=铁块 +Mese Crystal=黄石晶体 +Mese Crystal Fragment=黄石晶体碎片 +Obsidian Shard=黑曜石碎片 +Paper=纸 +Steel Ingot=铁锭 +Stick=棒 +Tin Ingot=锡锭 +Tin Lump=锡块 +Furnace is empty=熔炉是空的 +100% (output full)=100%(输出已满) +@1%=@1% +Not cookable=不可烹饪 +Empty=空 +Furnace active=熔炉正在运转 +Furnace inactive=熔炉未使用 +(Item: @1; Fuel: @2)=(项目:@1;燃料:@2) +Furnace=熔炉 +Stone=石 +Cobblestone=鹅卵石 +Stone Brick=石砖 +Stone Block=石方块 +Mossy Cobblestone=苔藓覆盖的鹅卵石 +Desert Stone=沙漠石 +Desert Cobblestone=沙漠鹅卵石 +Desert Stone Brick=沙漠鹅卵石砖 +Desert Stone Block=沙漠鹅卵石方块 +Sandstone=砂岩 +Sandstone Brick=砂岩砖 +Sandstone Block=砂岩方块 +Desert Sandstone=沙漠砂岩 +Desert Sandstone Brick=沙漠砂岩砖 +Desert Sandstone Block=沙漠砂岩方块 +Silver Sandstone=银砂岩 +Silver Sandstone Brick=银砂岩砖 +Silver Sandstone Block=银砂岩方块 +Obsidian=黑曜石 +Obsidian Brick=黑曜石砖 +Obsidian Block=黑曜石方块 +Dirt=土方块 +Dirt with Grass=草方块 +Dirt with Grass and Footsteps=带有脚印的草方块 +Dirt with Savanna Grass=草原草方块 +Dirt with Snow=雪土方块 +Dirt with Rainforest Litter=雨林凋落物土 +Dirt with Coniferous Litter=针叶林凋落物土 +Savanna Dirt=草原土 +Savanna Dirt with Savanna Grass=草原草方块 +Permafrost=多年冻土 +Permafrost with Stones=带石头的多年冻土 +Permafrost with Moss=生苔的多年冻土 +Sand=沙 +Desert Sand=沙漠沙 +Silver Sand=银沙 +Gravel=沙砾 +Clay=粘土 +Snow=雪 +Snow Block=雪方块 +Ice=冰 +Cave Ice=洞穴冰 +Apple Tree=苹果树 +Apple Wood Planks=苹果树木板 +Apple Tree Sapling=苹果树苗 +Apple Tree Leaves=苹果树叶 +Apple=苹果 +Apple Marker=苹果标记 +Jungle Tree=丛林树 +Jungle Wood Planks=丛林树木板 +Jungle Tree Leaves=丛林树叶 +Jungle Tree Sapling=丛林树苗 +Emergent Jungle Tree Sapling=露生层丛林树苗 +Pine Tree=松树 +Pine Wood Planks=松树木板 +Pine Needles=松针 +Pine Tree Sapling=松树树苗 +Acacia Tree=相思树 +Acacia Wood Planks=相思树木板 +Acacia Tree Leaves=相思树叶 +Acacia Tree Sapling=相思树树苗 +Aspen Tree=白杨树 +Aspen Wood Planks=白杨树木板 +Aspen Tree Leaves=白杨树叶 +Aspen Tree Sapling=白杨树树苗 +Coal Ore=煤炭矿石 +Coal Block=煤炭方块 +Iron Ore=铁矿石 +Steel Block=钢方块 +Copper Ore=铜矿石 +Copper Block=铜方块 +Tin Ore=锡矿石 +Tin Block=锡方块 +Bronze Block=青铜方块 +Mese Ore=黄石矿石 +Mese Block=黄石方块 +Gold Ore=金矿石 +Gold Block=金方块 +Diamond Ore=钻石矿石 +Diamond Block=钻石方块 +Cactus=仙人掌 +Large Cactus Seedling=大仙人掌苗 +Papyrus=莎草纸 +Dry Shrub=干灌木 +Jungle Grass=丛林草 +Grass=草 +Savanna Grass=草原草 +Fern=蕨 +Marram Grass=滨草 +Bush Stem=灌木 +Bush Leaves=灌木叶 +Bush Sapling=灌木苗 +Blueberry Bush Leaves with Berries=长蓝莓的蓝莓灌木叶 +Blueberry Bush Leaves=蓝莓灌木叶 +Blueberry Bush Sapling=蓝莓灌木苗 +Acacia Bush Stem=相思灌木 +Acacia Bush Leaves=相思灌木叶 +Acacia Bush Sapling=相思灌木苗 +Pine Bush Stem=松树灌木 +Pine Bush Needles=松树灌木针 +Pine Bush Sapling=松树灌木苗 +Kelp=海带 +Green Coral=绿珊瑚 +Pink Coral=淡红珊瑚 +Cyan Coral=青珊瑚 +Brown Coral=棕珊瑚 +Orange Coral=橙珊瑚 +Coral Skeleton=珊瑚骨架 +Water Source=水方块 +Flowing Water=流动的水 +River Water Source=河水方块 +Flowing River Water=流动的河水 +Lava Source=岩浆方块 +Flowing Lava=流动的岩浆 +Empty Bookshelf=空书架 +Bookshelf (@1 written, @2 empty books)=书架(@1本有字的书,@2本空书) +Bookshelf=书架 +Text too long=文字太长 +"@1"="@1" +Wooden Sign=木牌 +Steel Sign=铁牌 +Wooden Ladder=木梯子 +Steel Ladder=铁梯子 +Apple Wood Fence=苹果木栅栏 +Acacia Wood Fence=相思木栅栏 +Jungle Wood Fence=丛林木栅栏 +Pine Wood Fence=松木栅栏 +Aspen Wood Fence=白杨木栅栏 +Apple Wood Fence Rail=苹果木栏杆 +Acacia Wood Fence Rail=相思木栏杆 +Jungle Wood Fence Rail=丛林木栏杆 +Pine Wood Fence Rail=松木栏杆 +Aspen Wood Fence Rail=白杨木栏杆 +Glass=玻璃 +Obsidian Glass=黑曜石玻璃 +Brick Block=砖方块 +Mese Lamp=黄石灯 +Apple Wood Mese Post Light=苹果木黄石灯柱 +Acacia Wood Mese Post Light=金合欢木黄石灯柱 +Jungle Wood Mese Post Light=丛林木黄石灯柱 +Pine Wood Mese Post Light=松木黄石灯柱 +Aspen Wood Mese Post Light=白杨木黄石灯柱 +Cloud=云 +Wooden Pickaxe=木镐 +Stone Pickaxe=石镐 +Bronze Pickaxe=青铜镐 +Steel Pickaxe=铁镐 +Mese Pickaxe=黄石镐 +Diamond Pickaxe=钻石镐 +Wooden Shovel=木铲 +Stone Shovel=石铲 +Bronze Shovel=青铜铲 +Steel Shovel=铁铲 +Mese Shovel=黄石铲 +Diamond Shovel=钻石铲 +Wooden Axe=木斧 +Stone Axe=石斧 +Bronze Axe=青铜斧 +Steel Axe=铁斧 +Mese Axe=黄石斧 +Diamond Axe=钻石斧 +Wooden Sword=木剑 +Stone Sword=石剑 +Bronze Sword=青铜剑 +Steel Sword=铁剑 +Mese Sword=黄石剑 +Diamond Sword=钻石剑 +Torch=火把 +@1 will intersect protection on growth.=@1生长时将与保护区域相交。 + + +##### not used anymore ##### + +Dirt with Dry Grass=干草土方块 +Dry Grass=干草 diff --git a/mods/default/locale/default.zh_TW.tr b/mods/default/locale/default.zh_TW.tr new file mode 100644 index 00000000..94d5e183 --- /dev/null +++ b/mods/default/locale/default.zh_TW.tr @@ -0,0 +1,220 @@ +# textdomain: default +Locked Chest=已上鎖的箱子 +Locked Chest (owned by @1)=已上鎖的箱子(屬於@1所有) +You do not own this chest.=這個箱子不屬於你所有。 +a locked chest=一個已上鎖的箱子 +Chest=箱子 +Write= +Read= +Title:=標題: +Contents:=內容: +Save=保存 +by @1=由@1 +Page @1 of @2=第@1頁,共@2頁。 +"@1" by @2="@1" by @2 +Blueberries=藍莓 +Book=書 +Book with Text=帶文字的書 +Bronze Ingot=青銅錠 +Clay Brick=粘土磚 +Clay Lump=粘土塊 +Coal Lump=煤塊 +Copper Ingot=銅錠 +Copper Lump=銅塊 +Diamond=鑽石 +Flint=燧石 +Gold Ingot=金錠 +Gold Lump=金塊 +Iron Lump=鐵塊 +Mese Crystal=黃石晶體 +Mese Crystal Fragment=黃石晶體碎片 +Obsidian Shard=黑曜石碎片 +Paper=紙 +Steel Ingot=鐵錠 +Stick=棒 +Tin Ingot=錫錠 +Tin Lump=錫塊 +Furnace is empty=熔爐是空的 +100% (output full)=100%(輸出已滿) +@1%=@1% +Not cookable=不可烹飪 +Empty=空 +Furnace active=熔爐正在運轉 +Furnace inactive=熔爐未使用 +(Item: @1; Fuel: @2)=(項目:@1;燃料:@2) +Furnace=熔爐 +Stone=石 +Cobblestone=鵝卵石 +Stone Brick=石磚 +Stone Block=石方塊 +Mossy Cobblestone=苔蘚覆蓋的鵝卵石 +Desert Stone=沙漠石 +Desert Cobblestone=沙漠鵝卵石 +Desert Stone Brick=沙漠鵝卵石磚 +Desert Stone Block=沙漠鵝卵石方塊 +Sandstone=砂岩 +Sandstone Brick=砂岩磚 +Sandstone Block=砂岩方塊 +Desert Sandstone=沙漠砂岩 +Desert Sandstone Brick=沙漠砂岩磚 +Desert Sandstone Block=沙漠砂岩方塊 +Silver Sandstone=銀砂岩 +Silver Sandstone Brick=銀砂岩磚 +Silver Sandstone Block=銀砂岩方塊 +Obsidian=黑曜石 +Obsidian Brick=黑曜石磚 +Obsidian Block=黑曜石方塊 +Dirt=土方塊 +Dirt with Grass=草方塊 +Dirt with Grass and Footsteps=草方塊及腳印 +Dirt with Savanna Grass=草原草方塊 +Dirt with Snow=雪土方塊 +Dirt with Rainforest Litter=雨林腐土 +Dirt with Coniferous Litter=針葉林腐土 +Savanna Dirt=草原土 +Savanna Dirt with Savanna Grass=草原草方塊(草原土) +Permafrost=多年凍土 +Permafrost with Stones=帶石頭的多年凍土 +Permafrost with Moss=生苔的多年凍土 +Sand=沙 +Desert Sand=沙漠沙 +Silver Sand=銀沙 +Gravel=沙礫 +Clay=粘土 +Snow=雪 +Snow Block=雪方塊 +Ice=冰 +Cave Ice=洞穴冰 +Apple Tree=蘋果樹 +Apple Wood Planks=蘋果樹木板 +Apple Tree Sapling=蘋果樹苗 +Apple Tree Leaves=蘋果樹葉 +Apple=蘋果 +Apple Marker=蘋果標記 +Jungle Tree=叢林樹 +Jungle Wood Planks=叢林樹木板 +Jungle Tree Leaves=叢林樹葉 +Jungle Tree Sapling=叢林樹苗 +Emergent Jungle Tree Sapling=應急叢林樹苗 +Pine Tree=松樹 +Pine Wood Planks=松樹木板 +Pine Needles=松針 +Pine Tree Sapling=松樹樹苗 +Acacia Tree=相思樹 +Acacia Wood Planks=相思樹木板 +Acacia Tree Leaves=相思樹葉 +Acacia Tree Sapling=相思樹樹苗 +Aspen Tree=白楊樹 +Aspen Wood Planks=白楊樹木板 +Aspen Tree Leaves=白楊樹葉 +Aspen Tree Sapling=白楊樹樹苗 +Coal Ore=煤炭礦石 +Coal Block=煤炭方塊 +Iron Ore=鐵礦石 +Steel Block=鋼方塊 +Copper Ore=銅礦石 +Copper Block=銅方塊 +Tin Ore=錫礦石 +Tin Block=錫方塊 +Bronze Block=青銅方塊 +Mese Ore=黃石礦石 +Mese Block=黃石方塊 +Gold Ore=金礦石 +Gold Block=金方塊 +Diamond Ore=鑽石礦石 +Diamond Block=鑽石方塊 +Cactus=仙人掌 +Large Cactus Seedling=大仙人掌苗 +Papyrus=莎草紙 +Dry Shrub=幹灌木 +Jungle Grass=叢林草 +Grass=草 +Savanna Grass= +Fern=蕨 +Marram Grass=濱草 +Bush Stem=灌木 +Bush Leaves=灌木葉 +Bush Sapling=灌木苗 +Blueberry Bush Leaves with Berries=藍莓灌木葉與漿果 +Blueberry Bush Leaves=藍莓灌木葉 +Blueberry Bush Sapling=藍莓灌木苗 +Acacia Bush Stem=相思灌木 +Acacia Bush Leaves=相思灌木葉 +Acacia Bush Sapling=相思灌木苗 +Pine Bush Stem=松樹灌木 +Pine Bush Needles=松樹灌木針 +Pine Bush Sapling=松樹灌木苗 +Kelp=海帶 +Green Coral=綠珊瑚 +Pink Coral=淡紅珊瑚 +Cyan Coral=青珊瑚 +Brown Coral=棕珊瑚 +Orange Coral=橙珊瑚 +Coral Skeleton=珊瑚骨架 +Water Source=水方塊 +Flowing Water=流動的水 +River Water Source=河水方塊 +Flowing River Water=流動的河水 +Lava Source=岩漿方塊 +Flowing Lava=流動的岩漿 +Empty Bookshelf=空書架 +Bookshelf (@1 written, @2 empty books)=書架(@1本有字的書,@2本空書) +Bookshelf=書架 +Text too long=文字太長 +"@1"="@1" +Wooden Sign=木牌 +Steel Sign=鐵牌 +Wooden Ladder=木梯子 +Steel Ladder=鐵梯子 +Apple Wood Fence=蘋果木柵欄 +Acacia Wood Fence=相思木柵欄 +Jungle Wood Fence=叢林木柵欄 +Pine Wood Fence=松木柵欄 +Aspen Wood Fence=白楊木柵欄 +Apple Wood Fence Rail=蘋果木欄杆 +Acacia Wood Fence Rail=相思木欄杆 +Jungle Wood Fence Rail=叢林木欄杆 +Pine Wood Fence Rail=松木欄杆 +Aspen Wood Fence Rail=白楊木欄杆 +Glass=玻璃 +Obsidian Glass=黑曜石玻璃 +Brick Block=磚方塊 +Mese Lamp=黃石燈 +Apple Wood Mese Post Light=蘋果木黃石燈柱 +Acacia Wood Mese Post Light=金合歡木黃石燈柱 +Jungle Wood Mese Post Light=叢林木黃石燈柱 +Pine Wood Mese Post Light=松木黃石燈柱 +Aspen Wood Mese Post Light=白楊木黃石燈柱 +Cloud=雲 +Wooden Pickaxe=木鎬 +Stone Pickaxe=石鎬 +Bronze Pickaxe=青銅鎬 +Steel Pickaxe=鐵鎬 +Mese Pickaxe=黃石鎬 +Diamond Pickaxe=鑽石鎬 +Wooden Shovel=木鏟 +Stone Shovel=石鏟 +Bronze Shovel=青銅鏟 +Steel Shovel=鐵鏟 +Mese Shovel=黃石鏟 +Diamond Shovel=鑽石鏟 +Wooden Axe=木斧 +Stone Axe=石斧 +Bronze Axe=青銅斧 +Steel Axe=鐵斧 +Mese Axe=黃石斧 +Diamond Axe=鑽石斧 +Wooden Sword=木劍 +Stone Sword=石劍 +Bronze Sword=青銅劍 +Steel Sword=鐵劍 +Mese Sword=黃石劍 +Diamond Sword=鑽石劍 +Torch=火把 +@1 will intersect protection on growth.=@1將與增長的保護相交。 + + +##### not used anymore ##### + +Dirt with Dry Grass=乾草土方塊 +Dry Grass=乾草 diff --git a/mods/default/locale/template.txt b/mods/default/locale/template.txt index c8e616cd..13808e9d 100644 --- a/mods/default/locale/template.txt +++ b/mods/default/locale/template.txt @@ -4,36 +4,41 @@ Locked Chest (owned by @1)= You do not own this chest.= a locked chest= Chest= -Stick= -Paper= +Write= +Read= +Title:= +Contents:= +Save= +by @1= +Page @1 of @2= "@1" by @2= +Blueberries= Book= Book with Text= -Skeleton Key= -Key to @1's @2= -Coal Lump= -Iron Lump= -Copper Lump= -Tin Lump= -Mese Crystal= -Gold Lump= -Diamond= -Clay Lump= -Steel Ingot= -Copper Ingot= -Tin Ingot= Bronze Ingot= -Gold Ingot= -Mese Crystal Fragment= Clay Brick= -Obsidian Shard= +Clay Lump= +Coal Lump= +Copper Ingot= +Copper Lump= +Diamond= Flint= -Blueberries= +Gold Ingot= +Gold Lump= +Iron Lump= +Mese Crystal= +Mese Crystal Fragment= +Obsidian Shard= +Paper= +Steel Ingot= +Stick= +Tin Ingot= +Tin Lump= Furnace is empty= 100% (output full)= @1%= -Empty= Not cookable= +Empty= Furnace active= Furnace inactive= (Item: @1; Fuel: @2)= @@ -62,12 +67,12 @@ Obsidian Block= Dirt= Dirt with Grass= Dirt with Grass and Footsteps= -Dirt with Dry Grass= +Dirt with Savanna Grass= Dirt with Snow= Dirt with Rainforest Litter= Dirt with Coniferous Litter= -Dry Dirt= -Dry Dirt with Dry Grass= +Savanna Dirt= +Savanna Dirt with Savanna Grass= Permafrost= Permafrost with Stones= Permafrost with Moss= @@ -124,7 +129,7 @@ Papyrus= Dry Shrub= Jungle Grass= Grass= -Dry Grass= +Savanna Grass= Fern= Marram Grass= Bush Stem= @@ -156,6 +161,7 @@ Empty Bookshelf= Bookshelf (@1 written, @2 empty books)= Bookshelf= Text too long= +"@1"= Wooden Sign= Steel Sign= Wooden Ladder= @@ -174,7 +180,11 @@ Glass= Obsidian Glass= Brick Block= Mese Lamp= -Mese Post Light= +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= Cloud= Wooden Pickaxe= Stone Pickaxe= @@ -200,12 +210,5 @@ Bronze Sword= Steel Sword= Mese Sword= Diamond Sword= -Key= Torch= @1 will intersect protection on growth.= -Title:= -Contents:= -Save= -by @1= -Page @1 of @2= -"@1"= diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index a361f894..8c161d1e 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -576,7 +576,7 @@ function default.register_ores() -- Only where default:dirt is present as surface material biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest", "deciduous_forest", "deciduous_forest_shore", "rainforest", - "rainforest_swamp", "floatland_coniferous_forest"} + "rainforest_swamp"} }) -- Gravel @@ -890,7 +890,7 @@ end -- All mapgens except mgv6 -function default.register_biomes(upper_limit) +function default.register_biomes() -- Icesheet @@ -909,7 +909,7 @@ function default.register_biomes(upper_limit) depth_riverbed = 2, node_dungeon = "default:ice", node_dungeon_stair = "stairs:stair_ice", - y_max = upper_limit, + y_max = 31000, y_min = -8, heat_point = 0, humidity_point = 73, @@ -956,7 +956,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 47, heat_point = 0, humidity_point = 40, @@ -1043,7 +1043,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 4, heat_point = 25, humidity_point = 70, @@ -1095,7 +1095,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 4, heat_point = 20, humidity_point = 35, @@ -1146,7 +1146,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 6, heat_point = 50, humidity_point = 35, @@ -1213,7 +1213,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 6, heat_point = 45, humidity_point = 70, @@ -1280,7 +1280,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 1, heat_point = 60, humidity_point = 68, @@ -1347,7 +1347,7 @@ function default.register_biomes(upper_limit) depth_riverbed = 2, node_dungeon = "default:desert_stone", node_dungeon_stair = "stairs:stair_desert_stone", - y_max = upper_limit, + y_max = 31000, y_min = 4, heat_point = 92, humidity_point = 16, @@ -1397,7 +1397,7 @@ function default.register_biomes(upper_limit) depth_riverbed = 2, node_dungeon = "default:sandstonebrick", node_dungeon_stair = "stairs:stair_sandstone_block", - y_max = upper_limit, + y_max = 31000, y_min = 4, heat_point = 60, humidity_point = 0, @@ -1446,7 +1446,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 4, heat_point = 40, humidity_point = 0, @@ -1496,7 +1496,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 1, heat_point = 89, humidity_point = 42, @@ -1563,7 +1563,7 @@ function default.register_biomes(upper_limit) node_dungeon = "default:cobble", node_dungeon_alt = "default:mossycobble", node_dungeon_stair = "stairs:stair_cobble", - y_max = upper_limit, + y_max = 31000, y_min = 1, heat_point = 86, humidity_point = 65, @@ -1619,59 +1619,6 @@ function default.register_biomes(upper_limit) end --- Biomes for floatlands - --- TODO Temporary simple biomes to be replaced by special floatland biomes later. - -function default.register_floatland_biomes(floatland_level, shadow_limit) - - minetest.register_biome({ - name = "floatland_grassland", - node_top = "default:dirt_with_grass", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 1, - node_dungeon = "default:cobble", - node_dungeon_alt = "default:mossycobble", - node_dungeon_stair = "stairs:stair_cobble", - y_max = 31000, - y_min = floatland_level + 2, - heat_point = 50, - humidity_point = 25, - }) - - minetest.register_biome({ - name = "floatland_coniferous_forest", - node_top = "default:dirt_with_coniferous_litter", - depth_top = 1, - node_filler = "default:dirt", - depth_filler = 3, - node_dungeon = "default:cobble", - node_dungeon_alt = "default:mossycobble", - node_dungeon_stair = "stairs:stair_cobble", - y_max = 31000, - y_min = floatland_level + 2, - heat_point = 50, - humidity_point = 75, - }) - - minetest.register_biome({ - name = "floatland_ocean", - node_top = "default:sand", - depth_top = 1, - node_filler = "default:sand", - depth_filler = 3, - node_dungeon = "default:cobble", - node_dungeon_alt = "default:mossycobble", - node_dungeon_stair = "stairs:stair_cobble", - y_max = floatland_level + 1, - y_min = shadow_limit, - heat_point = 50, - humidity_point = 50, - }) -end - - -- -- Register decorations -- @@ -1787,7 +1734,7 @@ local function register_grass_decoration(offset, scale, length) octaves = 3, persist = 0.6 }, - biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, + biomes = {"grassland", "deciduous_forest"}, y_max = 31000, y_min = 1, decoration = "default:grass_" .. length, @@ -1829,7 +1776,7 @@ local function register_fern_decoration(seed, length) octaves = 3, persist = 0.7 }, - biomes = {"coniferous_forest", "floatland_coniferous_forest"}, + biomes = {"coniferous_forest"}, y_max = 31000, y_min = 6, decoration = "default:fern_" .. length, @@ -1944,11 +1891,35 @@ function default.register_decorations() minetest.register_decoration({ name = "default:jungle_tree", deco_type = "schematic", - place_on = {"default:dirt_with_rainforest_litter", "default:dirt"}, + place_on = {"default:dirt_with_rainforest_litter"}, sidelen = 80, fill_ratio = 0.1, - biomes = {"rainforest", "rainforest_swamp"}, + biomes = {"rainforest"}, y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + -- Swamp jungle trees + + minetest.register_decoration({ + name = "default:jungle_tree(swamp)", + deco_type = "schematic", + place_on = {"default:dirt"}, + sidelen = 16, + -- Noise tuned to place swamp trees where papyrus is absent + noise_params = { + offset = 0.0, + scale = -0.1, + spread = {x = 200, y = 200, z = 200}, + seed = 354, + octaves = 1, + persist = 0.5 + }, + biomes = {"rainforest_swamp"}, + y_max = 0, y_min = -1, schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts", flags = "place_center_x, place_center_z", @@ -1962,7 +1933,7 @@ function default.register_decorations() place_offset_y = 1, sidelen = 80, fill_ratio = 0.005, - biomes = {"rainforest", "rainforest_swamp"}, + biomes = {"rainforest"}, y_max = 31000, y_min = 1, schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts", @@ -1987,7 +1958,7 @@ function default.register_decorations() octaves = 3, persist = 0.66 }, - biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, + biomes = {"taiga", "coniferous_forest"}, y_max = 31000, y_min = 4, schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts", @@ -2007,7 +1978,7 @@ function default.register_decorations() octaves = 3, persist = 0.66 }, - biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, + biomes = {"taiga", "coniferous_forest"}, y_max = 31000, y_min = 4, schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts", @@ -2021,7 +1992,7 @@ function default.register_decorations() place_offset_y = 1, sidelen = 80, fill_ratio = 0.0018, - biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, + biomes = {"taiga", "coniferous_forest"}, y_max = 31000, y_min = 4, schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts", @@ -2172,8 +2143,10 @@ function default.register_decorations() -- Papyrus + -- Dirt version for rainforest swamp + minetest.register_decoration({ - name = "default:papyrus", + name = "default:papyrus_on_dirt", deco_type = "schematic", place_on = {"default:dirt"}, sidelen = 16, @@ -2185,10 +2158,32 @@ function default.register_decorations() octaves = 3, persist = 0.7 }, + biomes = {"rainforest_swamp"}, + y_max = 0, + y_min = 0, + schematic = minetest.get_modpath("default") .. "/schematics/papyrus_on_dirt.mts", + }) + + -- Dry dirt version for savanna shore + + minetest.register_decoration({ + name = "default:papyrus_on_dry_dirt", + deco_type = "schematic", + place_on = {"default:dry_dirt"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 200, y = 200, z = 200}, + seed = 354, + octaves = 3, + persist = 0.7 + }, biomes = {"savanna_shore"}, y_max = 0, y_min = 0, - schematic = minetest.get_modpath("default") .. "/schematics/papyrus.mts", + schematic = minetest.get_modpath("default") .. + "/schematics/papyrus_on_dry_dirt.mts", }) -- Bush @@ -2206,8 +2201,7 @@ function default.register_decorations() octaves = 3, persist = 0.7, }, - biomes = {"grassland", "deciduous_forest", - "floatland_grassland"}, + biomes = {"grassland", "deciduous_forest"}, y_max = 31000, y_min = 1, schematic = minetest.get_modpath("default") .. "/schematics/bush.mts", @@ -2479,22 +2473,9 @@ end -- --- Detect mapgen, flags and parameters to select functions +-- Detect mapgen to select functions -- --- Get setting or default -local mgv7_spflags = minetest.get_mapgen_setting("mgv7_spflags") or - "mountains, ridges, nofloatlands, caverns" -local captures_float = string.match(mgv7_spflags, "floatlands") -local captures_nofloat = string.match(mgv7_spflags, "nofloatlands") - --- Get setting or default --- Make global for mods to use to register floatland biomes -default.mgv7_floatland_level = - minetest.get_mapgen_setting("mgv7_floatland_level") or 1280 -default.mgv7_shadow_limit = - minetest.get_mapgen_setting("mgv7_shadow_limit") or 1024 - minetest.clear_registered_biomes() minetest.clear_registered_ores() minetest.clear_registered_decorations() @@ -2504,19 +2485,8 @@ local mg_name = minetest.get_mapgen_setting("mg_name") if mg_name == "v6" then default.register_mgv6_ores() default.register_mgv6_decorations() --- Need to check for 'nofloatlands' because that contains --- 'floatlands' which makes the second condition true. -elseif mg_name == "v7" and - captures_float == "floatlands" and - captures_nofloat ~= "nofloatlands" then - -- Mgv7 with floatlands and floatland biomes - default.register_biomes(default.mgv7_shadow_limit - 1) - default.register_floatland_biomes( - default.mgv7_floatland_level, default.mgv7_shadow_limit) - default.register_ores() - default.register_decorations() else - default.register_biomes(31000) + default.register_biomes() default.register_ores() default.register_decorations() end diff --git a/mods/default/models/torch_ceiling.obj b/mods/default/models/torch_ceiling.obj index ea51f3ce..5df8597c 100644 --- a/mods/default/models/torch_ceiling.obj +++ b/mods/default/models/torch_ceiling.obj @@ -1,7 +1,5 @@ # Blender v2.77 (sub 0) OBJ File: 'torch_ceiling.blend' # www.blender.org -mtllib torch_ceiling.mtl -o Cube_Cube.001 v -0.062469 -0.047331 0.068152 v -0.062469 -0.559515 -0.164388 v -0.062469 0.004344 -0.045667 @@ -45,14 +43,11 @@ vn -0.0000 -0.4134 0.9105 vn -1.0000 0.0000 0.0000 vn 0.7071 0.0000 -0.7071 vn 0.7071 0.0000 0.7071 -usemtl Material.001 -s off f 3/1/1 1/2/1 5/3/1 7/4/1 f 8/5/1 4/6/1 2/7/1 6/8/1 f 3/9/2 4/6/2 8/5/2 7/10/2 f 1/11/3 3/9/3 4/6/3 2/12/3 f 5/13/2 1/11/2 2/12/2 6/14/2 f 7/10/3 8/5/3 6/14/3 5/13/3 -usemtl Material.002 f 9/15/4 10/16/4 12/17/4 11/18/4 f 13/19/5 14/20/5 16/21/5 15/22/5 diff --git a/mods/default/models/torch_floor.obj b/mods/default/models/torch_floor.obj index e2487efe..dfd25e8f 100644 --- a/mods/default/models/torch_floor.obj +++ b/mods/default/models/torch_floor.obj @@ -1,7 +1,5 @@ # Blender v2.76 (sub 11) OBJ File: 'torch_floor.blend' # www.blender.org -mtllib torch_floor.mtl -o Cube_Cube.001 v 0.062500 0.062500 -0.062500 v 0.062500 -0.500000 -0.062500 v 0.062500 0.062500 0.062500 @@ -35,16 +33,11 @@ vn 0.000000 0.000000 -1.000000 vn 1.000000 0.000000 0.000000 vn -0.707100 0.000000 -0.707100 vn -0.707100 -0.000000 0.707100 -g Cube_Cube.001_Cube_Cube.001_Material.001 -usemtl Material.001 -s off f 3/1/1 1/2/1 5/3/1 7/4/1 f 8/5/1 4/6/1 2/7/1 6/8/1 f 3/2/2 4/6/2 8/5/2 7/3/2 f 1/3/3 3/2/3 4/6/3 2/5/3 f 5/2/2 1/3/2 2/5/2 6/6/2 f 7/3/3 8/5/3 6/6/3 5/2/3 -g Cube_Cube.001_Cube_Cube.001_Material.002 -usemtl Material.002 f 9/9/4 10/10/4 12/11/4 11/12/4 f 13/12/5 14/9/5 16/10/5 15/11/5 diff --git a/mods/default/models/torch_wall.obj b/mods/default/models/torch_wall.obj index 57baa9e6..6de4b131 100644 --- a/mods/default/models/torch_wall.obj +++ b/mods/default/models/torch_wall.obj @@ -1,7 +1,5 @@ # Blender v2.76 (sub 11) OBJ File: 'torch_wall.blend' # www.blender.org -mtllib torch_wall.mtl -o Cube_Cube.001 v 0.062469 -0.195248 0.023570 v 0.062469 -0.476498 -0.463570 v 0.062469 -0.303502 0.086070 @@ -47,9 +45,6 @@ vn -0.707100 0.612400 -0.353600 vn -0.707100 -0.612400 0.353600 vn -0.707100 0.707100 -0.000000 vn -0.707100 -0.707100 -0.000000 -g Cube_Cube.001_Cube_Cube.001_Material.001 -usemtl Material.001 -s off f 3/1/1 1/2/1 5/3/1 7/4/1 f 8/5/1 4/6/1 2/7/1 6/8/1 f 3/2/2 4/6/2 8/5/2 7/3/2 @@ -58,7 +53,5 @@ f 5/2/2 1/3/2 2/5/2 6/6/2 f 7/3/3 8/5/3 6/6/3 5/2/3 f 17/9/4 18/10/4 20/11/4 19/12/4 f 21/9/5 22/10/5 24/11/5 23/12/5 -g Cube_Cube.001_Cube_Cube.001_Material.002 -usemtl Material.002 f 9/12/6 10/13/6 12/14/6 11/9/6 f 13/9/7 14/12/7 16/13/7 15/14/7 diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index cee1242a..a2974517 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -180,6 +180,9 @@ default:sand_with_kelp Corals ------ +default:coral_green +default:coral_pink +default:coral_cyan default:coral_brown default:coral_orange default:coral_skeleton @@ -214,6 +217,12 @@ default:fence_junglewood default:fence_pine_wood default:fence_aspen_wood +default:fence_rail_wood +default:fence_rail_acacia_wood +default:fence_rail_junglewood +default:fence_rail_pine_wood +default:fence_rail_aspen_wood + default:glass default:obsidian_glass @@ -221,6 +230,10 @@ default:brick default:meselamp default:mese_post_light +default:mese_post_light_acacia_wood +default:mese_post_light_junglewood +default:mese_post_light_pine_wood +default:mese_post_light_aspen_wood Misc ---- @@ -458,12 +471,12 @@ minetest.register_node("default:dirt_with_grass_footsteps", { }) minetest.register_node("default:dirt_with_dry_grass", { - description = S("Dirt with Dry Grass"), + description = S("Dirt with Savanna Grass"), tiles = {"default_dry_grass.png", "default_dirt.png", {name = "default_dirt.png^default_dry_grass_side.png", tileable_vertical = false}}, - groups = {crumbly = 3, soil = 1}, + groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, drop = "default:dirt", sounds = default.node_sound_dirt_defaults({ footstep = {name = "default_grass_footstep", gain = 0.4}, @@ -513,14 +526,14 @@ minetest.register_node("default:dirt_with_coniferous_litter", { }) minetest.register_node("default:dry_dirt", { - description = S("Dry Dirt"), + description = S("Savanna Dirt"), tiles = {"default_dry_dirt.png"}, groups = {crumbly = 3, soil = 1}, sounds = default.node_sound_dirt_defaults(), }) minetest.register_node("default:dry_dirt_with_dry_grass", { - description = S("Dry Dirt with Dry Grass"), + description = S("Savanna Dirt with Savanna Grass"), tiles = {"default_dry_grass.png", "default_dry_dirt.png", {name = "default_dry_dirt.png^default_dry_grass_side.png", tileable_vertical = false}}, @@ -621,7 +634,7 @@ minetest.register_node("default:snow", { collision_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, -7 / 16, 0.5}, + {-0.5, -0.5, -0.5, 0.5, -6 / 16, 0.5}, }, }, groups = {crumbly = 3, falling_node = 1, snowy = 1}, @@ -656,7 +669,7 @@ minetest.register_node("default:ice", { is_ground_content = false, paramtype = "light", groups = {cracky = 3, cools_lava = 1, slippery = 3}, - sounds = default.node_sound_glass_defaults(), + sounds = default.node_sound_ice_defaults(), }) -- Mapgen-placed ice with 'is ground content = true' to contain tunnels @@ -667,7 +680,7 @@ minetest.register_node("default:cave_ice", { groups = {cracky = 3, cools_lava = 1, slippery = 3, not_in_creative_inventory = 1}, drop = "default:ice", - sounds = default.node_sound_glass_defaults(), + sounds = default.node_sound_ice_defaults(), }) -- @@ -792,6 +805,8 @@ minetest.register_node("default:apple", { minetest.register_node("default:apple_mark", { description = S("Apple Marker"), + inventory_image = "default_apple.png^default_invisible_node_overlay.png", + wield_image = "default_apple.png^default_invisible_node_overlay.png", drawtype = "airlike", paramtype = "light", sunlight_propagates = true, @@ -1435,7 +1450,7 @@ minetest.register_node("default:junglegrass", { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, junglegrass = 1, flammable = 1}, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "fixed", @@ -1456,7 +1471,8 @@ minetest.register_node("default:grass_1", { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, + normal_grass = 1, flammable = 1}, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "fixed", @@ -1486,7 +1502,8 @@ for i = 2, 5 do buildable_to = true, drop = "default:grass_1", groups = {snappy = 3, flora = 1, attached_node = 1, - not_in_creative_inventory = 1, grass = 1, flammable = 1}, + not_in_creative_inventory = 1, grass = 1, + normal_grass = 1, flammable = 1}, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "fixed", @@ -1497,7 +1514,7 @@ end minetest.register_node("default:dry_grass_1", { - description = S("Dry Grass"), + description = S("Savanna Grass"), drawtype = "plantlike", waving = 1, tiles = {"default_dry_grass_1.png"}, @@ -1508,7 +1525,7 @@ minetest.register_node("default:dry_grass_1", { walkable = false, buildable_to = true, groups = {snappy = 3, flammable = 3, flora = 1, - attached_node = 1, dry_grass = 1}, + attached_node = 1, grass = 1, dry_grass = 1}, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "fixed", @@ -1526,7 +1543,7 @@ minetest.register_node("default:dry_grass_1", { for i = 2, 5 do minetest.register_node("default:dry_grass_" .. i, { - description = S("Dry Grass"), + description = S("Savanna Grass"), drawtype = "plantlike", waving = 1, tiles = {"default_dry_grass_" .. i .. ".png"}, @@ -1537,7 +1554,7 @@ for i = 2, 5 do walkable = false, buildable_to = true, groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, - not_in_creative_inventory=1, dry_grass = 1}, + not_in_creative_inventory = 1, grass = 1, dry_grass = 1}, drop = "default:dry_grass_1", sounds = default.node_sound_leaves_defaults(), selection_box = { @@ -1559,7 +1576,8 @@ minetest.register_node("default:fern_1", { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1}, + groups = {snappy = 3, flammable = 3, flora = 1, grass = 1, + fern = 1, attached_node = 1}, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "fixed", @@ -1589,7 +1607,7 @@ for i = 2, 3 do walkable = false, buildable_to = true, groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, - not_in_creative_inventory=1}, + grass = 1, fern = 1, not_in_creative_inventory = 1}, drop = "default:fern_1", sounds = default.node_sound_leaves_defaults(), selection_box = { @@ -1611,7 +1629,8 @@ minetest.register_node("default:marram_grass_1", { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = {snappy = 3, flammable = 3, attached_node = 1}, + groups = {snappy = 3, flammable = 3, flora = 1, grass = 1, marram_grass = 1, + attached_node = 1}, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "fixed", @@ -1639,8 +1658,8 @@ for i = 2, 3 do sunlight_propagates = true, walkable = false, buildable_to = true, - groups = {snappy = 3, flammable = 3, attached_node = 1, - not_in_creative_inventory=1}, + groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, + grass = 1, marram_grass = 1, not_in_creative_inventory = 1}, drop = "default:marram_grass_1", sounds = default.node_sound_leaves_defaults(), selection_box = { @@ -1671,7 +1690,6 @@ minetest.register_node("default:bush_stem", { minetest.register_node("default:bush_leaves", { description = S("Bush Leaves"), drawtype = "allfaces_optional", - waving = 1, tiles = {"default_leaves_simple.png"}, paramtype = "light", groups = {snappy = 3, flammable = 2, leaves = 1}, @@ -1725,7 +1743,6 @@ minetest.register_node("default:bush_sapling", { minetest.register_node("default:blueberry_bush_leaves_with_berries", { description = S("Blueberry Bush Leaves with Berries"), drawtype = "allfaces_optional", - waving = 1, tiles = {"default_blueberry_bush_leaves.png^default_blueberry_overlay.png"}, paramtype = "light", groups = {snappy = 3, flammable = 2, leaves = 1, dig_immediate = 3}, @@ -1742,7 +1759,6 @@ minetest.register_node("default:blueberry_bush_leaves_with_berries", { minetest.register_node("default:blueberry_bush_leaves", { description = S("Blueberry Bush Leaves"), drawtype = "allfaces_optional", - waving = 1, tiles = {"default_blueberry_bush_leaves.png"}, paramtype = "light", groups = {snappy = 3, flammable = 2, leaves = 1}, @@ -1821,7 +1837,6 @@ minetest.register_node("default:acacia_bush_stem", { minetest.register_node("default:acacia_bush_leaves", { description = S("Acacia Bush Leaves"), drawtype = "allfaces_optional", - waving = 1, tiles = {"default_acacia_leaves_simple.png"}, paramtype = "light", groups = {snappy = 3, flammable = 2, leaves = 1}, @@ -1892,7 +1907,6 @@ minetest.register_node("default:pine_bush_stem", { minetest.register_node("default:pine_bush_needles", { description = S("Pine Bush Needles"), drawtype = "allfaces_optional", - waving = 1, tiles = {"default_pine_needles.png"}, paramtype = "light", groups = {snappy = 3, flammable = 2, leaves = 1}, @@ -1943,6 +1957,7 @@ minetest.register_node("default:pine_bush_sapling", { end, }) + minetest.register_node("default:sand_with_kelp", { description = S("Kelp"), drawtype = "plantlike_rooted", @@ -1950,6 +1965,7 @@ minetest.register_node("default:sand_with_kelp", { tiles = {"default_sand.png"}, special_tiles = {{name = "default_kelp.png", tileable_vertical = true}}, inventory_image = "default_kelp.png", + wield_image = "default_kelp.png", paramtype = "light", paramtype2 = "leveled", groups = {snappy = 3}, @@ -1996,8 +2012,7 @@ minetest.register_node("default:sand_with_kelp", { not minetest.is_protected(pos_top, player_name) then minetest.set_node(pos, {name = "default:sand_with_kelp", param2 = height * 16}) - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(player_name)) then + if not minetest.is_creative_enabled(player_name) then itemstack:take_item() end else @@ -2031,7 +2046,7 @@ local function coral_on_place(itemstack, placer, pointed_thing) local def_under = minetest.registered_nodes[node_under.name] if def_under and def_under.on_rightclick and not placer:get_player_control().sneak then - return def_under.on_rightclick(pos_under, node_under.name, + return def_under.on_rightclick(pos_under, node_under, placer, itemstack, pointed_thing) or itemstack end @@ -2052,7 +2067,7 @@ local function coral_on_place(itemstack, placer, pointed_thing) node_under.name = itemstack:get_name() minetest.set_node(pos_under, node_under) - if not (creative and creative.is_enabled_for(player_name)) then + if not minetest.is_creative_enabled(player_name) then itemstack:take_item() end @@ -2067,6 +2082,7 @@ minetest.register_node("default:coral_green", { tiles = {"default_coral_skeleton.png"}, special_tiles = {{name = "default_coral_green.png", tileable_vertical = true}}, inventory_image = "default_coral_green.png", + wield_image = "default_coral_green.png", groups = {snappy = 3}, selection_box = { type = "fixed", @@ -2097,6 +2113,7 @@ minetest.register_node("default:coral_pink", { tiles = {"default_coral_skeleton.png"}, special_tiles = {{name = "default_coral_pink.png", tileable_vertical = true}}, inventory_image = "default_coral_pink.png", + wield_image = "default_coral_pink.png", groups = {snappy = 3}, selection_box = { type = "fixed", @@ -2127,6 +2144,7 @@ minetest.register_node("default:coral_cyan", { tiles = {"default_coral_skeleton.png"}, special_tiles = {{name = "default_coral_cyan.png", tileable_vertical = true}}, inventory_image = "default_coral_cyan.png", + wield_image = "default_coral_cyan.png", groups = {snappy = 3}, selection_box = { type = "fixed", @@ -2203,7 +2221,7 @@ minetest.register_node("default:water_source", { }, }, }, - alpha = 160, + use_texture_alpha = "blend", paramtype = "light", walkable = false, pointable = false, @@ -2234,7 +2252,7 @@ minetest.register_node("default:water_flowing", { type = "vertical_frames", aspect_w = 16, aspect_h = 16, - length = 0.8, + length = 0.5, }, }, { @@ -2244,11 +2262,11 @@ minetest.register_node("default:water_flowing", { type = "vertical_frames", aspect_w = 16, aspect_h = 16, - length = 0.8, + length = 0.5, }, }, }, - alpha = 160, + use_texture_alpha = "blend", paramtype = "light", paramtype2 = "flowingliquid", walkable = false, @@ -2294,7 +2312,7 @@ minetest.register_node("default:river_water_source", { }, }, }, - alpha = 160, + use_texture_alpha = "blend", paramtype = "light", walkable = false, pointable = false, @@ -2330,7 +2348,7 @@ minetest.register_node("default:river_water_flowing", { type = "vertical_frames", aspect_w = 16, aspect_h = 16, - length = 0.8, + length = 0.5, }, }, { @@ -2340,11 +2358,11 @@ minetest.register_node("default:river_water_flowing", { type = "vertical_frames", aspect_w = 16, aspect_h = 16, - length = 0.8, + length = 0.5, }, }, }, - alpha = 160, + use_texture_alpha = "blend", paramtype = "light", paramtype2 = "flowingliquid", walkable = false, @@ -2568,6 +2586,7 @@ local function register_sign(material, desc, def) sunlight_propagates = true, is_ground_content = false, walkable = false, + use_texture_alpha = "opaque", node_box = { type = "wallmounted", wall_top = {-0.4375, 0.4375, -0.3125, 0.4375, 0.5, 0.3125}, @@ -2579,12 +2598,10 @@ local function register_sign(material, desc, def) sounds = def.sounds, on_construct = function(pos) - --local n = minetest.get_node(pos) local meta = minetest.get_meta(pos) meta:set_string("formspec", "field[text;;${text}]") end, on_receive_fields = function(pos, formname, fields, sender) - --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) local player_name = sender:get_player_name() if minetest.is_protected(pos, player_name) then minetest.record_protection_violation(pos, player_name) @@ -2598,8 +2615,8 @@ local function register_sign(material, desc, def) minetest.chat_send_player(player_name, S("Text too long")) return end - minetest.log("action", (player_name or "") .. " wrote \"" .. - text .. "\" to sign at " .. minetest.pos_to_string(pos)) + minetest.log("action", player_name .. " wrote \"" .. text .. + "\" to the sign at " .. minetest.pos_to_string(pos)) local meta = minetest.get_meta(pos) meta:set_string("text", text) @@ -2791,6 +2808,7 @@ minetest.register_node("default:glass", { description = S("Glass"), drawtype = "glasslike_framed_optional", tiles = {"default_glass.png", "default_glass_detail.png"}, + use_texture_alpha = "clip", -- only needed for stairs API paramtype = "light", paramtype2 = "glasslikeliquidlevel", sunlight_propagates = true, @@ -2803,6 +2821,7 @@ minetest.register_node("default:obsidian_glass", { description = S("Obsidian Glass"), drawtype = "glasslike_framed_optional", tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"}, + use_texture_alpha = "clip", -- only needed for stairs API paramtype = "light", paramtype2 = "glasslikeliquidlevel", is_ground_content = false, @@ -2816,7 +2835,10 @@ minetest.register_node("default:brick", { description = S("Brick Block"), paramtype2 = "facedir", place_param2 = 0, - tiles = {"default_brick.png"}, + tiles = { + "default_brick.png^[transformFX", + "default_brick.png", + }, is_ground_content = false, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), @@ -2835,25 +2857,34 @@ minetest.register_node("default:meselamp", { light_source = default.LIGHT_MAX, }) -minetest.register_node("default:mese_post_light", { - description = S("Mese Post Light"), - tiles = {"default_mese_post_light_top.png", "default_mese_post_light_top.png", - "default_mese_post_light_side_dark.png", "default_mese_post_light_side_dark.png", - "default_mese_post_light_side.png", "default_mese_post_light_side.png"}, - wield_image = "default_mese_post_light_side.png", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, - }, - }, - paramtype = "light", - light_source = default.LIGHT_MAX, - sunlight_propagates = true, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), +default.register_mesepost("default:mese_post_light", { + description = S("Apple Wood Mese Post Light"), + texture = "default_fence_wood.png", + material = "default:wood", +}) + +default.register_mesepost("default:mese_post_light_acacia_wood", { + description = S("Acacia Wood Mese Post Light"), + texture = "default_fence_acacia_wood.png", + material = "default:acacia_wood", +}) + +default.register_mesepost("default:mese_post_light_junglewood", { + description = S("Jungle Wood Mese Post Light"), + texture = "default_fence_junglewood.png", + material = "default:junglewood", +}) + +default.register_mesepost("default:mese_post_light_pine_wood", { + description = S("Pine Wood Mese Post Light"), + texture = "default_fence_pine_wood.png", + material = "default:pine_wood", +}) + +default.register_mesepost("default:mese_post_light_aspen_wood", { + description = S("Aspen Wood Mese Post Light"), + texture = "default_fence_aspen_wood.png", + material = "default:aspen_wood", }) -- diff --git a/mods/default/schematics/papyrus.mts b/mods/default/schematics/papyrus_on_dirt.mts similarity index 100% rename from mods/default/schematics/papyrus.mts rename to mods/default/schematics/papyrus_on_dirt.mts diff --git a/mods/default/schematics/papyrus_on_dry_dirt.mts b/mods/default/schematics/papyrus_on_dry_dirt.mts new file mode 100644 index 00000000..36265802 Binary files /dev/null and b/mods/default/schematics/papyrus_on_dry_dirt.mts differ diff --git a/mods/default/sounds/default_dig_choppy.1.ogg b/mods/default/sounds/default_dig_choppy.1.ogg new file mode 100644 index 00000000..95fa6d4e Binary files /dev/null and b/mods/default/sounds/default_dig_choppy.1.ogg differ diff --git a/mods/default/sounds/default_dig_choppy.2.ogg b/mods/default/sounds/default_dig_choppy.2.ogg new file mode 100644 index 00000000..5d3a0444 Binary files /dev/null and b/mods/default/sounds/default_dig_choppy.2.ogg differ diff --git a/mods/default/sounds/default_dig_choppy.3.ogg b/mods/default/sounds/default_dig_choppy.3.ogg new file mode 100644 index 00000000..2bb0aceb Binary files /dev/null and b/mods/default/sounds/default_dig_choppy.3.ogg differ diff --git a/mods/default/sounds/default_dig_choppy.ogg b/mods/default/sounds/default_dig_choppy.ogg deleted file mode 100644 index e2ecd841..00000000 Binary files a/mods/default/sounds/default_dig_choppy.ogg and /dev/null differ diff --git a/mods/default/sounds/default_dig_cracky.1.ogg b/mods/default/sounds/default_dig_cracky.1.ogg new file mode 100644 index 00000000..ffced27a Binary files /dev/null and b/mods/default/sounds/default_dig_cracky.1.ogg differ diff --git a/mods/default/sounds/default_dig_cracky.2.ogg b/mods/default/sounds/default_dig_cracky.2.ogg new file mode 100644 index 00000000..d9e80103 Binary files /dev/null and b/mods/default/sounds/default_dig_cracky.2.ogg differ diff --git a/mods/default/sounds/default_dig_cracky.3.ogg b/mods/default/sounds/default_dig_cracky.3.ogg new file mode 100644 index 00000000..7d19d408 Binary files /dev/null and b/mods/default/sounds/default_dig_cracky.3.ogg differ diff --git a/mods/default/sounds/default_dig_cracky.ogg b/mods/default/sounds/default_dig_cracky.ogg deleted file mode 100644 index da116791..00000000 Binary files a/mods/default/sounds/default_dig_cracky.ogg and /dev/null differ diff --git a/mods/default/sounds/default_furnace_active.ogg b/mods/default/sounds/default_furnace_active.ogg new file mode 100644 index 00000000..536edc24 Binary files /dev/null and b/mods/default/sounds/default_furnace_active.ogg differ diff --git a/mods/default/sounds/default_grass_footstep.1.ogg b/mods/default/sounds/default_grass_footstep.1.ogg index 22d1ad6b..a04cdb47 100644 Binary files a/mods/default/sounds/default_grass_footstep.1.ogg and b/mods/default/sounds/default_grass_footstep.1.ogg differ diff --git a/mods/default/sounds/default_grass_footstep.2.ogg b/mods/default/sounds/default_grass_footstep.2.ogg index 4ccd8a0f..d193068d 100644 Binary files a/mods/default/sounds/default_grass_footstep.2.ogg and b/mods/default/sounds/default_grass_footstep.2.ogg differ diff --git a/mods/default/sounds/default_grass_footstep.3.ogg b/mods/default/sounds/default_grass_footstep.3.ogg index 20db84ed..e1897ea3 100644 Binary files a/mods/default/sounds/default_grass_footstep.3.ogg and b/mods/default/sounds/default_grass_footstep.3.ogg differ diff --git a/mods/default/sounds/default_gravel_dig.1.ogg b/mods/default/sounds/default_gravel_dig.1.ogg new file mode 100644 index 00000000..baf8fca7 Binary files /dev/null and b/mods/default/sounds/default_gravel_dig.1.ogg differ diff --git a/mods/default/sounds/default_gravel_dig.2.ogg b/mods/default/sounds/default_gravel_dig.2.ogg new file mode 100644 index 00000000..e0c0c50f Binary files /dev/null and b/mods/default/sounds/default_gravel_dig.2.ogg differ diff --git a/mods/default/sounds/default_gravel_dug.1.ogg b/mods/default/sounds/default_gravel_dug.1.ogg new file mode 100644 index 00000000..13034335 Binary files /dev/null and b/mods/default/sounds/default_gravel_dug.1.ogg differ diff --git a/mods/default/sounds/default_gravel_dug.2.ogg b/mods/default/sounds/default_gravel_dug.2.ogg new file mode 100644 index 00000000..ee5ed330 Binary files /dev/null and b/mods/default/sounds/default_gravel_dug.2.ogg differ diff --git a/mods/default/sounds/default_gravel_dug.3.ogg b/mods/default/sounds/default_gravel_dug.3.ogg new file mode 100644 index 00000000..add4c54b Binary files /dev/null and b/mods/default/sounds/default_gravel_dug.3.ogg differ diff --git a/mods/default/sounds/default_hard_footstep.1.ogg b/mods/default/sounds/default_hard_footstep.1.ogg index 1748bc56..0a08efa8 100644 Binary files a/mods/default/sounds/default_hard_footstep.1.ogg and b/mods/default/sounds/default_hard_footstep.1.ogg differ diff --git a/mods/default/sounds/default_hard_footstep.2.ogg b/mods/default/sounds/default_hard_footstep.2.ogg index fe39fd78..be52a870 100644 Binary files a/mods/default/sounds/default_hard_footstep.2.ogg and b/mods/default/sounds/default_hard_footstep.2.ogg differ diff --git a/mods/default/sounds/default_hard_footstep.3.ogg b/mods/default/sounds/default_hard_footstep.3.ogg index 5030e060..a342787d 100644 Binary files a/mods/default/sounds/default_hard_footstep.3.ogg and b/mods/default/sounds/default_hard_footstep.3.ogg differ diff --git a/mods/default/sounds/default_ice_dig.1.ogg b/mods/default/sounds/default_ice_dig.1.ogg new file mode 100644 index 00000000..97399c83 Binary files /dev/null and b/mods/default/sounds/default_ice_dig.1.ogg differ diff --git a/mods/default/sounds/default_ice_dig.2.ogg b/mods/default/sounds/default_ice_dig.2.ogg new file mode 100644 index 00000000..8a5da119 Binary files /dev/null and b/mods/default/sounds/default_ice_dig.2.ogg differ diff --git a/mods/default/sounds/default_ice_dig.3.ogg b/mods/default/sounds/default_ice_dig.3.ogg new file mode 100644 index 00000000..765fb9be Binary files /dev/null and b/mods/default/sounds/default_ice_dig.3.ogg differ diff --git a/mods/default/sounds/default_ice_dug.ogg b/mods/default/sounds/default_ice_dug.ogg new file mode 100644 index 00000000..ae37673e Binary files /dev/null and b/mods/default/sounds/default_ice_dug.ogg differ diff --git a/mods/default/sounds/default_ice_footstep.1.ogg b/mods/default/sounds/default_ice_footstep.1.ogg new file mode 100644 index 00000000..c235f1ef Binary files /dev/null and b/mods/default/sounds/default_ice_footstep.1.ogg differ diff --git a/mods/default/sounds/default_ice_footstep.2.ogg b/mods/default/sounds/default_ice_footstep.2.ogg new file mode 100644 index 00000000..61d2c990 Binary files /dev/null and b/mods/default/sounds/default_ice_footstep.2.ogg differ diff --git a/mods/default/sounds/default_ice_footstep.3.ogg b/mods/default/sounds/default_ice_footstep.3.ogg new file mode 100644 index 00000000..2ecbb431 Binary files /dev/null and b/mods/default/sounds/default_ice_footstep.3.ogg differ diff --git a/mods/default/sounds/default_metal_footstep.1.ogg b/mods/default/sounds/default_metal_footstep.1.ogg index 841286bd..49fe89ba 100644 Binary files a/mods/default/sounds/default_metal_footstep.1.ogg and b/mods/default/sounds/default_metal_footstep.1.ogg differ diff --git a/mods/default/sounds/default_metal_footstep.2.ogg b/mods/default/sounds/default_metal_footstep.2.ogg index aa61ed33..878711d5 100644 Binary files a/mods/default/sounds/default_metal_footstep.2.ogg and b/mods/default/sounds/default_metal_footstep.2.ogg differ diff --git a/mods/default/sounds/default_metal_footstep.3.ogg b/mods/default/sounds/default_metal_footstep.3.ogg index 4cc1ca47..2a566a83 100644 Binary files a/mods/default/sounds/default_metal_footstep.3.ogg and b/mods/default/sounds/default_metal_footstep.3.ogg differ diff --git a/mods/default/sounds/default_sand_footstep.1.ogg b/mods/default/sounds/default_sand_footstep.1.ogg index 65b68c7e..b92feabb 100644 Binary files a/mods/default/sounds/default_sand_footstep.1.ogg and b/mods/default/sounds/default_sand_footstep.1.ogg differ diff --git a/mods/default/sounds/default_sand_footstep.2.ogg b/mods/default/sounds/default_sand_footstep.2.ogg index 57f35f30..6bc5da3e 100644 Binary files a/mods/default/sounds/default_sand_footstep.2.ogg and b/mods/default/sounds/default_sand_footstep.2.ogg differ diff --git a/mods/default/sounds/default_sand_footstep.3.ogg b/mods/default/sounds/default_sand_footstep.3.ogg new file mode 100644 index 00000000..880306fd Binary files /dev/null and b/mods/default/sounds/default_sand_footstep.3.ogg differ diff --git a/mods/default/sounds/default_water_footstep.4.ogg b/mods/default/sounds/default_water_footstep.4.ogg deleted file mode 100644 index 6f1eab82..00000000 Binary files a/mods/default/sounds/default_water_footstep.4.ogg and /dev/null differ diff --git a/mods/player_api/sounds/player_damage.ogg b/mods/default/sounds/player_damage.ogg similarity index 100% rename from mods/player_api/sounds/player_damage.ogg rename to mods/default/sounds/player_damage.ogg diff --git a/mods/default/textures/bubble.png b/mods/default/textures/bubble.png index 100fe15f..30170d29 100644 Binary files a/mods/default/textures/bubble.png and b/mods/default/textures/bubble.png differ diff --git a/mods/default/textures/default_acacia_bush_stem.png b/mods/default/textures/default_acacia_bush_stem.png index 29039152..f2ee9fa1 100644 Binary files a/mods/default/textures/default_acacia_bush_stem.png and b/mods/default/textures/default_acacia_bush_stem.png differ diff --git a/mods/default/textures/default_acacia_leaves.png b/mods/default/textures/default_acacia_leaves.png index 626e1b30..da58c095 100644 Binary files a/mods/default/textures/default_acacia_leaves.png and b/mods/default/textures/default_acacia_leaves.png differ diff --git a/mods/default/textures/default_acacia_leaves_simple.png b/mods/default/textures/default_acacia_leaves_simple.png index 3c7015bb..e0348e08 100644 Binary files a/mods/default/textures/default_acacia_leaves_simple.png and b/mods/default/textures/default_acacia_leaves_simple.png differ diff --git a/mods/default/textures/default_acacia_sapling.png b/mods/default/textures/default_acacia_sapling.png index 07170a03..e34aec51 100644 Binary files a/mods/default/textures/default_acacia_sapling.png and b/mods/default/textures/default_acacia_sapling.png differ diff --git a/mods/default/textures/default_acacia_tree.png b/mods/default/textures/default_acacia_tree.png index 58bb3c40..86ab6b15 100644 Binary files a/mods/default/textures/default_acacia_tree.png and b/mods/default/textures/default_acacia_tree.png differ diff --git a/mods/default/textures/default_acacia_tree_top.png b/mods/default/textures/default_acacia_tree_top.png index a8a0ce05..5dbe97be 100644 Binary files a/mods/default/textures/default_acacia_tree_top.png and b/mods/default/textures/default_acacia_tree_top.png differ diff --git a/mods/default/textures/default_acacia_wood.png b/mods/default/textures/default_acacia_wood.png index b5abf1e9..f2f8337e 100644 Binary files a/mods/default/textures/default_acacia_wood.png and b/mods/default/textures/default_acacia_wood.png differ diff --git a/mods/default/textures/default_aspen_leaves.png b/mods/default/textures/default_aspen_leaves.png index 73064237..68ef1884 100644 Binary files a/mods/default/textures/default_aspen_leaves.png and b/mods/default/textures/default_aspen_leaves.png differ diff --git a/mods/default/textures/default_aspen_sapling.png b/mods/default/textures/default_aspen_sapling.png index f8d9136a..f4c772c0 100644 Binary files a/mods/default/textures/default_aspen_sapling.png and b/mods/default/textures/default_aspen_sapling.png differ diff --git a/mods/default/textures/default_aspen_tree.png b/mods/default/textures/default_aspen_tree.png index cfb05fca..db2285e7 100644 Binary files a/mods/default/textures/default_aspen_tree.png and b/mods/default/textures/default_aspen_tree.png differ diff --git a/mods/default/textures/default_aspen_tree_top.png b/mods/default/textures/default_aspen_tree_top.png index fcca0380..61ac0096 100644 Binary files a/mods/default/textures/default_aspen_tree_top.png and b/mods/default/textures/default_aspen_tree_top.png differ diff --git a/mods/default/textures/default_aspen_wood.png b/mods/default/textures/default_aspen_wood.png index 2b584b31..f31ac30f 100644 Binary files a/mods/default/textures/default_aspen_wood.png and b/mods/default/textures/default_aspen_wood.png differ diff --git a/mods/default/textures/default_blueberry_bush_leaves.png b/mods/default/textures/default_blueberry_bush_leaves.png index 2cd112c8..355f0ee4 100644 Binary files a/mods/default/textures/default_blueberry_bush_leaves.png and b/mods/default/textures/default_blueberry_bush_leaves.png differ diff --git a/mods/default/textures/default_blueberry_bush_sapling.png b/mods/default/textures/default_blueberry_bush_sapling.png index 5d7393f7..c22a374f 100644 Binary files a/mods/default/textures/default_blueberry_bush_sapling.png and b/mods/default/textures/default_blueberry_bush_sapling.png differ diff --git a/mods/default/textures/default_blueberry_overlay.png b/mods/default/textures/default_blueberry_overlay.png index de9de623..f61efe08 100644 Binary files a/mods/default/textures/default_blueberry_overlay.png and b/mods/default/textures/default_blueberry_overlay.png differ diff --git a/mods/default/textures/default_bookshelf.png b/mods/default/textures/default_bookshelf.png index 10d64837..3407f758 100644 Binary files a/mods/default/textures/default_bookshelf.png and b/mods/default/textures/default_bookshelf.png differ diff --git a/mods/default/textures/default_bookshelf_slot.png b/mods/default/textures/default_bookshelf_slot.png index cd2c8bce..ea4fdba1 100644 Binary files a/mods/default/textures/default_bookshelf_slot.png and b/mods/default/textures/default_bookshelf_slot.png differ diff --git a/mods/default/textures/default_brick.png b/mods/default/textures/default_brick.png index ab191210..de98961e 100644 Binary files a/mods/default/textures/default_brick.png and b/mods/default/textures/default_brick.png differ diff --git a/mods/default/textures/default_bronze_block.png b/mods/default/textures/default_bronze_block.png index 1d0c9d5a..491fc78a 100644 Binary files a/mods/default/textures/default_bronze_block.png and b/mods/default/textures/default_bronze_block.png differ diff --git a/mods/default/textures/default_bush_stem.png b/mods/default/textures/default_bush_stem.png index 18b615f7..6ad88885 100644 Binary files a/mods/default/textures/default_bush_stem.png and b/mods/default/textures/default_bush_stem.png differ diff --git a/mods/default/textures/default_cactus_side.png b/mods/default/textures/default_cactus_side.png index 8d6c40c1..e5c10c33 100644 Binary files a/mods/default/textures/default_cactus_side.png and b/mods/default/textures/default_cactus_side.png differ diff --git a/mods/default/textures/default_chest_front.png b/mods/default/textures/default_chest_front.png index 85227d8f..f4132794 100644 Binary files a/mods/default/textures/default_chest_front.png and b/mods/default/textures/default_chest_front.png differ diff --git a/mods/default/textures/default_chest_inside.png b/mods/default/textures/default_chest_inside.png index 5f7b6b13..9d2e883d 100644 Binary files a/mods/default/textures/default_chest_inside.png and b/mods/default/textures/default_chest_inside.png differ diff --git a/mods/default/textures/default_chest_lock.png b/mods/default/textures/default_chest_lock.png index 73f46c78..b1885ea5 100644 Binary files a/mods/default/textures/default_chest_lock.png and b/mods/default/textures/default_chest_lock.png differ diff --git a/mods/default/textures/default_chest_top.png b/mods/default/textures/default_chest_top.png index f4a92ee0..1fbdbb94 100644 Binary files a/mods/default/textures/default_chest_top.png and b/mods/default/textures/default_chest_top.png differ diff --git a/mods/default/textures/default_coal_block.png b/mods/default/textures/default_coal_block.png index 6fe9ed93..e92c5322 100644 Binary files a/mods/default/textures/default_coal_block.png and b/mods/default/textures/default_coal_block.png differ diff --git a/mods/default/textures/default_coniferous_litter.png b/mods/default/textures/default_coniferous_litter.png index da340e0a..9d9651ae 100644 Binary files a/mods/default/textures/default_coniferous_litter.png and b/mods/default/textures/default_coniferous_litter.png differ diff --git a/mods/default/textures/default_coniferous_litter_side.png b/mods/default/textures/default_coniferous_litter_side.png index 07014614..9a390584 100644 Binary files a/mods/default/textures/default_coniferous_litter_side.png and b/mods/default/textures/default_coniferous_litter_side.png differ diff --git a/mods/default/textures/default_copper_block.png b/mods/default/textures/default_copper_block.png index 85337546..e1b60f0a 100644 Binary files a/mods/default/textures/default_copper_block.png and b/mods/default/textures/default_copper_block.png differ diff --git a/mods/default/textures/default_coral_brown.png b/mods/default/textures/default_coral_brown.png index 8a775fe0..7a18bd70 100644 Binary files a/mods/default/textures/default_coral_brown.png and b/mods/default/textures/default_coral_brown.png differ diff --git a/mods/default/textures/default_coral_cyan.png b/mods/default/textures/default_coral_cyan.png index 11cc7bfd..890347f7 100644 Binary files a/mods/default/textures/default_coral_cyan.png and b/mods/default/textures/default_coral_cyan.png differ diff --git a/mods/default/textures/default_coral_green.png b/mods/default/textures/default_coral_green.png index 847c5721..78f3f33f 100644 Binary files a/mods/default/textures/default_coral_green.png and b/mods/default/textures/default_coral_green.png differ diff --git a/mods/default/textures/default_coral_orange.png b/mods/default/textures/default_coral_orange.png index cefac627..d7432abd 100644 Binary files a/mods/default/textures/default_coral_orange.png and b/mods/default/textures/default_coral_orange.png differ diff --git a/mods/default/textures/default_coral_pink.png b/mods/default/textures/default_coral_pink.png index 62d70c6e..3708ba5f 100644 Binary files a/mods/default/textures/default_coral_pink.png and b/mods/default/textures/default_coral_pink.png differ diff --git a/mods/default/textures/default_coral_skeleton.png b/mods/default/textures/default_coral_skeleton.png index fa48f151..d00c6fed 100644 Binary files a/mods/default/textures/default_coral_skeleton.png and b/mods/default/textures/default_coral_skeleton.png differ diff --git a/mods/default/textures/default_desert_sand.png b/mods/default/textures/default_desert_sand.png index 371b8c7e..75ade0b7 100644 Binary files a/mods/default/textures/default_desert_sand.png and b/mods/default/textures/default_desert_sand.png differ diff --git a/mods/default/textures/default_desert_sandstone.png b/mods/default/textures/default_desert_sandstone.png index 52e445fa..e0b22d0d 100644 Binary files a/mods/default/textures/default_desert_sandstone.png and b/mods/default/textures/default_desert_sandstone.png differ diff --git a/mods/default/textures/default_desert_sandstone_block.png b/mods/default/textures/default_desert_sandstone_block.png index 8fc54e75..6f6c8ff5 100644 Binary files a/mods/default/textures/default_desert_sandstone_block.png and b/mods/default/textures/default_desert_sandstone_block.png differ diff --git a/mods/default/textures/default_desert_sandstone_brick.png b/mods/default/textures/default_desert_sandstone_brick.png index ab58db52..d2b70dd2 100644 Binary files a/mods/default/textures/default_desert_sandstone_brick.png and b/mods/default/textures/default_desert_sandstone_brick.png differ diff --git a/mods/default/textures/default_desert_stone_block.png b/mods/default/textures/default_desert_stone_block.png index 9eb8e924..e8e842bc 100644 Binary files a/mods/default/textures/default_desert_stone_block.png and b/mods/default/textures/default_desert_stone_block.png differ diff --git a/mods/default/textures/default_desert_stone_brick.png b/mods/default/textures/default_desert_stone_brick.png index a603d18f..8e7208dc 100644 Binary files a/mods/default/textures/default_desert_stone_brick.png and b/mods/default/textures/default_desert_stone_brick.png differ diff --git a/mods/default/textures/default_dirt.png b/mods/default/textures/default_dirt.png index afe4a2e1..4ed965a9 100644 Binary files a/mods/default/textures/default_dirt.png and b/mods/default/textures/default_dirt.png differ diff --git a/mods/default/textures/default_dry_grass.png b/mods/default/textures/default_dry_grass.png index 03455c3f..11def9c6 100644 Binary files a/mods/default/textures/default_dry_grass.png and b/mods/default/textures/default_dry_grass.png differ diff --git a/mods/default/textures/default_dry_grass_1.png b/mods/default/textures/default_dry_grass_1.png index 5cf68a3b..d91174cc 100644 Binary files a/mods/default/textures/default_dry_grass_1.png and b/mods/default/textures/default_dry_grass_1.png differ diff --git a/mods/default/textures/default_dry_grass_2.png b/mods/default/textures/default_dry_grass_2.png index c925aceb..b12bf547 100644 Binary files a/mods/default/textures/default_dry_grass_2.png and b/mods/default/textures/default_dry_grass_2.png differ diff --git a/mods/default/textures/default_dry_grass_3.png b/mods/default/textures/default_dry_grass_3.png index 4e4d84e4..c37a8eb9 100644 Binary files a/mods/default/textures/default_dry_grass_3.png and b/mods/default/textures/default_dry_grass_3.png differ diff --git a/mods/default/textures/default_dry_grass_4.png b/mods/default/textures/default_dry_grass_4.png index d315849e..c00c7027 100644 Binary files a/mods/default/textures/default_dry_grass_4.png and b/mods/default/textures/default_dry_grass_4.png differ diff --git a/mods/default/textures/default_dry_grass_5.png b/mods/default/textures/default_dry_grass_5.png index 871d04cc..10a09316 100644 Binary files a/mods/default/textures/default_dry_grass_5.png and b/mods/default/textures/default_dry_grass_5.png differ diff --git a/mods/default/textures/default_dry_grass_side.png b/mods/default/textures/default_dry_grass_side.png index ef375b7f..3ccbe418 100644 Binary files a/mods/default/textures/default_dry_grass_side.png and b/mods/default/textures/default_dry_grass_side.png differ diff --git a/mods/default/textures/default_dry_shrub.png b/mods/default/textures/default_dry_shrub.png index e8a7f277..82c9cc58 100644 Binary files a/mods/default/textures/default_dry_shrub.png and b/mods/default/textures/default_dry_shrub.png differ diff --git a/mods/default/textures/default_fence_acacia_wood.png b/mods/default/textures/default_fence_acacia_wood.png index 3b973f34..0fb97cc9 100644 Binary files a/mods/default/textures/default_fence_acacia_wood.png and b/mods/default/textures/default_fence_acacia_wood.png differ diff --git a/mods/default/textures/default_fence_aspen_wood.png b/mods/default/textures/default_fence_aspen_wood.png index 0a6558e0..fec97550 100644 Binary files a/mods/default/textures/default_fence_aspen_wood.png and b/mods/default/textures/default_fence_aspen_wood.png differ diff --git a/mods/default/textures/default_fence_junglewood.png b/mods/default/textures/default_fence_junglewood.png index c390941c..b3b8549c 100644 Binary files a/mods/default/textures/default_fence_junglewood.png and b/mods/default/textures/default_fence_junglewood.png differ diff --git a/mods/default/textures/default_fence_pine_wood.png b/mods/default/textures/default_fence_pine_wood.png index 74609d99..5045d19a 100644 Binary files a/mods/default/textures/default_fence_pine_wood.png and b/mods/default/textures/default_fence_pine_wood.png differ diff --git a/mods/default/textures/default_fence_rail_acacia_wood.png b/mods/default/textures/default_fence_rail_acacia_wood.png index 64dc90f1..7081cdb0 100644 Binary files a/mods/default/textures/default_fence_rail_acacia_wood.png and b/mods/default/textures/default_fence_rail_acacia_wood.png differ diff --git a/mods/default/textures/default_fence_rail_aspen_wood.png b/mods/default/textures/default_fence_rail_aspen_wood.png index ab16a60c..0d35302f 100644 Binary files a/mods/default/textures/default_fence_rail_aspen_wood.png and b/mods/default/textures/default_fence_rail_aspen_wood.png differ diff --git a/mods/default/textures/default_fence_rail_junglewood.png b/mods/default/textures/default_fence_rail_junglewood.png index ebc1ef06..6616059b 100644 Binary files a/mods/default/textures/default_fence_rail_junglewood.png and b/mods/default/textures/default_fence_rail_junglewood.png differ diff --git a/mods/default/textures/default_fence_rail_pine_wood.png b/mods/default/textures/default_fence_rail_pine_wood.png index fd8d99d6..b2f74a37 100644 Binary files a/mods/default/textures/default_fence_rail_pine_wood.png and b/mods/default/textures/default_fence_rail_pine_wood.png differ diff --git a/mods/default/textures/default_fence_rail_wood.png b/mods/default/textures/default_fence_rail_wood.png index f84b755b..e41143cb 100644 Binary files a/mods/default/textures/default_fence_rail_wood.png and b/mods/default/textures/default_fence_rail_wood.png differ diff --git a/mods/default/textures/default_fence_wood.png b/mods/default/textures/default_fence_wood.png index 1e76430d..7d161dce 100644 Binary files a/mods/default/textures/default_fence_wood.png and b/mods/default/textures/default_fence_wood.png differ diff --git a/mods/default/textures/default_flint.png b/mods/default/textures/default_flint.png index 226c7406..9763f4b1 100644 Binary files a/mods/default/textures/default_flint.png and b/mods/default/textures/default_flint.png differ diff --git a/mods/default/textures/default_footprint.png b/mods/default/textures/default_footprint.png index 41d95463..24d3e944 100644 Binary files a/mods/default/textures/default_footprint.png and b/mods/default/textures/default_footprint.png differ diff --git a/mods/default/textures/default_furnace_bottom.png b/mods/default/textures/default_furnace_bottom.png index b79ed063..92279ba3 100644 Binary files a/mods/default/textures/default_furnace_bottom.png and b/mods/default/textures/default_furnace_bottom.png differ diff --git a/mods/default/textures/default_furnace_fire_fg.png b/mods/default/textures/default_furnace_fire_fg.png index 63888f39..576f113b 100644 Binary files a/mods/default/textures/default_furnace_fire_fg.png and b/mods/default/textures/default_furnace_fire_fg.png differ diff --git a/mods/default/textures/default_furnace_front.png b/mods/default/textures/default_furnace_front.png index 8c1798e4..f445d83d 100644 Binary files a/mods/default/textures/default_furnace_front.png and b/mods/default/textures/default_furnace_front.png differ diff --git a/mods/default/textures/default_furnace_front_active.png b/mods/default/textures/default_furnace_front_active.png index ea43ed92..68c03f57 100644 Binary files a/mods/default/textures/default_furnace_front_active.png and b/mods/default/textures/default_furnace_front_active.png differ diff --git a/mods/default/textures/default_furnace_top.png b/mods/default/textures/default_furnace_top.png index b79ed063..92279ba3 100644 Binary files a/mods/default/textures/default_furnace_top.png and b/mods/default/textures/default_furnace_top.png differ diff --git a/mods/default/textures/default_glass_detail.png b/mods/default/textures/default_glass_detail.png index 811a4db8..7eab49e0 100644 Binary files a/mods/default/textures/default_glass_detail.png and b/mods/default/textures/default_glass_detail.png differ diff --git a/mods/default/textures/default_grass_1.png b/mods/default/textures/default_grass_1.png index e9faa2c3..d16b307e 100644 Binary files a/mods/default/textures/default_grass_1.png and b/mods/default/textures/default_grass_1.png differ diff --git a/mods/default/textures/default_grass_2.png b/mods/default/textures/default_grass_2.png index 03729a00..6a1dac2c 100644 Binary files a/mods/default/textures/default_grass_2.png and b/mods/default/textures/default_grass_2.png differ diff --git a/mods/default/textures/default_grass_3.png b/mods/default/textures/default_grass_3.png index 92ca1b5d..e67727a4 100644 Binary files a/mods/default/textures/default_grass_3.png and b/mods/default/textures/default_grass_3.png differ diff --git a/mods/default/textures/default_grass_4.png b/mods/default/textures/default_grass_4.png index c782a33b..80269d7e 100644 Binary files a/mods/default/textures/default_grass_4.png and b/mods/default/textures/default_grass_4.png differ diff --git a/mods/default/textures/default_grass_5.png b/mods/default/textures/default_grass_5.png index b727e9cf..df457605 100644 Binary files a/mods/default/textures/default_grass_5.png and b/mods/default/textures/default_grass_5.png differ diff --git a/mods/default/textures/default_grass_side.png b/mods/default/textures/default_grass_side.png index 079d96a2..77aa6557 100644 Binary files a/mods/default/textures/default_grass_side.png and b/mods/default/textures/default_grass_side.png differ diff --git a/mods/default/textures/default_gravel.png b/mods/default/textures/default_gravel.png index 8852d384..37bf286d 100644 Binary files a/mods/default/textures/default_gravel.png and b/mods/default/textures/default_gravel.png differ diff --git a/mods/default/textures/default_ice.png b/mods/default/textures/default_ice.png index 2874e1e3..09b53f28 100644 Binary files a/mods/default/textures/default_ice.png and b/mods/default/textures/default_ice.png differ diff --git a/mods/default/textures/default_invisible_node_overlay.png b/mods/default/textures/default_invisible_node_overlay.png new file mode 100644 index 00000000..7fc88061 Binary files /dev/null and b/mods/default/textures/default_invisible_node_overlay.png differ diff --git a/mods/default/textures/default_item_smoke.png b/mods/default/textures/default_item_smoke.png index d62fb3b0..ae95c160 100644 Binary files a/mods/default/textures/default_item_smoke.png and b/mods/default/textures/default_item_smoke.png differ diff --git a/mods/default/textures/default_jungleleaves.png b/mods/default/textures/default_jungleleaves.png index 5afcc36d..252eee0a 100644 Binary files a/mods/default/textures/default_jungleleaves.png and b/mods/default/textures/default_jungleleaves.png differ diff --git a/mods/default/textures/default_jungleleaves_simple.png b/mods/default/textures/default_jungleleaves_simple.png index 7165100c..8e97f800 100644 Binary files a/mods/default/textures/default_jungleleaves_simple.png and b/mods/default/textures/default_jungleleaves_simple.png differ diff --git a/mods/default/textures/default_jungletree.png b/mods/default/textures/default_jungletree.png index 2cf77a68..671b24dc 100644 Binary files a/mods/default/textures/default_jungletree.png and b/mods/default/textures/default_jungletree.png differ diff --git a/mods/default/textures/default_jungletree_top.png b/mods/default/textures/default_jungletree_top.png index 439f0786..4027d9e0 100644 Binary files a/mods/default/textures/default_jungletree_top.png and b/mods/default/textures/default_jungletree_top.png differ diff --git a/mods/default/textures/default_junglewood.png b/mods/default/textures/default_junglewood.png index 8d17917b..68d9e48a 100644 Binary files a/mods/default/textures/default_junglewood.png and b/mods/default/textures/default_junglewood.png differ diff --git a/mods/default/textures/default_kelp.png b/mods/default/textures/default_kelp.png index 70b743d5..4b95b84c 100644 Binary files a/mods/default/textures/default_kelp.png and b/mods/default/textures/default_kelp.png differ diff --git a/mods/default/textures/default_key.png b/mods/default/textures/default_key.png deleted file mode 100644 index 783d3139..00000000 Binary files a/mods/default/textures/default_key.png and /dev/null differ diff --git a/mods/default/textures/default_key_skeleton.png b/mods/default/textures/default_key_skeleton.png deleted file mode 100644 index 2b3497d3..00000000 Binary files a/mods/default/textures/default_key_skeleton.png and /dev/null differ diff --git a/mods/default/textures/default_ladder_steel.png b/mods/default/textures/default_ladder_steel.png index a312f3e8..87041262 100644 Binary files a/mods/default/textures/default_ladder_steel.png and b/mods/default/textures/default_ladder_steel.png differ diff --git a/mods/default/textures/default_ladder_wood.png b/mods/default/textures/default_ladder_wood.png index c167fff5..6e18e547 100644 Binary files a/mods/default/textures/default_ladder_wood.png and b/mods/default/textures/default_ladder_wood.png differ diff --git a/mods/default/textures/default_large_cactus_seedling.png b/mods/default/textures/default_large_cactus_seedling.png index 378351ad..c8ebf3ce 100644 Binary files a/mods/default/textures/default_large_cactus_seedling.png and b/mods/default/textures/default_large_cactus_seedling.png differ diff --git a/mods/default/textures/default_lava.png b/mods/default/textures/default_lava.png index e8958de5..1d7039ff 100644 Binary files a/mods/default/textures/default_lava.png and b/mods/default/textures/default_lava.png differ diff --git a/mods/default/textures/default_lava_flowing_animated.png b/mods/default/textures/default_lava_flowing_animated.png index 2ec07463..ebb0ec17 100644 Binary files a/mods/default/textures/default_lava_flowing_animated.png and b/mods/default/textures/default_lava_flowing_animated.png differ diff --git a/mods/default/textures/default_lava_source_animated.png b/mods/default/textures/default_lava_source_animated.png index 32267a6b..326af645 100644 Binary files a/mods/default/textures/default_lava_source_animated.png and b/mods/default/textures/default_lava_source_animated.png differ diff --git a/mods/default/textures/default_leaves.png b/mods/default/textures/default_leaves.png index ba09fe1d..13a076cb 100644 Binary files a/mods/default/textures/default_leaves.png and b/mods/default/textures/default_leaves.png differ diff --git a/mods/default/textures/default_leaves_simple.png b/mods/default/textures/default_leaves_simple.png index eb60f9f5..02679ec6 100644 Binary files a/mods/default/textures/default_leaves_simple.png and b/mods/default/textures/default_leaves_simple.png differ diff --git a/mods/default/textures/default_marram_grass_1.png b/mods/default/textures/default_marram_grass_1.png index 73ec9e9d..107a2590 100644 Binary files a/mods/default/textures/default_marram_grass_1.png and b/mods/default/textures/default_marram_grass_1.png differ diff --git a/mods/default/textures/default_marram_grass_2.png b/mods/default/textures/default_marram_grass_2.png index 2db75c70..a6d05c51 100644 Binary files a/mods/default/textures/default_marram_grass_2.png and b/mods/default/textures/default_marram_grass_2.png differ diff --git a/mods/default/textures/default_marram_grass_3.png b/mods/default/textures/default_marram_grass_3.png index f6c155f4..2a9668c7 100644 Binary files a/mods/default/textures/default_marram_grass_3.png and b/mods/default/textures/default_marram_grass_3.png differ diff --git a/mods/default/textures/default_mese_block.png b/mods/default/textures/default_mese_block.png index e30994e2..77524faa 100644 Binary files a/mods/default/textures/default_mese_block.png and b/mods/default/textures/default_mese_block.png differ diff --git a/mods/default/textures/default_mese_post_light_side.png b/mods/default/textures/default_mese_post_light_side.png index c23b551a..80a0999c 100644 Binary files a/mods/default/textures/default_mese_post_light_side.png and b/mods/default/textures/default_mese_post_light_side.png differ diff --git a/mods/default/textures/default_mese_post_light_side_dark.png b/mods/default/textures/default_mese_post_light_side_dark.png index c4fc7cea..4243e486 100644 Binary files a/mods/default/textures/default_mese_post_light_side_dark.png and b/mods/default/textures/default_mese_post_light_side_dark.png differ diff --git a/mods/default/textures/default_mese_post_light_top.png b/mods/default/textures/default_mese_post_light_top.png deleted file mode 100644 index 365c1a78..00000000 Binary files a/mods/default/textures/default_mese_post_light_top.png and /dev/null differ diff --git a/mods/default/textures/default_meselamp.png b/mods/default/textures/default_meselamp.png index 0c3a1a12..d15c8b9b 100644 Binary files a/mods/default/textures/default_meselamp.png and b/mods/default/textures/default_meselamp.png differ diff --git a/mods/default/textures/default_mineral_diamond.png b/mods/default/textures/default_mineral_diamond.png index 39c0f83b..b817bd11 100644 Binary files a/mods/default/textures/default_mineral_diamond.png and b/mods/default/textures/default_mineral_diamond.png differ diff --git a/mods/default/textures/default_mineral_iron.png b/mods/default/textures/default_mineral_iron.png index bfec8b1f..5d630628 100644 Binary files a/mods/default/textures/default_mineral_iron.png and b/mods/default/textures/default_mineral_iron.png differ diff --git a/mods/default/textures/default_mineral_mese.png b/mods/default/textures/default_mineral_mese.png index 6952670a..56a447d0 100644 Binary files a/mods/default/textures/default_mineral_mese.png and b/mods/default/textures/default_mineral_mese.png differ diff --git a/mods/default/textures/default_moss.png b/mods/default/textures/default_moss.png index 479038e9..bb98d7fe 100644 Binary files a/mods/default/textures/default_moss.png and b/mods/default/textures/default_moss.png differ diff --git a/mods/default/textures/default_moss_side.png b/mods/default/textures/default_moss_side.png index 4a20345e..f18322c6 100644 Binary files a/mods/default/textures/default_moss_side.png and b/mods/default/textures/default_moss_side.png differ diff --git a/mods/default/textures/default_mossycobble.png b/mods/default/textures/default_mossycobble.png index 1ae7c91f..1071cb46 100644 Binary files a/mods/default/textures/default_mossycobble.png and b/mods/default/textures/default_mossycobble.png differ diff --git a/mods/default/textures/default_obsidian.png b/mods/default/textures/default_obsidian.png index 8f4a49c4..30e063fd 100644 Binary files a/mods/default/textures/default_obsidian.png and b/mods/default/textures/default_obsidian.png differ diff --git a/mods/default/textures/default_obsidian_block.png b/mods/default/textures/default_obsidian_block.png index 7e1d4d3f..dd93f8d1 100644 Binary files a/mods/default/textures/default_obsidian_block.png and b/mods/default/textures/default_obsidian_block.png differ diff --git a/mods/default/textures/default_obsidian_brick.png b/mods/default/textures/default_obsidian_brick.png index 30c67caa..e4c8fe7f 100644 Binary files a/mods/default/textures/default_obsidian_brick.png and b/mods/default/textures/default_obsidian_brick.png differ diff --git a/mods/default/textures/default_obsidian_glass_detail.png b/mods/default/textures/default_obsidian_glass_detail.png index a8bbec98..1397ecc4 100644 Binary files a/mods/default/textures/default_obsidian_glass_detail.png and b/mods/default/textures/default_obsidian_glass_detail.png differ diff --git a/mods/default/textures/default_papyrus.png b/mods/default/textures/default_papyrus.png index a85e8090..982d589c 100644 Binary files a/mods/default/textures/default_papyrus.png and b/mods/default/textures/default_papyrus.png differ diff --git a/mods/default/textures/default_pine_bush_stem.png b/mods/default/textures/default_pine_bush_stem.png index e239f812..7dc00f7b 100644 Binary files a/mods/default/textures/default_pine_bush_stem.png and b/mods/default/textures/default_pine_bush_stem.png differ diff --git a/mods/default/textures/default_pine_needles.png b/mods/default/textures/default_pine_needles.png index f6997271..d1bcab6e 100644 Binary files a/mods/default/textures/default_pine_needles.png and b/mods/default/textures/default_pine_needles.png differ diff --git a/mods/default/textures/default_pine_tree_top.png b/mods/default/textures/default_pine_tree_top.png index 8705710e..e26a835d 100644 Binary files a/mods/default/textures/default_pine_tree_top.png and b/mods/default/textures/default_pine_tree_top.png differ diff --git a/mods/default/textures/default_pine_wood.png b/mods/default/textures/default_pine_wood.png index 6844ceb8..29f9d6d2 100644 Binary files a/mods/default/textures/default_pine_wood.png and b/mods/default/textures/default_pine_wood.png differ diff --git a/mods/default/textures/default_rainforest_litter_side.png b/mods/default/textures/default_rainforest_litter_side.png index 7ccb11de..1bd0bb60 100644 Binary files a/mods/default/textures/default_rainforest_litter_side.png and b/mods/default/textures/default_rainforest_litter_side.png differ diff --git a/mods/default/textures/default_river_water.png b/mods/default/textures/default_river_water.png index 3b55c5f6..be57575b 100644 Binary files a/mods/default/textures/default_river_water.png and b/mods/default/textures/default_river_water.png differ diff --git a/mods/default/textures/default_river_water_flowing_animated.png b/mods/default/textures/default_river_water_flowing_animated.png index 536acc53..52e6e8ec 100644 Binary files a/mods/default/textures/default_river_water_flowing_animated.png and b/mods/default/textures/default_river_water_flowing_animated.png differ diff --git a/mods/default/textures/default_river_water_source_animated.png b/mods/default/textures/default_river_water_source_animated.png index daa5653f..560078ee 100644 Binary files a/mods/default/textures/default_river_water_source_animated.png and b/mods/default/textures/default_river_water_source_animated.png differ diff --git a/mods/default/textures/default_sandstone_block.png b/mods/default/textures/default_sandstone_block.png index 2e06491e..c3adfd97 100644 Binary files a/mods/default/textures/default_sandstone_block.png and b/mods/default/textures/default_sandstone_block.png differ diff --git a/mods/default/textures/default_sandstone_brick.png b/mods/default/textures/default_sandstone_brick.png index e7150e50..6326391b 100644 Binary files a/mods/default/textures/default_sandstone_brick.png and b/mods/default/textures/default_sandstone_brick.png differ diff --git a/mods/default/textures/default_sign_steel.png b/mods/default/textures/default_sign_steel.png index 3ca0c59d..1ea3ec97 100644 Binary files a/mods/default/textures/default_sign_steel.png and b/mods/default/textures/default_sign_steel.png differ diff --git a/mods/default/textures/default_sign_wall_steel.png b/mods/default/textures/default_sign_wall_steel.png index 2227477f..9a9273db 100644 Binary files a/mods/default/textures/default_sign_wall_steel.png and b/mods/default/textures/default_sign_wall_steel.png differ diff --git a/mods/default/textures/default_sign_wall_wood.png b/mods/default/textures/default_sign_wall_wood.png index 40552c73..eb91cf6d 100644 Binary files a/mods/default/textures/default_sign_wall_wood.png and b/mods/default/textures/default_sign_wall_wood.png differ diff --git a/mods/default/textures/default_sign_wood.png b/mods/default/textures/default_sign_wood.png index d0559dac..07eb9846 100644 Binary files a/mods/default/textures/default_sign_wood.png and b/mods/default/textures/default_sign_wood.png differ diff --git a/mods/default/textures/default_silver_sand.png b/mods/default/textures/default_silver_sand.png index c4a8f730..90a7044b 100644 Binary files a/mods/default/textures/default_silver_sand.png and b/mods/default/textures/default_silver_sand.png differ diff --git a/mods/default/textures/default_silver_sandstone.png b/mods/default/textures/default_silver_sandstone.png index eac62cb1..1ccecbf3 100644 Binary files a/mods/default/textures/default_silver_sandstone.png and b/mods/default/textures/default_silver_sandstone.png differ diff --git a/mods/default/textures/default_silver_sandstone_block.png b/mods/default/textures/default_silver_sandstone_block.png index 9997461b..c8c14e41 100644 Binary files a/mods/default/textures/default_silver_sandstone_block.png and b/mods/default/textures/default_silver_sandstone_block.png differ diff --git a/mods/default/textures/default_silver_sandstone_brick.png b/mods/default/textures/default_silver_sandstone_brick.png index 93d87a57..cb7be40d 100644 Binary files a/mods/default/textures/default_silver_sandstone_brick.png and b/mods/default/textures/default_silver_sandstone_brick.png differ diff --git a/mods/default/textures/default_snow.png b/mods/default/textures/default_snow.png index fcbef0e5..6a12161d 100644 Binary files a/mods/default/textures/default_snow.png and b/mods/default/textures/default_snow.png differ diff --git a/mods/default/textures/default_snow_side.png b/mods/default/textures/default_snow_side.png index 03456c84..8465d80d 100644 Binary files a/mods/default/textures/default_snow_side.png and b/mods/default/textures/default_snow_side.png differ diff --git a/mods/default/textures/default_snowball.png b/mods/default/textures/default_snowball.png index 3a4dc1f6..13eb27af 100644 Binary files a/mods/default/textures/default_snowball.png and b/mods/default/textures/default_snowball.png differ diff --git a/mods/default/textures/default_steel_block.png b/mods/default/textures/default_steel_block.png index 7f49f61f..5e421f02 100644 Binary files a/mods/default/textures/default_steel_block.png and b/mods/default/textures/default_steel_block.png differ diff --git a/mods/default/textures/default_stone.png b/mods/default/textures/default_stone.png index 63cb7c4e..d3f0ef80 100644 Binary files a/mods/default/textures/default_stone.png and b/mods/default/textures/default_stone.png differ diff --git a/mods/default/textures/default_stone_block.png b/mods/default/textures/default_stone_block.png index 3b771e72..2d098783 100644 Binary files a/mods/default/textures/default_stone_block.png and b/mods/default/textures/default_stone_block.png differ diff --git a/mods/default/textures/default_stone_brick.png b/mods/default/textures/default_stone_brick.png index 4dbb49db..3ae9602a 100644 Binary files a/mods/default/textures/default_stone_brick.png and b/mods/default/textures/default_stone_brick.png differ diff --git a/mods/default/textures/default_stones.png b/mods/default/textures/default_stones.png index 4d3b6cfa..d09e3299 100644 Binary files a/mods/default/textures/default_stones.png and b/mods/default/textures/default_stones.png differ diff --git a/mods/default/textures/default_tin_block.png b/mods/default/textures/default_tin_block.png index 72759b04..a834d272 100644 Binary files a/mods/default/textures/default_tin_block.png and b/mods/default/textures/default_tin_block.png differ diff --git a/mods/default/textures/default_tool_diamondpick.png b/mods/default/textures/default_tool_diamondpick.png index f9883c66..5dcc9983 100644 Binary files a/mods/default/textures/default_tool_diamondpick.png and b/mods/default/textures/default_tool_diamondpick.png differ diff --git a/mods/default/textures/default_torch_on_ceiling_animated.png b/mods/default/textures/default_torch_on_ceiling_animated.png index 3a8b5ad9..5465217f 100644 Binary files a/mods/default/textures/default_torch_on_ceiling_animated.png and b/mods/default/textures/default_torch_on_ceiling_animated.png differ diff --git a/mods/default/textures/default_tree.png b/mods/default/textures/default_tree.png index 10e297b4..fe89963c 100644 Binary files a/mods/default/textures/default_tree.png and b/mods/default/textures/default_tree.png differ diff --git a/mods/default/textures/default_tree_top.png b/mods/default/textures/default_tree_top.png index da99bce7..9205ed98 100644 Binary files a/mods/default/textures/default_tree_top.png and b/mods/default/textures/default_tree_top.png differ diff --git a/mods/default/textures/default_water.png b/mods/default/textures/default_water.png index 00500e9b..47253db5 100644 Binary files a/mods/default/textures/default_water.png and b/mods/default/textures/default_water.png differ diff --git a/mods/default/textures/default_water_flowing_animated.png b/mods/default/textures/default_water_flowing_animated.png index 070d7971..0dc0ef9f 100644 Binary files a/mods/default/textures/default_water_flowing_animated.png and b/mods/default/textures/default_water_flowing_animated.png differ diff --git a/mods/default/textures/default_water_source_animated.png b/mods/default/textures/default_water_source_animated.png index 7e7f9ff1..8041b036 100644 Binary files a/mods/default/textures/default_water_source_animated.png and b/mods/default/textures/default_water_source_animated.png differ diff --git a/mods/default/textures/gui_formbg.png b/mods/default/textures/gui_formbg.png index c543466c..e259fec2 100644 Binary files a/mods/default/textures/gui_formbg.png and b/mods/default/textures/gui_formbg.png differ diff --git a/mods/player_api/textures/gui_hotbar.png b/mods/default/textures/gui_hotbar.png similarity index 100% rename from mods/player_api/textures/gui_hotbar.png rename to mods/default/textures/gui_hotbar.png diff --git a/mods/player_api/textures/gui_hotbar_selected.png b/mods/default/textures/gui_hotbar_selected.png similarity index 100% rename from mods/player_api/textures/gui_hotbar_selected.png rename to mods/default/textures/gui_hotbar_selected.png diff --git a/mods/default/textures/heart.png b/mods/default/textures/heart.png index 6d4e2289..4412cab5 100644 Binary files a/mods/default/textures/heart.png and b/mods/default/textures/heart.png differ diff --git a/mods/default/tools.lua b/mods/default/tools.lua index d792d14a..1a95a50d 100644 --- a/mods/default/tools.lua +++ b/mods/default/tools.lua @@ -4,9 +4,8 @@ local S = default.get_translator -- The hand -minetest.register_item(":", { - type = "none", - wield_image = "wieldhand.png", +-- Override the hand item registered in the engine in builtin/game/register.lua +minetest.override_item("", { wield_scale = {x=1,y=1,z=2.5}, tool_capabilities = { full_punch_interval = 0.9, @@ -402,42 +401,77 @@ minetest.register_tool("default:sword_diamond", { groups = {sword = 1} }) -minetest.register_tool("default:key", { - description = S("Key"), - inventory_image = "default_key.png", - groups = {key = 1, not_in_creative_inventory = 1}, - stack_max = 1, - on_place = function(itemstack, placer, pointed_thing) - local under = pointed_thing.under - local node = minetest.get_node(under) - local def = minetest.registered_nodes[node.name] - if def and def.on_rightclick and - not (placer and placer:is_player() and - placer:get_player_control().sneak) then - return def.on_rightclick(under, node, placer, itemstack, - pointed_thing) or itemstack - end - if pointed_thing.type ~= "node" then - return itemstack - end +-- +-- Register Craft Recipies +-- - local pos = pointed_thing.under - node = minetest.get_node(pos) +local craft_ingreds = { + wood = "group:wood", + stone = "group:stone", + steel = "default:steel_ingot", + bronze = "default:bronze_ingot", + mese = "default:mese_crystal", + diamond = "default:diamond" +} - if not node or node.name == "ignore" then - return itemstack - end +for name, mat in pairs(craft_ingreds) do + minetest.register_craft({ + output = "default:pick_".. name, + recipe = { + {mat, mat, mat}, + {"", "group:stick", ""}, + {"", "group:stick", ""} + } + }) - local ndef = minetest.registered_nodes[node.name] - if not ndef then - return itemstack - end + minetest.register_craft({ + output = "default:shovel_".. name, + recipe = { + {mat}, + {"group:stick"}, + {"group:stick"} + } + }) - local on_key_use = ndef.on_key_use - if on_key_use then - on_key_use(pos, placer) - end + minetest.register_craft({ + output = "default:axe_".. name, + recipe = { + {mat, mat}, + {mat, "group:stick"}, + {"", "group:stick"} + } + }) - return nil - end + minetest.register_craft({ + output = "default:sword_".. name, + recipe = { + {mat}, + {mat}, + {"group:stick"} + } + }) +end + +minetest.register_craft({ + type = "fuel", + recipe = "default:pick_wood", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:shovel_wood", + burntime = 4, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:axe_wood", + burntime = 6, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:sword_wood", + burntime = 5, }) diff --git a/mods/default/torch.lua b/mods/default/torch.lua index fcdc1fec..e8f734c7 100644 --- a/mods/default/torch.lua +++ b/mods/default/torch.lua @@ -11,7 +11,8 @@ local function on_flood(pos, oldnode, newnode) nodedef.groups.igniter and nodedef.groups.igniter > 0) then minetest.sound_play( "default_cool_lava", - {pos = pos, max_hear_distance = 16, gain = 0.1} + {pos = pos, max_hear_distance = 16, gain = 0.07}, + true ) end -- Remove the torch node @@ -28,6 +29,7 @@ minetest.register_node("default:torch", { name = "default_torch_on_floor_animated.png", animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} }}, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "wallmounted", sunlight_propagates = true, @@ -70,6 +72,7 @@ minetest.register_node("default:torch", { end, floodable = true, on_flood = on_flood, + on_rotate = false }) minetest.register_node("default:torch_wall", { @@ -79,6 +82,7 @@ minetest.register_node("default:torch_wall", { name = "default_torch_on_floor_animated.png", animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} }}, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "wallmounted", sunlight_propagates = true, @@ -93,6 +97,7 @@ minetest.register_node("default:torch_wall", { sounds = default.node_sound_wood_defaults(), floodable = true, on_flood = on_flood, + on_rotate = false }) minetest.register_node("default:torch_ceiling", { @@ -102,6 +107,7 @@ minetest.register_node("default:torch_ceiling", { name = "default_torch_on_floor_animated.png", animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} }}, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "wallmounted", sunlight_propagates = true, @@ -116,6 +122,7 @@ minetest.register_node("default:torch_ceiling", { sounds = default.node_sound_wood_defaults(), floodable = true, on_flood = on_flood, + on_rotate = false }) minetest.register_lbm({ @@ -134,3 +141,17 @@ minetest.register_lbm({ end end }) + +minetest.register_craft({ + output = "default:torch 4", + recipe = { + {"default:coal_lump"}, + {"group:stick"}, + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:torch", + burntime = 4, +}) diff --git a/mods/default/trees.lua b/mods/default/trees.lua index ad3e3f4c..569beee8 100644 --- a/mods/default/trees.lua +++ b/mods/default/trees.lua @@ -16,9 +16,7 @@ function default.can_grow(pos) if not node_under then return false end - local name_under = node_under.name - local is_soil = minetest.get_item_group(name_under, "soil") - if is_soil == 0 then + if minetest.get_item_group(node_under.name, "soil") == 0 then return false end local light_level = minetest.get_node_light(pos) @@ -577,8 +575,7 @@ function default.sapling_on_place(itemstack, placer, pointed_thing, minetest.log("action", player_name .. " places node " .. sapling_name .. " at " .. minetest.pos_to_string(pos)) - local take_item = not (creative and creative.is_enabled_for - and creative.is_enabled_for(player_name)) + local take_item = not minetest.is_creative_enabled(player_name) local newnode = {name = sapling_name} local ndef = minetest.registered_nodes[sapling_name] minetest.set_node(pos, newnode) diff --git a/mods/doors/init.lua b/mods/doors/init.lua index adf1e4e6..403ad5ab 100644 --- a/mods/doors/init.lua +++ b/mods/doors/init.lua @@ -78,9 +78,9 @@ end -- nodes from being placed in the top half of the door. minetest.register_node("doors:hidden", { description = S("Hidden Door Segment"), - -- can't use airlike otherwise falling nodes will turn to entities - -- and will be forever stuck until door is removed. - drawtype = "nodebox", + inventory_image = "doors_hidden_segment.png^default_invisible_node_overlay.png", + wield_image = "doors_hidden_segment.png^default_invisible_node_overlay.png", + drawtype = "airlike", paramtype = "light", paramtype2 = "facedir", sunlight_propagates = true, @@ -93,13 +93,7 @@ minetest.register_node("doors:hidden", { drop = "", groups = {not_in_creative_inventory = 1}, on_blast = function() end, - tiles = {"doors_blank.png"}, - -- 1px transparent block inside door hinge near node top. - node_box = { - type = "fixed", - fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, - }, - -- collision_box needed otherise selection box would be full node size + -- 1px block inside door hinge near node top collision_box = { type = "fixed", fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, @@ -115,10 +109,10 @@ local transform = { {v = "_a", param2 = 2}, }, { - {v = "_b", param2 = 1}, - {v = "_b", param2 = 2}, - {v = "_b", param2 = 3}, - {v = "_b", param2 = 0}, + {v = "_c", param2 = 1}, + {v = "_c", param2 = 2}, + {v = "_c", param2 = 3}, + {v = "_c", param2 = 0}, }, { {v = "_b", param2 = 1}, @@ -127,10 +121,10 @@ local transform = { {v = "_b", param2 = 0}, }, { - {v = "_a", param2 = 3}, - {v = "_a", param2 = 0}, - {v = "_a", param2 = 1}, - {v = "_a", param2 = 2}, + {v = "_d", param2 = 3}, + {v = "_d", param2 = 0}, + {v = "_d", param2 = 1}, + {v = "_d", param2 = 2}, }, } @@ -176,10 +170,10 @@ function doors.door_toggle(pos, node, clicker) if state % 2 == 0 then minetest.sound_play(def.door.sounds[1], - {pos = pos, gain = 0.3, max_hear_distance = 10}) + {pos = pos, gain = def.door.gains[1], max_hear_distance = 10}, true) else minetest.sound_play(def.door.sounds[2], - {pos = pos, gain = 0.3, max_hear_distance = 10}) + {pos = pos, gain = def.door.gains[2], max_hear_distance = 10}, true) end minetest.swap_node(pos, { @@ -270,6 +264,7 @@ function doors.register(name, def) return itemstack end + local doorname = itemstack:get_name() local node = minetest.get_node(pointed_thing.under) local pdef = minetest.registered_nodes[node.name] if pdef and pdef.on_rightclick and @@ -321,10 +316,10 @@ function doors.register(name, def) local state = 0 if minetest.get_item_group(minetest.get_node(aside).name, "door") == 1 then state = state + 2 - minetest.set_node(pos, {name = name .. "_b", param2 = dir}) + minetest.set_node(pos, {name = doorname .. "_b", param2 = dir}) minetest.set_node(above, {name = "doors:hidden", param2 = (dir + 3) % 4}) else - minetest.set_node(pos, {name = name .. "_a", param2 = dir}) + minetest.set_node(pos, {name = doorname .. "_a", param2 = dir}) minetest.set_node(above, {name = "doors:hidden", param2 = dir}) end @@ -336,11 +331,11 @@ function doors.register(name, def) meta:set_string("infotext", def.description .. "\n" .. S("Owned by @1", pn)) end - if not (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) then + if not minetest.is_creative_enabled(pn) then itemstack:take_item() end - minetest.sound_play(def.sounds.place, {pos = pos}) + minetest.sound_play(def.sounds.place, {pos = pos}, true) on_place_node(pos, minetest.get_node(pos), placer, node, itemstack, pointed_thing) @@ -370,12 +365,21 @@ function doors.register(name, def) def.sound_close = "doors_door_close" end + if not def.gain_open then + def.gain_open = 0.3 + end + + if not def.gain_close then + def.gain_close = 0.3 + end + def.groups.not_in_creative_inventory = 1 def.groups.door = 1 def.drop = name def.door = { name = name, - sounds = { def.sound_close, def.sound_open }, + sounds = {def.sound_close, def.sound_open}, + gains = {def.gain_close, def.gain_open}, } if not def.on_rightclick then def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) @@ -442,21 +446,18 @@ function doors.register(name, def) def.buildable_to = false def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} + def.use_texture_alpha = def.use_texture_alpha or "clip" - def.model = def.model or "door" - def.mesh = def.model .. "_a.b3d" + def.mesh = "door_a.b3d" minetest.register_node(":" .. name .. "_a", table.copy(def)) - def.model = def.model or "door" - def.mesh = def.model .. "_b.b3d" + def.mesh = "door_b.b3d" minetest.register_node(":" .. name .. "_b", table.copy(def)) - def.model = def.model or "door" - def.mesh = def.model .. "_b.b3d" + def.mesh = "door_b.b3d" minetest.register_node(":" .. name .. "_c", table.copy(def)) - def.model = def.model or "door" - def.mesh = def.model .. "_a.b3d" + def.mesh = "door_a.b3d" minetest.register_node(":" .. name .. "_d", table.copy(def)) doors.registered_doors[name .. "_a"] = true @@ -469,7 +470,9 @@ doors.register("door_wood", { tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, description = S("Wooden Door"), inventory_image = "doors_item_wood.png", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + gain_open = 0.06, + gain_close = 0.13, recipe = { {"group:wood", "group:wood"}, {"group:wood", "group:wood"}, @@ -482,10 +485,12 @@ doors.register("door_steel", { description = S("Steel Door"), inventory_image = "doors_item_steel.png", protected = true, - groups = {cracky = 1, level = 2}, + groups = {node = 1, cracky = 1, level = 2}, sounds = default.node_sound_metal_defaults(), sound_open = "doors_steel_door_open", sound_close = "doors_steel_door_close", + gain_open = 0.2, + gain_close = 0.2, recipe = { {"default:steel_ingot", "default:steel_ingot"}, {"default:steel_ingot", "default:steel_ingot"}, @@ -497,10 +502,12 @@ doors.register("door_glass", { tiles = {"doors_door_glass.png"}, description = S("Glass Door"), inventory_image = "doors_item_glass.png", - groups = {cracky=3, oddly_breakable_by_hand=3}, + groups = {node = 1, cracky=3, oddly_breakable_by_hand=3}, sounds = default.node_sound_glass_defaults(), sound_open = "doors_glass_door_open", sound_close = "doors_glass_door_close", + gain_open = 0.3, + gain_close = 0.25, recipe = { {"default:glass", "default:glass"}, {"default:glass", "default:glass"}, @@ -512,10 +519,12 @@ doors.register("door_obsidian_glass", { tiles = {"doors_door_obsidian_glass.png"}, description = S("Obsidian Glass Door"), inventory_image = "doors_item_obsidian_glass.png", - groups = {cracky=3}, + groups = {node = 1, cracky=3}, sounds = default.node_sound_glass_defaults(), sound_open = "doors_glass_door_open", sound_close = "doors_glass_door_close", + gain_open = 0.3, + gain_close = 0.25, recipe = { {"default:obsidian_glass", "default:obsidian_glass"}, {"default:obsidian_glass", "default:obsidian_glass"}, @@ -562,12 +571,12 @@ function doors.trapdoor_toggle(pos, node, clicker) if string.sub(node.name, -5) == "_open" then minetest.sound_play(def.sound_close, - {pos = pos, gain = 0.3, max_hear_distance = 10}) + {pos = pos, gain = def.gain_close, max_hear_distance = 10}, true) minetest.swap_node(pos, {name = string.sub(node.name, 1, string.len(node.name) - 5), param1 = node.param1, param2 = node.param2}) else minetest.sound_play(def.sound_open, - {pos = pos, gain = 0.3, max_hear_distance = 10}) + {pos = pos, gain = def.gain_open, max_hear_distance = 10}, true) minetest.swap_node(pos, {name = node.name .. "_open", param1 = node.param1, param2 = node.param2}) end @@ -591,6 +600,7 @@ function doors.register_trapdoor(name, def) def.paramtype = "light" def.paramtype2 = "facedir" def.is_ground_content = false + def.use_texture_alpha = def.use_texture_alpha or "clip" if def.protected then def.can_dig = can_dig_door @@ -600,7 +610,7 @@ function doors.register_trapdoor(name, def) meta:set_string("owner", pn) meta:set_string("infotext", def.description .. "\n" .. S("Owned by @1", pn)) - return (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) + return minetest.is_creative_enabled(pn) end def.on_blast = function() end @@ -649,6 +659,14 @@ function doors.register_trapdoor(name, def) def.sound_close = "doors_door_close" end + if not def.gain_open then + def.gain_open = 0.3 + end + + if not def.gain_close then + def.gain_close = 0.3 + end + local def_opened = table.copy(def) local def_closed = table.copy(def) @@ -710,6 +728,8 @@ doors.register_trapdoor("doors:trapdoor", { wield_image = "doors_trapdoor.png", tile_front = "doors_trapdoor.png", tile_side = "doors_trapdoor_side.png", + gain_open = 0.06, + gain_close = 0.13, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1}, }) @@ -723,6 +743,8 @@ doors.register_trapdoor("doors:trapdoor_steel", { sounds = default.node_sound_metal_defaults(), sound_open = "doors_steel_door_open", sound_close = "doors_steel_door_close", + gain_open = 0.2, + gain_close = 0.2, groups = {cracky = 1, level = 2, door = 1}, }) @@ -762,9 +784,9 @@ function doors.register_fencegate(name, def) sounds = def.sounds, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) local node_def = minetest.registered_nodes[node.name] - minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2}) - minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3, - max_hear_distance = 8}) + minetest.swap_node(pos, {name = node_def._gate, param2 = node.param2}) + minetest.sound_play(node_def._gate_sound, {pos = pos, gain = 0.15, + max_hear_distance = 8}, true) return itemstack end, selection_box = { @@ -791,8 +813,8 @@ function doors.register_fencegate(name, def) local fence_closed = table.copy(fence) fence_closed.mesh = "doors_fencegate_closed.obj" - fence_closed.gate = name .. "_open" - fence_closed.sound = "doors_fencegate_open" + fence_closed._gate = name .. "_open" + fence_closed._gate_sound = "doors_fencegate_open" fence_closed.collision_box = { type = "fixed", fixed = {-1/2, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8} @@ -800,8 +822,8 @@ function doors.register_fencegate(name, def) local fence_open = table.copy(fence) fence_open.mesh = "doors_fencegate_open.obj" - fence_open.gate = name .. "_closed" - fence_open.sound = "doors_fencegate_close" + fence_open._gate = name .. "_closed" + fence_open._gate_sound = "doors_fencegate_close" fence_open.groups.not_in_creative_inventory = 1 fence_open.collision_box = { type = "fixed", diff --git a/mods/doors/locale/doors.eo.tr b/mods/doors/locale/doors.eo.tr new file mode 100644 index 00000000..b5667324 --- /dev/null +++ b/mods/doors/locale/doors.eo.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Kaŝita Porda Segmento +Owned by @1=Estas de @1 +You do not own this locked door.=Vi ne posedas ĉi tiu ŝlosita pordo. +a locked door=ŝlosita pordo +Wooden Door=Ligna Pordo +Steel Door=Ŝtala Pordo +Glass Door=Vitra Pordo +Obsidian Glass Door=Obsidiana Vitra Pordo +You do not own this trapdoor.=Vi ne posedas ĉi tiu plankpordo. +a locked trapdoor=ŝlosita plankpordo +Wooden Trapdoor=Ligna Plankpordo +Steel Trapdoor=Ŝtala Plankpordo +Apple Wood Fence Gate=Poma Ligna Barila Pordo +Acacia Wood Fence Gate=Akacia Ligna Barila Pordo +Jungle Wood Fence Gate=Ĝangala Ligna Barila Pordo +Pine Wood Fence Gate=Pina Ligna Barila Pordo +Aspen Wood Fence Gate=Tremola Ligna Barila Pordo diff --git a/mods/doors/locale/doors.es.tr b/mods/doors/locale/doors.es.tr new file mode 100644 index 00000000..677f2dfd --- /dev/null +++ b/mods/doors/locale/doors.es.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Segmento de puerta oculta +Owned by @1=Propiedad de @1 +You do not own this locked door.=Esta puerta cerrada no te pertenece. +a locked door=una puerta cerrada +Wooden Door=Puerta de madera +Steel Door=Puerta de acero +Glass Door=Puerta de vidrio +Obsidian Glass Door=Puerta de vidrio de obsidiana +You do not own this trapdoor.=Esta trampilla no te pertenece. +a locked trapdoor=una trampilla cerrada +Wooden Trapdoor=Trampilla de madera +Steel Trapdoor=Trampilla de acero +Apple Wood Fence Gate=Puerta de cerca de manzano +Acacia Wood Fence Gate=Puerta de cerca de acacia +Jungle Wood Fence Gate=Puerta de cerca de madera tropical +Pine Wood Fence Gate=Puerta de cerca de pino +Aspen Wood Fence Gate=Puerta de cerca de álamo diff --git a/mods/doors/locale/doors.fr.tr b/mods/doors/locale/doors.fr.tr new file mode 100644 index 00000000..930f75cc --- /dev/null +++ b/mods/doors/locale/doors.fr.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Segment de porte cachée +Owned by @1=Possédée par @1 +You do not own this locked door.=Cette porte vérouillée ne vous appartient pas. +a locked door=une porte verouillée +Wooden Door=Porte en bois +Steel Door=Porte en acier +Glass Door=Porte en verre +Obsidian Glass Door=Porte en verre d'obsidienne +You do not own this trapdoor.=Vous ne possédez pas cette trappe. +a locked trapdoor=une trappe verouillée +Wooden Trapdoor=Trappe en bois +Steel Trapdoor=Trappe en acier +Apple Wood Fence Gate=Porte de clôture en bois de pommier +Acacia Wood Fence Gate=Porte de clôture en bois d'acacia +Jungle Wood Fence Gate=Porte de clôture en bois de la jungle +Pine Wood Fence Gate=Porte de clôture en bois de pin +Aspen Wood Fence Gate=Porte de clôture en bois de tremble diff --git a/mods/doors/locale/doors.id.tr b/mods/doors/locale/doors.id.tr new file mode 100644 index 00000000..3b749049 --- /dev/null +++ b/mods/doors/locale/doors.id.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Bagian Pintu Tersembunyi +Owned by @1=Milik @1 +You do not own this locked door.=Anda bukan pemilik pintu terkunci ini. +a locked door=pintu terkunci +Wooden Door=Pintu Kayu +Steel Door=Pintu Baja +Glass Door=Pintu Kaca +Obsidian Glass Door=Pintu Kaca Obsidian +You do not own this trapdoor.=Anda bukan pemilik pintu kolong ini. +a locked trapdoor=pintu kolong terkunci +Wooden Trapdoor=Pintu Kolong Kayu +Steel Trapdoor=Pintu Kolong Baja +Apple Wood Fence Gate=Gerbang Kayu Pohon Apel +Acacia Wood Fence Gate=Gerbang Kayu Akasia +Jungle Wood Fence Gate=Gerbang Kayu Pohon Rimba +Pine Wood Fence Gate=Gerbang Kayu Pinus +Aspen Wood Fence Gate=Gerbang Kayu Aspen diff --git a/mods/doors/locale/doors.it.tr b/mods/doors/locale/doors.it.tr new file mode 100644 index 00000000..ccd00d36 --- /dev/null +++ b/mods/doors/locale/doors.it.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Segmento di porta nascosto +Owned by @1=Di proprietà di @1 +You do not own this locked door.=Non sei il proprietario di questa porta chiusa a chiave. +a locked door=una porta chiusa a chiave +Wooden Door=Porta di legno +Steel Door=Porta d'acciaio +Glass Door=Porta di vetro +Obsidian Glass Door=Porta di vetro d'ossidiana +You do not own this trapdoor.=Non sei il proprietario di questa botola. +a locked trapdoor=una botola chiusa a chiave +Wooden Trapdoor=Botola di legno +Steel Trapdoor=Botola d'acciaio +Apple Wood Fence Gate=Cancello della recinzione di legno di melo +Acacia Wood Fence Gate=Cancello della recinzione di legno d'acacia +Jungle Wood Fence Gate=Cancello della recinzione di legno della giungla +Pine Wood Fence Gate=Cancello della recinzione di legno di pino +Aspen Wood Fence Gate=Cancello della recinzione di legno di pioppo diff --git a/mods/doors/locale/doors.ja.tr b/mods/doors/locale/doors.ja.tr new file mode 100644 index 00000000..910e0ae1 --- /dev/null +++ b/mods/doors/locale/doors.ja.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=隠しドアの区切り +Owned by @1=所有者 @1 +You do not own this locked door.=あなたはこのロックされたドアの所有者ではありません。 +a locked door=ロックされたドア +Wooden Door=木のドア +Steel Door=鉄のドア +Glass Door=ガラスのドア +Obsidian Glass Door=黒曜石のガラスのドア +You do not own this trapdoor.=あなたはこのトラップドアの所有者ではありません。 +a locked trapdoor=ロックされたトラップドア +Wooden Trapdoor=木のトラップドア +Steel Trapdoor=鉄のトラップドア +Apple Wood Fence Gate=リンゴのフェンスゲート +Acacia Wood Fence Gate=アカシアのフェンスゲート +Jungle Wood Fence Gate=ジャングルのフェンスゲート +Pine Wood Fence Gate=マツのフェンスゲート +Aspen Wood Fence Gate=ポプラのフェンスゲート diff --git a/mods/doors/locale/doors.jbo.tr b/mods/doors/locale/doors.jbo.tr new file mode 100644 index 00000000..48daa0a8 --- /dev/null +++ b/mods/doors/locale/doors.jbo.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=lo se mipri pagbu be lo vrogai +Owned by @1=.i ti ponse zoi zo'i.@1.zo'i +You do not own this locked door.=.i do na ponse lo ti selstela vrogai +a locked door=lo selstela vrogai +Wooden Door=lo mudri vrogai +Steel Door=lo gasta vrogai +Glass Door=lo blaci vrogai +Obsidian Glass Door=lo je'erma'ablaci blaci vrogai +You do not own this trapdoor.=.i do na ponse lo ti selstela lolvrogai +a locked trapdoor=lo selstela lolvrogai +Wooden Trapdoor=lo mudri lolvrogai +Steel Trapdoor=lo gasta lolvrogai +Apple Wood Fence Gate=lo plise mudri garbimvrogai +Acacia Wood Fence Gate=lo atkaci,ia mudri garbimvrogai +Jungle Wood Fence Gate=lo glatimdemricfoi mudri garbimvrogai +Pine Wood Fence Gate=lo ckunu mudri garbimvrogai +Aspen Wood Fence Gate=lo mudrpopulu garbimvrogai diff --git a/mods/doors/locale/doors.ms.tr b/mods/doors/locale/doors.ms.tr new file mode 100644 index 00000000..93d6df2e --- /dev/null +++ b/mods/doors/locale/doors.ms.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Segmen Pintu Tersembunyi +Owned by @1=Milik @1 +You do not own this locked door.=Anda bukan pemilik pintu berkunci ini. +a locked door=pintu berkunci +Wooden Door=Pintu Kayu +Steel Door=Pintu Keluli +Glass Door=Pintu Kaca +Obsidian Glass Door=Pintu Kaca Obsidia +You do not own this trapdoor.=Anda bukan pemilik pintu kolong ini. +a locked trapdoor=pintu kolong berkunci +Wooden Trapdoor=Pintu Kolong Kayu +Steel Trapdoor=Pintu Kolong Keluli +Apple Wood Fence Gate=Pintu Pagar Kayu Epal +Acacia Wood Fence Gate=Pintu Pagar Kayu Akasia +Jungle Wood Fence Gate=Pintu Pagar Kayu Hutan +Pine Wood Fence Gate=Pintu Pagar Kayu Pain +Aspen Wood Fence Gate=Pintu Pagar Kayu Aspen diff --git a/mods/doors/locale/doors.pt_BR.tr b/mods/doors/locale/doors.pt_BR.tr new file mode 100644 index 00000000..82324424 --- /dev/null +++ b/mods/doors/locale/doors.pt_BR.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Segmento de Porta Oculto +Owned by @1=Propriedade de @1 +You do not own this locked door.=Você não é dono desta porta trancada. +a locked door=uma porta trancada +Wooden Door=Porta de Madeira +Steel Door=Porta de Aço +Glass Door=Porta de Vidro +Obsidian Glass Door=Porta de Vidro de Obsidiana +You do not own this trapdoor.=Você não é dono deste alçapão. +a locked trapdoor=um alçapão trancado +Wooden Trapdoor=Alçapão de Madeira +Steel Trapdoor=Alçapão de Aço +Apple Wood Fence Gate=Portão de Cerca de Macieira +Acacia Wood Fence Gate=Portão de Cerca de Acácia +Jungle Wood Fence Gate=Portão de Cerca de Madeira da Selva +Pine Wood Fence Gate=Portão de Cerca de Pinheiro +Aspen Wood Fence Gate=Portão de Cerca de Álamo diff --git a/mods/doors/locale/doors.ru.tr b/mods/doors/locale/doors.ru.tr new file mode 100644 index 00000000..dc5c3c09 --- /dev/null +++ b/mods/doors/locale/doors.ru.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Спрятанная Часть Двери +Owned by @1=Владелец: @1 +You do not own this locked door.=Вы не владелец этой заблокированной двери. +a locked door=заблокированная дверь +Wooden Door=Деревянная Дверь +Steel Door=Стальная Дверь +Glass Door=Стеклянная Дверь +Obsidian Glass Door=Дверь Из Обсидианового Стекла +You do not own this trapdoor.=Вы не владелец этого люка. +a locked trapdoor=заблокированный люк +Wooden Trapdoor=Деревянный Люк +Steel Trapdoor=Стальной Люк +Apple Wood Fence Gate=Яблоневая Деревянная Калитка +Acacia Wood Fence Gate=Деревянная Калитка Из Акации +Jungle Wood Fence Gate=Деревянная Калитка Из Тропического Дерева +Pine Wood Fence Gate=Сосновая Деревянная Калитка +Aspen Wood Fence Gate=Осиновая Деревянная Калитка diff --git a/mods/doors/locale/doors.sk.tr b/mods/doors/locale/doors.sk.tr new file mode 100644 index 00000000..e6943ac3 --- /dev/null +++ b/mods/doors/locale/doors.sk.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Skrytá časť dverí +Owned by @1=Vlastník - @1 +You do not own this locked door.=Nevlastníš tieto uzamknuté dvere. +a locked door=uzamknuté dvere +Wooden Door=Drevené dvere +Steel Door=Oceľové dvere +Glass Door=Sklenené dvere +Obsidian Glass Door=Obsidiánové sklenené dvere +You do not own this trapdoor.=Nevlastníš tieto padacie dvere. +a locked trapdoor=uzamknuté padacie dvere +Wooden Trapdoor=Drevené padacie dvere +Steel Trapdoor=Oceľové padacie dvere +Apple Wood Fence Gate=Drevený plot z jablone +Acacia Wood Fence Gate=Drevený plot z akácie +Jungle Wood Fence Gate=Drevený plot z džungľového dreva +Pine Wood Fence Gate=Drevený plot z borovice +Aspen Wood Fence Gate=Drevený plot z osiky diff --git a/mods/doors/locale/doors.sv.tr b/mods/doors/locale/doors.sv.tr new file mode 100644 index 00000000..9f31d9c8 --- /dev/null +++ b/mods/doors/locale/doors.sv.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Dolt dörrsegment +Owned by @1=Ägd av @1 +You do not own this locked door.=Du äger inte denna låsta dörr. +a locked door=en låst dörr +Wooden Door=Trädörr +Steel Door=Ståldörr +Glass Door=Glasdörr +Obsidian Glass Door=Obsidianglasdörr +You do not own this trapdoor.=Du äger inte denna fallucka +a locked trapdoor=en låst fallucka +Wooden Trapdoor=Träfallucka +Steel Trapdoor=Stålfallucka +Apple Wood Fence Gate=Äppleträfallucka +Acacia Wood Fence Gate=Akaciaträfallucka +Jungle Wood Fence Gate=Djungelträfallucka +Pine Wood Fence Gate=Tallträfallucka +Aspen Wood Fence Gate=Aspträfallucka diff --git a/mods/doors/locale/doors.uk.tr b/mods/doors/locale/doors.uk.tr new file mode 100644 index 00000000..ae2ad14e --- /dev/null +++ b/mods/doors/locale/doors.uk.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Захована Частина Дверей +Owned by @1=Власник: @1 +You do not own this locked door.=Ви не власник цих заблокованих дверей. +a locked door=заблоковані двері +Wooden Door=Дерев'яні двері +Steel Door=Сталеві Двері +Glass Door=Скляні двері +Obsidian Glass Door=Двері З Обсидіанового Скла +You do not own this trapdoor.=Ви не є власником цього люка. +a locked trapdoor=заблокований люк +Wooden Trapdoor=Дерев'яний Люк +Steel Trapdoor=Сталевий Люк +Apple Wood Fence Gate=Яблунева Дерев'яна Хвіртка +Acacia Wood Fence Gate=Дерев'яна Хвіртка З Акації +Jungle Wood Fence Gate=Дерев'яна Хвіртка З Тропічного Дерева +Pine Wood Fence Gate=Соснова Дерев'яна Хвіртка +Aspen Wood Fence Gate=Осикова Дерев'яна Хвіртка diff --git a/mods/doors/locale/doors.zh_CN.tr b/mods/doors/locale/doors.zh_CN.tr new file mode 100644 index 00000000..cf32996e --- /dev/null +++ b/mods/doors/locale/doors.zh_CN.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=隐藏门段 +Owned by @1=由@1所有 +You do not own this locked door.=这个门不属于你。 +a locked door=一扇已上锁的门 +Wooden Door=木门 +Steel Door=铁门 +Glass Door=玻璃门 +Obsidian Glass Door=黑曜石玻璃门 +You do not own this trapdoor.=这个活板门不属于你。 +a locked trapdoor=一扇已上锁的活板门 +Wooden Trapdoor=木活板门 +Steel Trapdoor=铁活板门 +Apple Wood Fence Gate=苹果木栅栏门 +Acacia Wood Fence Gate=相思木栅栏门 +Jungle Wood Fence Gate=丛林木栅栏门 +Pine Wood Fence Gate=松木栅栏门 +Aspen Wood Fence Gate=白杨木栅栏门 diff --git a/mods/doors/locale/doors.zh_TW.tr b/mods/doors/locale/doors.zh_TW.tr new file mode 100644 index 00000000..81e06fcc --- /dev/null +++ b/mods/doors/locale/doors.zh_TW.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=隱藏門段 +Owned by @1=由@1擁有 +You do not own this locked door.=這個門不屬於你所有。 +a locked door=一扇已上鎖的門 +Wooden Door=木門 +Steel Door=鐵門 +Glass Door=玻璃門 +Obsidian Glass Door=黑曜石玻璃門 +You do not own this trapdoor.=這個活板門不屬於你所有。 +a locked trapdoor=一扇已上鎖的活板門 +Wooden Trapdoor=木活板門 +Steel Trapdoor=鐵活板門 +Apple Wood Fence Gate=蘋果木柵欄門 +Acacia Wood Fence Gate=相思木柵欄門 +Jungle Wood Fence Gate=叢林木柵欄門 +Pine Wood Fence Gate=松木柵欄門 +Aspen Wood Fence Gate=白楊木柵欄門 diff --git a/mods/doors/models/door.blend b/mods/doors/models/door.blend new file mode 100644 index 00000000..56047b16 Binary files /dev/null and b/mods/doors/models/door.blend differ diff --git a/mods/doors/models/door_a.b3d b/mods/doors/models/door_a.b3d new file mode 100644 index 00000000..7f9249fe Binary files /dev/null and b/mods/doors/models/door_a.b3d differ diff --git a/mods/doors/models/door_a.obj b/mods/doors/models/door_a.obj deleted file mode 100644 index bd5127b5..00000000 --- a/mods/doors/models/door_a.obj +++ /dev/null @@ -1,40 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'door_a.blend' -# www.blender.org -mtllib door_a.mtl -o Cube_Cube.001 -v 0.499000 -0.499000 -0.499000 -v 0.499000 1.499000 -0.499000 -v 0.499000 -0.499000 -0.375000 -v 0.499000 1.499000 -0.375000 -v -0.499000 -0.499000 -0.499000 -v -0.499000 1.499000 -0.499000 -v -0.499000 -0.499000 -0.375000 -v -0.499000 1.499000 -0.375000 -vt 0.842105 1.000000 -vt 0.894737 1.000000 -vt 0.894737 0.000000 -vt 0.842105 0.000000 -vt 0.421053 1.000000 -vt 0.421053 0.000000 -vt 0.947368 1.000000 -vt 0.947368 0.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.500000 -vt 0.947368 0.500000 -vt 1.000000 1.000000 -vt 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -usemtl None -s off -f 2/1/1 4/2/1 3/3/1 1/4/1 -f 4/5/2 8/1/2 7/4/2 3/6/2 -f 8/2/3 6/7/3 5/8/3 7/3/3 -f 6/9/4 2/5/4 1/6/4 5/10/4 -f 1/11/5 3/12/5 7/7/5 5/13/5 -f 6/14/6 8/8/6 4/12/6 2/11/6 diff --git a/mods/doors/models/door_b.b3d b/mods/doors/models/door_b.b3d new file mode 100644 index 00000000..77a1a16c Binary files /dev/null and b/mods/doors/models/door_b.b3d differ diff --git a/mods/doors/models/door_b.obj b/mods/doors/models/door_b.obj deleted file mode 100644 index c5607b87..00000000 --- a/mods/doors/models/door_b.obj +++ /dev/null @@ -1,40 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'door_b.blend' -# www.blender.org -mtllib door_b.mtl -o Cube_Cube.001 -v -0.499000 -0.499000 -0.499000 -v -0.499000 1.499000 -0.499000 -v -0.499000 -0.499000 -0.375000 -v -0.499000 1.499000 -0.375000 -v 0.499000 -0.499000 -0.499000 -v 0.499000 1.499000 -0.499000 -v 0.499000 -0.499000 -0.375000 -v 0.499000 1.499000 -0.375000 -vt 0.842105 1.000000 -vt 0.842105 0.000000 -vt 0.894737 0.000000 -vt 0.894737 1.000000 -vt 0.421053 1.000000 -vt 0.421053 0.000000 -vt 0.947368 0.000000 -vt 0.947368 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.947368 0.500000 -vt 1.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -usemtl None -s off -f 2/1/1 1/2/1 3/3/1 4/4/1 -f 4/5/2 3/6/2 7/2/2 8/1/2 -f 8/4/3 7/3/3 5/7/3 6/8/3 -f 6/9/4 5/10/4 1/6/4 2/5/4 -f 1/11/5 5/12/5 7/13/5 3/7/5 -f 6/8/6 2/13/6 4/12/6 8/14/6 diff --git a/mods/doors/textures/doors_blank.png b/mods/doors/textures/doors_blank.png deleted file mode 100644 index 1914264c..00000000 Binary files a/mods/doors/textures/doors_blank.png and /dev/null differ diff --git a/mods/doors/textures/doors_door_glass.png b/mods/doors/textures/doors_door_glass.png index c296a0ff..ea6fdc1f 100644 Binary files a/mods/doors/textures/doors_door_glass.png and b/mods/doors/textures/doors_door_glass.png differ diff --git a/mods/doors/textures/doors_door_obsidian_glass.png b/mods/doors/textures/doors_door_obsidian_glass.png index 07ac5b20..fab25b34 100644 Binary files a/mods/doors/textures/doors_door_obsidian_glass.png and b/mods/doors/textures/doors_door_obsidian_glass.png differ diff --git a/mods/doors/textures/doors_door_steel.png b/mods/doors/textures/doors_door_steel.png index f42f3350..9e33ff1a 100644 Binary files a/mods/doors/textures/doors_door_steel.png and b/mods/doors/textures/doors_door_steel.png differ diff --git a/mods/doors/textures/doors_door_wood.png b/mods/doors/textures/doors_door_wood.png index 7b18203e..c073faf1 100644 Binary files a/mods/doors/textures/doors_door_wood.png and b/mods/doors/textures/doors_door_wood.png differ diff --git a/mods/doors/textures/doors_hidden_segment.png b/mods/doors/textures/doors_hidden_segment.png new file mode 100644 index 00000000..b3b6f34c Binary files /dev/null and b/mods/doors/textures/doors_hidden_segment.png differ diff --git a/mods/doors/textures/doors_item_glass.png b/mods/doors/textures/doors_item_glass.png index 86406fbb..fcdb153d 100644 Binary files a/mods/doors/textures/doors_item_glass.png and b/mods/doors/textures/doors_item_glass.png differ diff --git a/mods/doors/textures/doors_item_obsidian_glass.png b/mods/doors/textures/doors_item_obsidian_glass.png index 1026d437..5780ad8f 100644 Binary files a/mods/doors/textures/doors_item_obsidian_glass.png and b/mods/doors/textures/doors_item_obsidian_glass.png differ diff --git a/mods/dungeon_loot/loot.lua b/mods/dungeon_loot/loot.lua index 7eb08cd8..a5a40973 100644 --- a/mods/dungeon_loot/loot.lua +++ b/mods/dungeon_loot/loot.lua @@ -1,26 +1,13 @@ -dungeon_loot.registered_loot = { - -- buckets - {name = "bucket:bucket_empty", chance = 0.55}, - -- water in deserts/ice or above ground, lava otherwise - {name = "bucket:bucket_water", chance = 0.45, - types = {"sandstone", "desert", "ice"}}, - {name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, - types = {"normal"}}, - {name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, - types = {"normal"}}, +-- Loot from the `default` mod is registered here, +-- with the rest being registered in the respective mods +dungeon_loot.registered_loot = { -- various items {name = "default:stick", chance = 0.6, count = {3, 6}}, {name = "default:flint", chance = 0.4, count = {1, 3}}, - {name = "vessels:glass_fragments", chance = 0.35, count = {1, 4}}, - {name = "carts:rail", chance = 0.35, count = {1, 6}}, -- farming / consumable - {name = "farming:string", chance = 0.5, count = {1, 8}}, - {name = "farming:wheat", chance = 0.5, count = {2, 5}}, {name = "default:apple", chance = 0.4, count = {1, 4}}, - {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, - types = {"normal"}}, {name = "default:cactus", chance = 0.4, count = {1, 4}, types = {"sandstone", "desert"}}, diff --git a/mods/dungeon_loot/mapgen.lua b/mods/dungeon_loot/mapgen.lua index 624e9a85..b2c80fa8 100644 --- a/mods/dungeon_loot/mapgen.lua +++ b/mods/dungeon_loot/mapgen.lua @@ -89,20 +89,20 @@ local function populate_chest(pos, rand, dungeontype) amount = rand:next(loot.count[1], loot.count[2]) end - if itemdef then - if itemdef.tool_capabilities then - for n = 1, amount do - local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear - table.insert(items, ItemStack({name = loot.name, wear = wear})) - end - elseif itemdef.stack_max == 1 then - -- not stackable, add separately - for n = 1, amount do - table.insert(items, loot.name) - end - else - table.insert(items, ItemStack({name = loot.name, count = amount})) + if not itemdef then + minetest.log("warning", "Registered loot item " .. loot.name .. " does not exist") + elseif itemdef.tool_capabilities then + for n = 1, amount do + local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear + table.insert(items, ItemStack({name = loot.name, wear = wear})) end + elseif itemdef.stack_max == 1 then + -- not stackable, add separately + for n = 1, amount do + table.insert(items, loot.name) + end + else + table.insert(items, ItemStack({name = loot.name, count = amount})) end end end diff --git a/mods/dye/locale/dye.eo.tr b/mods/dye/locale/dye.eo.tr new file mode 100644 index 00000000..2a1c5d6d --- /dev/null +++ b/mods/dye/locale/dye.eo.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Blanka Tinkturo +Grey Dye=Griza Tinkturo +Dark Grey Dye=Malhela Griza Tinkturo +Black Dye=Nigra Tinkturo +Violet Dye=Viola Tinkturo +Blue Dye=Blua Tinkturo +Cyan Dye=Bluverda Tinkturo +Dark Green Dye=Malhela Verda Tinkturo +Green Dye=Verda Tinkturo +Yellow Dye=Flava Tinkturo +Brown Dye=Bruna Tinkturo +Orange Dye=Oranĝa Tinkturo +Red Dye=Ruĝa Tinkturo +Magenta Dye=Fiksina Tinkturo +Pink Dye=Roza Tinkturo diff --git a/mods/dye/locale/dye.es.tr b/mods/dye/locale/dye.es.tr new file mode 100644 index 00000000..bd04ef45 --- /dev/null +++ b/mods/dye/locale/dye.es.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Tinte blanco +Grey Dye=Tinte gris +Dark Grey Dye=Tinte gris oscuro +Black Dye=Tinte negro +Violet Dye=Tinte violeta +Blue Dye=Tinte azul +Cyan Dye=Tinte cián +Dark Green Dye=Tinte verde oscuro +Green Dye=Tinte verde +Yellow Dye=Tinte amarillo +Brown Dye=Tinte marrón +Orange Dye=Tinte naranja +Red Dye=Tinte rojo +Magenta Dye=Tinte magenta +Pink Dye=Tinte rosa diff --git a/mods/dye/locale/dye.fr.tr b/mods/dye/locale/dye.fr.tr new file mode 100644 index 00000000..390fa07c --- /dev/null +++ b/mods/dye/locale/dye.fr.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Colorant blanc +Grey Dye=Colorant gris +Dark Grey Dye=Colorant gris foncé +Black Dye=Colorant noir +Violet Dye=Colorant violet +Blue Dye=Colorant bleu +Cyan Dye=Colorant cyan +Dark Green Dye=Colorant vert foncé +Green Dye=Colorant vert +Yellow Dye=Colorant jaune +Brown Dye=Colorant marron +Orange Dye=Colorant orange +Red Dye=Colorant rouge +Magenta Dye=Colorant magenta +Pink Dye=Colorant rose diff --git a/mods/dye/locale/dye.id.tr b/mods/dye/locale/dye.id.tr new file mode 100644 index 00000000..4122875f --- /dev/null +++ b/mods/dye/locale/dye.id.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Pewarna Putih +Grey Dye=Pewarna Abu +Dark Grey Dye=Pewarna Abu Tua +Black Dye=Pewarna Hitam +Violet Dye=Pewarna Ungu +Blue Dye=Pewarna Biru +Cyan Dye=Pewarna Sian +Dark Green Dye=Pewarna Hijau Tua +Green Dye=Pewarna Hijau +Yellow Dye=Pewarna Kuning +Brown Dye=Pewarna Cokelat +Orange Dye=Pewarna Oranye +Red Dye=Pewarna Merah +Magenta Dye=Pewarna Magenta +Pink Dye=Pewarna Merah Jambu diff --git a/mods/dye/locale/dye.it.tr b/mods/dye/locale/dye.it.tr new file mode 100644 index 00000000..9deb385e --- /dev/null +++ b/mods/dye/locale/dye.it.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Tintura bianca +Grey Dye=Tintura grigia +Dark Grey Dye=Tintura grigia scura +Black Dye=Tintura nera +Violet Dye=Tintura viola +Blue Dye=Tintura blu +Cyan Dye=Tintura ciano +Dark Green Dye=Tintura verde scura +Green Dye=Tintura verde +Yellow Dye=Tintura gialla +Brown Dye=Tintura marrone +Orange Dye=Tintura arancione +Red Dye=Tintura rossa +Magenta Dye=Tintura magenta +Pink Dye=Tintura rosa diff --git a/mods/dye/locale/dye.ja.tr b/mods/dye/locale/dye.ja.tr new file mode 100644 index 00000000..d7ae3068 --- /dev/null +++ b/mods/dye/locale/dye.ja.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=白色の染料 +Grey Dye=灰色の染料 +Dark Grey Dye=濃灰色の染料 +Black Dye=黒色の染料 +Violet Dye=紫色の染料 +Blue Dye=青色の染料 +Cyan Dye=青緑色の染料 +Dark Green Dye=濃緑色の染料 +Green Dye=緑色の染料 +Yellow Dye=黄色の染料 +Brown Dye=茶色の染料 +Orange Dye=橙色の染料 +Red Dye=赤色の染料 +Magenta Dye=赤紫色の染料 +Pink Dye=桃色の染料 diff --git a/mods/dye/locale/dye.jbo.tr b/mods/dye/locale/dye.jbo.tr new file mode 100644 index 00000000..39ec7ab2 --- /dev/null +++ b/mods/dye/locale/dye.jbo.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=lo blabi xinmo +Grey Dye=lo grusi xinmo +Dark Grey Dye=lo xekri grusi xinmo +Black Dye=lo xekri xinmo +Violet Dye=lo zirpu xinmo +Blue Dye=lo blanu xinmo +Cyan Dye=lo cicna xinmo +Dark Green Dye=lo xekri crino xinmo +Green Dye=lo crino xinmo +Yellow Dye=lo pelxu xinmo +Brown Dye=lo bunre xinmo +Orange Dye=lo narju xinmo +Red Dye=lo xunre xinmo +Magenta Dye=lo nukni xinmo +Pink Dye=lo xunblabi xinmo diff --git a/mods/dye/locale/dye.ms.tr b/mods/dye/locale/dye.ms.tr new file mode 100644 index 00000000..50c04730 --- /dev/null +++ b/mods/dye/locale/dye.ms.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Pewarna Putih +Grey Dye=Pewarna Kelabu +Dark Grey Dye=Pewarna Kelabu Gelap +Black Dye=Pewarna Hitam +Violet Dye=Pewarna Ungu +Blue Dye=Pewarna Biru +Cyan Dye=Pewarna Biru Kehijauan +Dark Green Dye=Pewarna Hijau Gelap +Green Dye=Pewarna Hijau +Yellow Dye=Pewarna Kuning +Brown Dye=Pewarna Perang +Orange Dye=Pewarna Jingga +Red Dye=Pewarna Merah +Magenta Dye=Pewarna Merah Lembayung +Pink Dye=Pewarna Merah Jambu diff --git a/mods/dye/locale/dye.pt_BR.tr b/mods/dye/locale/dye.pt_BR.tr new file mode 100644 index 00000000..29e98dac --- /dev/null +++ b/mods/dye/locale/dye.pt_BR.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Tinta Branca +Grey Dye=Tinta Cinza +Dark Grey Dye=Tinta Cinza-escuro +Black Dye=Tinta Preta +Violet Dye=Tinta Violeta +Blue Dye=Tinta Azul +Cyan Dye=Tinta Ciano +Dark Green Dye=Tinta Verde-escuro +Green Dye=Tinta Verde +Yellow Dye=Tinta Amarela +Brown Dye=Tinta Marrom +Orange Dye=Tinta Laranja +Red Dye=Tinta Vermelha +Magenta Dye=Tinta Magenta +Pink Dye=Tinta Rosa diff --git a/mods/dye/locale/dye.ru.tr b/mods/dye/locale/dye.ru.tr new file mode 100644 index 00000000..fa3c5c44 --- /dev/null +++ b/mods/dye/locale/dye.ru.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Белая Краска +Grey Dye=Серая Краска +Dark Grey Dye=Тёмно-Серая Краска +Black Dye=Черная Краска +Violet Dye=Фиолетовая Краска +Blue Dye=Синяя Краска +Cyan Dye=Голубая Краска +Dark Green Dye=Тёмно-Зелёная Краска +Green Dye=Зелёная Краска +Yellow Dye=Жёлтая Краска +Brown Dye=Бурая Краска +Orange Dye=Оранжевая Краска +Red Dye=Красная Краска +Magenta Dye=Пурпурная Краска +Pink Dye=Розовая Краска diff --git a/mods/dye/locale/dye.sk.tr b/mods/dye/locale/dye.sk.tr new file mode 100644 index 00000000..625804c3 --- /dev/null +++ b/mods/dye/locale/dye.sk.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Biele farbivo +Grey Dye=Šedé farbivo +Dark Grey Dye=Tmavo šedé farbivo +Black Dye=Čierne farbivo +Violet Dye=Fialové farbivo +Blue Dye=Modré farbivo +Cyan Dye=Tyrkysové farbivo +Dark Green Dye=Tmavozelené farbivo +Green Dye=Zelené farbivo +Yellow Dye=Žlté farbivo +Brown Dye=Hnedé farbivo +Orange Dye=Oranžové farbivo +Red Dye=Červené farbivo +Magenta Dye=Purpurové farbivo +Pink Dye=Ružové farbivo diff --git a/mods/dye/locale/dye.sv.tr b/mods/dye/locale/dye.sv.tr new file mode 100644 index 00000000..ecde4433 --- /dev/null +++ b/mods/dye/locale/dye.sv.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Vit färg +Grey Dye=Grå färg +Dark Grey Dye=Mörkgrå färg +Black Dye=Svart färg +Violet Dye=Violett färg +Blue Dye=Blå färg +Cyan Dye=Cyan färg +Dark Green Dye=Mörkgrön färg +Green Dye=Grön färg +Yellow Dye=Gul färg +Brown Dye=Brun färg +Orange Dye=Orange färg +Red Dye=Röd färg +Magenta Dye=Magenta färg +Pink Dye=Rosa färg diff --git a/mods/dye/locale/dye.uk.tr b/mods/dye/locale/dye.uk.tr new file mode 100644 index 00000000..e3698b03 --- /dev/null +++ b/mods/dye/locale/dye.uk.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Біла Фарба +Grey Dye=Сіра Фарба +Dark Grey Dye=Темно-Сіра фарба +Black Dye=Чорна Фарба +Violet Dye=Фіолетова Фарба +Blue Dye=Синя Фарба +Cyan Dye=Синьо-Зелена Фарба +Dark Green Dye=Темно-Зелена Фарба +Green Dye=Зелена Фарба +Yellow Dye=Жовта Фарба +Brown Dye=Коричнева Фарба +Orange Dye=Помаранчева Фарба +Red Dye=Червона Фарба +Magenta Dye=Пурпурна Фарба +Pink Dye=Рожева Фарба diff --git a/mods/dye/locale/dye.zh_CN.tr b/mods/dye/locale/dye.zh_CN.tr new file mode 100644 index 00000000..11bf9cb2 --- /dev/null +++ b/mods/dye/locale/dye.zh_CN.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=白色染料 +Grey Dye=灰色染料 +Dark Grey Dye=暗灰染料 +Black Dye=黑色染料 +Violet Dye=紫色染料 +Blue Dye=蓝色染料 +Cyan Dye=青色染料 +Dark Green Dye=暗绿染料 +Green Dye=绿色染料 +Yellow Dye=黄色染料 +Brown Dye=棕色染料 +Orange Dye=橙色染料 +Red Dye=红色染料 +Magenta Dye=品红染料 +Pink Dye=粉红染料 diff --git a/mods/dye/locale/dye.zh_TW.tr b/mods/dye/locale/dye.zh_TW.tr new file mode 100644 index 00000000..b84d07e1 --- /dev/null +++ b/mods/dye/locale/dye.zh_TW.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=白色染料 +Grey Dye=灰色染料 +Dark Grey Dye=暗灰染料 +Black Dye=黑色染料 +Violet Dye=紫色染料 +Blue Dye=藍色染料 +Cyan Dye=青色染料 +Dark Green Dye=暗綠染料 +Green Dye=綠色染料 +Yellow Dye=黃色染料 +Brown Dye=棕色染料 +Orange Dye=橙色染料 +Red Dye=紅色染料 +Magenta Dye=品紅染料 +Pink Dye=粉紅染料 diff --git a/mods/env_sounds/README.txt b/mods/env_sounds/README.txt index 42835d21..3b3d2755 100644 --- a/mods/env_sounds/README.txt +++ b/mods/env_sounds/README.txt @@ -11,3 +11,7 @@ Authors of media (sounds) Yuval (CC0 1.0) https://freesound.org/people/Yuval/sounds/197023/ env_sounds_water.*.ogg + +Halion (CC0 1.0) +https://freesound.org/people/Halion/sounds/17785/ + env_sounds_lava.*.ogg diff --git a/mods/env_sounds/init.lua b/mods/env_sounds/init.lua index 546e9908..31cc483e 100644 --- a/mods/env_sounds/init.lua +++ b/mods/env_sounds/init.lua @@ -1,11 +1,41 @@ -- Parameters -local radius = 8 -- Water node search radius around player +-- Node search radius around player +local radius = 8 --- End of parameters +local allsounds = { + ["env_sounds_water"] = { + trigger = {"default:water_flowing", "default:river_water_flowing"}, + base_volume = 0.04, + max_volume = 0.4, + per_node = 0.004, + }, + ["env_sounds_lava"] = { + trigger = {"default:lava_source", "default:lava_flowing"}, + base_volume = 0, + max_volume = 0.6, + per_node = { + ["default:lava_source"] = 0.008, + ["default:lava_flowing"] = 0.002, + }, + }, +} + +if minetest.settings:get_bool("river_source_sounds") then + table.insert(allsounds["env_sounds_water"].trigger, + "default:river_water_source") +end -local river_source_sounds = minetest.settings:get_bool("river_source_sounds") +-- Cache the union of all trigger nodes + +local cache_triggers = {} + +for sound, def in pairs(allsounds) do + for _, name in ipairs(def.trigger) do + table.insert(cache_triggers, name) + end +end -- Update sound for player @@ -13,39 +43,57 @@ local river_source_sounds = minetest.settings:get_bool("river_source_sounds") local function update_sound(player) local player_name = player:get_player_name() local ppos = player:get_pos() + ppos = vector.add(ppos, player:get_properties().eye_height) local areamin = vector.subtract(ppos, radius) local areamax = vector.add(ppos, radius) - local water_nodes = {"default:water_flowing", "default:river_water_flowing"} - if river_source_sounds then - table.insert(water_nodes, "default:river_water_source") - end - local wpos, _ = minetest.find_nodes_in_area(areamin, areamax, water_nodes) - local waters = #wpos - if waters == 0 then + + local pos = minetest.find_nodes_in_area(areamin, areamax, cache_triggers, true) + if next(pos) == nil then -- If table empty return end + for sound, def in pairs(allsounds) do + -- Find average position + local posav = {0, 0, 0} + local count = 0 + for _, name in ipairs(def.trigger) do + if pos[name] then + for _, p in ipairs(pos[name]) do + posav[1] = posav[1] + p.x + posav[2] = posav[2] + p.y + posav[3] = posav[3] + p.z + end + count = count + #pos[name] + end + end - -- Find average position of water positions - local wposav = vector.new() - for _, pos in ipairs(wpos) do - wposav.x = wposav.x + pos.x - wposav.y = wposav.y + pos.y - wposav.z = wposav.z + pos.z + if count > 0 then + posav = vector.new(posav[1] / count, posav[2] / count, + posav[3] / count) + + -- Calculate gain + local gain = def.base_volume + if type(def.per_node) == 'table' then + for name, multiplier in pairs(def.per_node) do + if pos[name] then + gain = gain + #pos[name] * multiplier + end + end + else + gain = gain + count * def.per_node + end + gain = math.min(gain, def.max_volume) + + minetest.sound_play(sound, { + pos = posav, + to_player = player_name, + gain = gain, + }, true) + end end - wposav = vector.divide(wposav, waters) - - minetest.sound_play( - "env_sounds_water", - { - pos = wposav, - to_player = player_name, - gain = math.min(0.04 + waters * 0.004, 0.4), - } - ) end --- Update sound 'on joinplayer' +-- Update sound when player joins minetest.register_on_joinplayer(function(player) update_sound(player) diff --git a/mods/env_sounds/sounds/env_sounds_lava.1.ogg b/mods/env_sounds/sounds/env_sounds_lava.1.ogg new file mode 100644 index 00000000..3eafce2d Binary files /dev/null and b/mods/env_sounds/sounds/env_sounds_lava.1.ogg differ diff --git a/mods/env_sounds/sounds/env_sounds_lava.2.ogg b/mods/env_sounds/sounds/env_sounds_lava.2.ogg new file mode 100644 index 00000000..8648f17f Binary files /dev/null and b/mods/env_sounds/sounds/env_sounds_lava.2.ogg differ diff --git a/mods/farming/README.txt b/mods/farming/README.txt index d46748d7..a6427d04 100644 --- a/mods/farming/README.txt +++ b/mods/farming/README.txt @@ -38,3 +38,6 @@ Created by Gambit (CC BY 3.0): Created by Napiophelios (CC BY-SA 3.0): farming_cotton.png + +Created by Extex101 (CC BY-SA 3.0): + farming_cotton_wild.png diff --git a/mods/farming/api.lua b/mods/farming/api.lua index c2c549e4..15d126e2 100644 --- a/mods/farming/api.lua +++ b/mods/farming/api.lua @@ -45,12 +45,14 @@ farming.hoe_on_use = function(itemstack, user, pointed_thing, uses) return end - if minetest.is_protected(pt.under, user:get_player_name()) then - minetest.record_protection_violation(pt.under, user:get_player_name()) + local player_name = user and user:get_player_name() or "" + + if minetest.is_protected(pt.under, player_name) then + minetest.record_protection_violation(pt.under, player_name) return end - if minetest.is_protected(pt.above, user:get_player_name()) then - minetest.record_protection_violation(pt.above, user:get_player_name()) + if minetest.is_protected(pt.above, player_name) then + minetest.record_protection_violation(pt.above, player_name) return end @@ -58,17 +60,17 @@ farming.hoe_on_use = function(itemstack, user, pointed_thing, uses) minetest.set_node(pt.under, {name = regN[under.name].soil.dry}) minetest.sound_play("default_dig_crumbly", { pos = pt.under, - gain = 0.5, - }) + gain = 0.3, + }, true) - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(user:get_player_name())) then + if not minetest.is_creative_enabled(player_name) then -- wear tool local wdef = itemstack:get_definition() itemstack:add_wear(65535/(uses-1)) -- tool break sound if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then - minetest.sound_play(wdef.sound.breaks, {pos = pt.above, gain = 0.5}) + minetest.sound_play(wdef.sound.breaks, {pos = pt.above, + gain = 0.5}, true) end end return itemstack @@ -176,10 +178,11 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname) end -- add the node and remove 1 item from the itemstack + minetest.log("action", player_name .. " places node " .. plantname .. " at " .. + minetest.pos_to_string(pt.above)) minetest.add_node(pt.above, {name = plantname, param2 = 1}) tick(pt.above) - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(player_name)) then + if not minetest.is_creative_enabled(player_name) then itemstack:take_item() end return itemstack diff --git a/mods/farming/init.lua b/mods/farming/init.lua index e6dfd579..d328cb4a 100644 --- a/mods/farming/init.lua +++ b/mods/farming/init.lua @@ -16,7 +16,7 @@ dofile(farming.path .. "/nodes.lua") dofile(farming.path .. "/hoes.lua") --- WHEAT +-- Wheat farming.register_plant("farming:wheat", { description = S("Wheat Seed"), @@ -71,6 +71,25 @@ farming.register_plant("farming:cotton", { groups = {flammable = 4}, }) +minetest.register_decoration({ + name = "farming:cotton_wild", + deco_type = "simple", + place_on = {"default:dry_dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = -0.1, + scale = 0.1, + spread = {x = 50, y = 50, z = 50}, + seed = 4242, + octaves = 3, + persist = 0.7 + }, + biomes = {"savanna"}, + y_max = 31000, + y_min = 1, + decoration = "farming:cotton_wild", +}) + minetest.register_craftitem("farming:string", { description = S("String"), inventory_image = "farming_string.png", @@ -115,12 +134,6 @@ minetest.register_craft({ -- Fuels -minetest.register_craft({ - type = "fuel", - recipe = "farming:straw", - burntime = 3, -}) - minetest.register_craft({ type = "fuel", recipe = "farming:wheat", @@ -144,3 +157,15 @@ minetest.register_craft({ recipe = "farming:hoe_wood", burntime = 5, }) + + +-- Register farming items as dungeon loot + +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + {name = "farming:string", chance = 0.5, count = {1, 8}}, + {name = "farming:wheat", chance = 0.5, count = {2, 5}}, + {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, + types = {"normal"}}, + }) +end diff --git a/mods/farming/license.txt b/mods/farming/license.txt index 8cbb63a8..b9708de3 100644 --- a/mods/farming/license.txt +++ b/mods/farming/license.txt @@ -59,3 +59,37 @@ rights may limit how you use the material. For more details: http://creativecommons.org/licenses/by/3.0/ + +----------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2017 Napiophelios +Copyright (C) 2020 Extex101 + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/farming/locale/farming.de.tr b/mods/farming/locale/farming.de.tr index 13a363b4..b16748db 100644 --- a/mods/farming/locale/farming.de.tr +++ b/mods/farming/locale/farming.de.tr @@ -1,4 +1,6 @@ # textdomain: farming +Hoe=Hacke +Seed=Samen Wooden Hoe=Holzhacke Stone Hoe=Steinhacke Steel Hoe=Stahlhacke @@ -6,20 +8,21 @@ Bronze Hoe=Bronzehacke Mese Hoe=Mesehacke Diamond Hoe=Diamanthacke Wheat Seed=Weizensamen +Wheat=Weizen Flour=Mehl Bread=Brot Cotton Seed=Baumwollsamen +Cotton=Baumwolle String=Faden Soil=Ackerboden Wet Soil=Nasser Ackerboden -Dry Soil=Trockener Ackerboden -Wet Dry Soil=Nasser trockener Ackerboden -Desert Sand Soil=Wüsensandackerboden +Savanna Soil=Savannenackerboden +Wet Savanna Soil=Nasser Savannenackerboden +Desert Sand Soil=Wüstensandackerboden Wet Desert Sand Soil=Nasser Wüstensandackerboden Straw=Stroh Straw Stair=Strohtreppe -Straw Slab=Strohplatte Inner Straw Stair=Innere Strohtreppe Outer Straw Stair=Äußere Strohtreppe -Wheat=Weizen -Cotton=Baumwolle +Straw Slab=Strohplatte +Wild Cotton=Wilde Baumwolle diff --git a/mods/farming/locale/farming.eo.tr b/mods/farming/locale/farming.eo.tr new file mode 100644 index 00000000..1da4304d --- /dev/null +++ b/mods/farming/locale/farming.eo.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Sarkilo +Seed=Semo +Wooden Hoe=Ligna Sarkilo +Stone Hoe=Ŝtona Sarkilo +Steel Hoe=Ŝtala Sarkilo +Bronze Hoe=Bronza Sarkilo +Mese Hoe=Mesea Sarkilo +Diamond Hoe=Diamanta Sarkilo +Wheat Seed=Tritika Semo +Wheat=Tritiko +Flour=Faruno +Bread=Pano +Cotton Seed=Katuna Semo +Cotton=Katuno +String=Ŝnuro +Soil=Tero +Wet Soil=Malseka Tero +Savanna Soil=Savana Tero +Wet Savanna Soil=Malseka Savana Tero +Desert Sand Soil=Dezerta Sablo Tero +Wet Desert Sand Soil=Malseka Dezerta Sablo Tero +Straw=Pajlo +Straw Stair=Pajla Ŝtupo +Inner Straw Stair=Interna Pajla Ŝtupo +Outer Straw Stair=Ekstera Pajla Ŝtupo +Straw Slab=Pajla Plato +Wild Cotton=Sovaĝa Katuno diff --git a/mods/farming/locale/farming.es.tr b/mods/farming/locale/farming.es.tr new file mode 100644 index 00000000..b17a4524 --- /dev/null +++ b/mods/farming/locale/farming.es.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe= +Seed= +Wooden Hoe=Azada de madera +Stone Hoe=Azada de piedra +Steel Hoe=Azada de acero +Bronze Hoe=Azada de bronce +Mese Hoe=Azada de mese +Diamond Hoe=Azada de diamante +Wheat Seed=Semilla de trigo +Wheat=Trigo +Flour=Harina +Bread=Pan +Cotton Seed=Semilla de algodón +Cotton=Algodón +String=Hilo +Soil=Tierra de cultivo +Wet Soil=Tierra de cultivo humeda +Savanna Soil= +Wet Savanna Soil= +Desert Sand Soil=Tierra de cultivo de arena de desierto +Wet Desert Sand Soil=Tierra de cultivo de arena de desierto humeda +Straw=Paja +Straw Stair=Escalera de paja +Inner Straw Stair=Escalera de paja interior +Outer Straw Stair=Escalera de paja exterior +Straw Slab=Losa de paja +Wild Cotton=Algodón silvestre + + +##### not used anymore ##### + +Dry Soil=Tierra de cultivo seca +Wet Dry Soil=Tierra de cultivo seca-humeda diff --git a/mods/farming/locale/farming.fr.tr b/mods/farming/locale/farming.fr.tr new file mode 100644 index 00000000..826949e1 --- /dev/null +++ b/mods/farming/locale/farming.fr.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe=Houe +Seed=Grain +Wooden Hoe=Houe en bois +Stone Hoe=Houe en pierre +Steel Hoe=Houe en acier +Bronze Hoe=Houe en bronze +Mese Hoe=Houe en Mese +Diamond Hoe=Houe en diamant +Wheat Seed=Grain de blé +Wheat=Blé +Flour=Farine +Bread=Pain +Cotton Seed=Graine de coton +Cotton=Coton +String=Ficelle +Soil=Sol +Wet Soil=Sol humide +Savanna Soil=Sol de la savanne +Wet Savanna Soil=Sol de la savanne humide +Desert Sand Soil=Sol de sable du désert +Wet Desert Sand Soil=Sol de sable du désert humide +Straw=Paille +Straw Stair=Escalier de paille +Inner Straw Stair=Escalier intérieur en paille +Outer Straw Stair=Escalier extérieur en paille +Straw Slab=Dalle de paille +Wild Cotton=Coton sauvage + + +##### not used anymore ##### + +Dry Soil=Sol sec +Wet Dry Soil=Sol sec et humide diff --git a/mods/farming/locale/farming.id.tr b/mods/farming/locale/farming.id.tr new file mode 100644 index 00000000..7b276801 --- /dev/null +++ b/mods/farming/locale/farming.id.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Cangkul +Seed=Benih +Wooden Hoe=Cangkul Kayu +Stone Hoe=Cangkul Batu +Steel Hoe=Cangkul Baja +Bronze Hoe=Cangkul Perunggu +Mese Hoe=Cangkul Mese +Diamond Hoe=Cangkul Berlian +Wheat Seed=Benih Gandum +Wheat=Gandum +Flour=Tepung +Bread=Roti +Cotton Seed=Benih Kapas +Cotton=Kapas +String=Benang +Soil=Tanah Tanam +Wet Soil=Tanah Tanam Basah +Savanna Soil=Tanah Tanam Sabana +Wet Savanna Soil=Tanah Tanam Sabana Basah +Desert Sand Soil=Pasir Tanam Gurun +Wet Desert Sand Soil=Pasir Tanam Gurun Basah +Straw=Jerami +Straw Stair=Tangga Jerami +Inner Straw Stair=Tangga Jerami Dalam +Outer Straw Stair=Tangga Jerami Luar +Straw Slab=Lempengan Jerami +Wild Cotton=Kapas Liar diff --git a/mods/farming/locale/farming.it.tr b/mods/farming/locale/farming.it.tr new file mode 100644 index 00000000..aeb9c0a7 --- /dev/null +++ b/mods/farming/locale/farming.it.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe= +Seed= +Wooden Hoe=Zappa di legno +Stone Hoe=Zappa di pietra +Steel Hoe=Zappa d'acciaio +Bronze Hoe=Zappa di bronzo +Mese Hoe=Zappa di mese +Diamond Hoe=Zappa di diamante +Wheat Seed=Seme di grano +Wheat=Grano +Flour=Farina +Bread=Pane +Cotton Seed=Seme di cotone +Cotton=Cotone +String=Filo +Soil=Terreno +Wet Soil=Terreno bagnato +Savanna Soil= +Wet Savanna Soil= +Desert Sand Soil=Terreno di sabbia del deserto +Wet Desert Sand Soil=Terreno bagnato di sabbia del deserto +Straw=Paglia +Straw Stair=Scala di paglia +Inner Straw Stair=Scala di paglia interna +Outer Straw Stair=Scala di paglia esterna +Straw Slab=Lastra di paglia +Wild Cotton= + + +##### not used anymore ##### + +Dry Soil=Terreno asciutto +Wet Dry Soil=Terreno asciutto bagnato diff --git a/mods/farming/locale/farming.ja.tr b/mods/farming/locale/farming.ja.tr new file mode 100644 index 00000000..a95d40c8 --- /dev/null +++ b/mods/farming/locale/farming.ja.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=クワ +Seed=種 +Wooden Hoe=木のクワ +Stone Hoe=石のクワ +Steel Hoe=鉄のクワ +Bronze Hoe=青銅のクワ +Mese Hoe=メセのクワ +Diamond Hoe=ダイヤモンドのクワ +Wheat Seed=小麦の種 +Wheat=小麦 +Flour=小麦粉 +Bread=パン +Cotton Seed=綿の種 +Cotton=綿 +String=糸 +Soil=土壌 +Wet Soil=湿った土壌 +Savanna Soil=サバンナの土壌 +Wet Savanna Soil=湿ったサバンナの土壌 +Desert Sand Soil=砂漠の砂の土壌 +Wet Desert Sand Soil=湿った砂漠の砂の土壌 +Straw=ワラ +Straw Stair=ワラの階段 +Inner Straw Stair=へっこんだワラの階段 +Outer Straw Stair=でっぱったワラの階段 +Straw Slab=ワラのハーフブロック +Wild Cotton=天然綿 diff --git a/mods/farming/locale/farming.jbo.tr b/mods/farming/locale/farming.jbo.tr new file mode 100644 index 00000000..06bfa32a --- /dev/null +++ b/mods/farming/locale/farming.jbo.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=lo te plixa +Seed=lo tsiju +Wooden Hoe=lo mudri te plixa +Stone Hoe=lo rokci te plixa +Steel Hoe=lo gasta te plixa +Bronze Hoe=lo ransu te plixa +Mese Hoe=lo za'e kunrmese te plixa +Diamond Hoe=lo tabjme te plixa +Wheat Seed=lo tsiju be lo maxri +Wheat=lo maxri +Flour=lo grupu'o +Bread=lo nanba +Cotton Seed=lo tsiju be lo mapni +Cotton=lo mapni +String=lo cilta +Soil=lo ferti dertu +Wet Soil=lo cilmo ke ferti dertu +Savanna Soil=lo ferti ke sudytu'a dertu +Wet Savanna Soil=lo cilmo ke ferti ke sudytu'a dertu +Desert Sand Soil=lo ferti ke cantu'a canre +Wet Desert Sand Soil=lo cilmo ke ferti ke cantu'a canre +Straw=lo sudysrasu +Straw Stair=lo sudysrasu serti +Inner Straw Stair=lo zo'i sudysrasu serti +Outer Straw Stair=lo ze'o sudysrasu serti +Straw Slab=lo sudysrasu ke xadba bliku +Wild Cotton=lo cilce ke mapni spati diff --git a/mods/farming/locale/farming.ms.tr b/mods/farming/locale/farming.ms.tr new file mode 100644 index 00000000..95b8709d --- /dev/null +++ b/mods/farming/locale/farming.ms.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe= +Seed= +Wooden Hoe=Cangkul Kayu +Stone Hoe=Cangkul Batu +Steel Hoe=Cangkul Keluli +Bronze Hoe=Cangkul Gangsa +Mese Hoe=Cangkul Mese +Diamond Hoe=Cangkul Intan +Wheat Seed=Benih Gandum +Wheat=Gandum +Flour=Tepung +Bread=Roti +Cotton Seed=Benih Kapas +Cotton=Kapas +String=Benang +Soil=Tanih +Wet Soil=Tanih Lembap +Savanna Soil= +Wet Savanna Soil= +Desert Sand Soil=Tanih Pasir Gurun +Wet Desert Sand Soil=Tanih Pasir Gurun Lembap +Straw=Jerami +Straw Stair=Tangga Jerami +Inner Straw Stair=Tangga Jerami Dalaman +Outer Straw Stair=Tangga Jerami Luaran +Straw Slab=Papak Jerami +Wild Cotton= + + +##### not used anymore ##### + +Dry Soil=Tanih Kering +Wet Dry Soil=Tanih Kering Lembap diff --git a/mods/farming/locale/farming.pt_BR.tr b/mods/farming/locale/farming.pt_BR.tr new file mode 100644 index 00000000..fb0a83c1 --- /dev/null +++ b/mods/farming/locale/farming.pt_BR.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Enxada +Seed=Semente +Wooden Hoe=Enxada de Madeira +Stone Hoe=Enxada de Pedra +Steel Hoe=Enxada de Aço +Bronze Hoe=Enxada de Bronze +Mese Hoe=Enxada de Mese +Diamond Hoe=Enxada de Diamante +Wheat Seed=Semente de Trigo +Wheat=Trigo +Flour=Farinha +Bread=Pão +Cotton Seed=Semente de Algodão +Cotton=Algodão +String=Fio +Soil=Solo +Wet Soil=Solo Molhado +Savanna Soil=Solo da Savana +Wet Savanna Soil=Solo da Savana Molhado +Desert Sand Soil=Solo Arenoso do Deserto +Wet Desert Sand Soil=Solo Arenoso do Deserto Molhado +Straw=Palha +Straw Stair=Escada de Palha +Inner Straw Stair=Escada de Palha Externa +Outer Straw Stair=Escada de Palha Interna +Straw Slab=Laje de Palha +Wild Cotton=Algodão Selvagem diff --git a/mods/farming/locale/farming.ru.tr b/mods/farming/locale/farming.ru.tr new file mode 100644 index 00000000..7b771392 --- /dev/null +++ b/mods/farming/locale/farming.ru.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe=Мотыга +Seed=Семя +Wooden Hoe=Деревянная Мотыга +Stone Hoe=Каменная Мотыга +Steel Hoe=Стальная Мотыга +Bronze Hoe=Бронзовая Мотыга +Mese Hoe=Месе Мотыга +Diamond Hoe=Алмазная Мотыга +Wheat Seed=Семена Пшеницы +Wheat=Пшеница +Flour=Мука +Bread=Хлеб +Cotton Seed=Семена Хлопка +Cotton=Хлопок +String=Нить +Soil=Почва +Wet Soil=Влажная Почва +Savanna Soil=Саванная Почва +Wet Savanna Soil=Влажная Саванная Почва +Desert Sand Soil=Пустынная Песчаная Почва +Wet Desert Sand Soil=Влажная Пустынная Песчаная Почва +Straw=Солома +Straw Stair=Соломенная Ступень +Inner Straw Stair=Угловая Соломенная Ступень (Внутренний Угол) +Outer Straw Stair=Угловая Соломенная Ступень (Внешний Угол) +Straw Slab=Соломенная Плита +Wild Cotton=Неокультуренный Хлопок + + +##### not used anymore ##### + +Dry Soil=Сухая Почва +Wet Dry Soil=Влажная Сухая Почва diff --git a/mods/farming/locale/farming.sk.tr b/mods/farming/locale/farming.sk.tr new file mode 100644 index 00000000..2caa4b57 --- /dev/null +++ b/mods/farming/locale/farming.sk.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Motyka +Seed=Semienko +Wooden Hoe=Drevená motyka +Stone Hoe=Kamenná motyka +Steel Hoe=Oceľová motyka +Bronze Hoe=Bronzová motyka +Mese Hoe=Mese motyka +Diamond Hoe=Diamantová motyka +Wheat Seed=Pšeničné semienko +Wheat=Pšenica +Flour=Múka +Bread=Chlieb +Cotton Seed=Bavlnené semienko +Cotton=Bavlna +String=Šňúra +Soil=Zemina +Wet Soil=Mokrá zemina +Savanna Soil=Zemina zo savany +Wet Savanna Soil=Morká zemina zo savany +Desert Sand Soil=Zemina s púšte +Wet Desert Sand Soil=Mokrá zemina s púšte +Straw=Slama +Straw Stair=Slamenné schody +Inner Straw Stair=Vnútorné slamenné schodisko +Outer Straw Stair=Vonkajšie slamenné schodisko +Straw Slab=Slamenná doska +Wild Cotton=Divoká bavlna diff --git a/mods/farming/locale/farming.sv.tr b/mods/farming/locale/farming.sv.tr new file mode 100644 index 00000000..e6c9e685 --- /dev/null +++ b/mods/farming/locale/farming.sv.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Kratta +Seed=Frö +Wooden Hoe=Träkratta +Stone Hoe=Stenkratta +Steel Hoe=Stålkratta +Bronze Hoe=Bronskratta +Mese Hoe=Mesekratta +Diamond Hoe=Diamantkratta +Wheat Seed=Vetefrö +Wheat=Vete +Flour=Mjöl +Bread=Bröd +Cotton Seed=Bomullfrö +Cotton=Bomull +String=Snöre +Soil=Odlinngsmark +Wet Soil=Våt Odlingsmark +Savanna Soil=Savannodlingsmark +Wet Savanna Soil=Våt savannodlingsmark +Desert Sand Soil=Ökensandsodlingsmark +Wet Desert Sand Soil=Våt ökensandsodlingsmark +Straw=Halm +Straw Stair=Halmtrappa +Inner Straw Stair=Inre halmtrappa +Outer Straw Stair=Yttre halmtrappa +Straw Slab=Halmplatta +Wild Cotton= diff --git a/mods/farming/locale/farming.uk.tr b/mods/farming/locale/farming.uk.tr new file mode 100644 index 00000000..61d7147c --- /dev/null +++ b/mods/farming/locale/farming.uk.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Мотига +Seed=Насіння +Wooden Hoe=Дерев'яна Мотига +Stone Hoe=Кам'яна Мотига +Steel Hoe=Сталева Мотига +Bronze Hoe=Бронзова Мотига +Mese Hoe=Месе Мотига +Diamond Hoe=Алмазна Мотига +Wheat Seed=Насіння Пшениці +Wheat=Пшениця +Flour=Мука +Bread=Хліб +Cotton Seed=Насіння Бавовни +Cotton=Бавовна +String=Нитка +Soil=Ґрунт +Wet Soil=Вологий Ґрунт +Savanna Soil=Саванновий Ґрунт +Wet Savanna Soil=Вологий Саванновий Ґрунт +Desert Sand Soil=Пустинний Піщаний Ґрунт +Wet Desert Sand Soil=Вологий Пустельний Піщаний Ґрунт +Straw=Солома +Straw Stair=Солом'яна Сходинка +Inner Straw Stair=Кутова Солом'яна Сходинка (Внутрішній Кут) +Outer Straw Stair=Кутова Солом'яна Сходинка (Зовнішній Кут) +Straw Slab=Солом'яна Плита +Wild Cotton=Дика Бавовна diff --git a/mods/farming/locale/farming.zh_CN.tr b/mods/farming/locale/farming.zh_CN.tr new file mode 100644 index 00000000..33ad9be4 --- /dev/null +++ b/mods/farming/locale/farming.zh_CN.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe=锄头 +Seed=种子 +Wooden Hoe=木锄头 +Stone Hoe=石锄头 +Steel Hoe=铁锄头 +Bronze Hoe=青铜锄头 +Mese Hoe=黄石锄头 +Diamond Hoe=钻石锄头 +Wheat Seed=小麦种子 +Wheat=小麦 +Flour=面粉 +Bread=面包 +Cotton Seed=棉花种子 +Cotton=棉 +String=线 +Soil=土 +Wet Soil=湿土 +Savanna Soil=草原土 +Wet Savanna Soil=湿草原土 +Desert Sand Soil=沙漠沙土 +Wet Desert Sand Soil=湿沙漠沙土 +Straw=稻草 +Straw Stair=稻草台阶 +Inner Straw Stair=稻草内楼梯 +Outer Straw Stair=稻草外楼梯 +Straw Slab=稻草板 +Wild Cotton=野棉花 + + +##### not used anymore ##### + +Dry Soil=干土 +Wet Dry Soil=湿干土 diff --git a/mods/farming/locale/farming.zh_TW.tr b/mods/farming/locale/farming.zh_TW.tr new file mode 100644 index 00000000..e6a1f35d --- /dev/null +++ b/mods/farming/locale/farming.zh_TW.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe= +Seed= +Wooden Hoe=木鋤頭 +Stone Hoe=石鋤頭 +Steel Hoe=鐵鋤頭 +Bronze Hoe=青銅鋤頭 +Mese Hoe=黃石鋤頭 +Diamond Hoe=鑽石鋤頭 +Wheat Seed=小麥種子 +Wheat=小麥 +Flour=麵粉 +Bread=麵包 +Cotton Seed=棉花種子 +Cotton=棉 +String=線 +Soil=土 +Wet Soil=溼土 +Savanna Soil= +Wet Savanna Soil= +Desert Sand Soil=沙漠沙土 +Wet Desert Sand Soil=溼沙漠沙土 +Straw=稻草 +Straw Stair=稻草臺階 +Inner Straw Stair=稻草內樓梯 +Outer Straw Stair=稻草外樓梯 +Straw Slab=稻草板 +Wild Cotton= + + +##### not used anymore ##### + +Dry Soil=乾土 +Wet Dry Soil=溼乾土 diff --git a/mods/farming/locale/template.txt b/mods/farming/locale/template.txt index 92d113e9..af923474 100644 --- a/mods/farming/locale/template.txt +++ b/mods/farming/locale/template.txt @@ -1,4 +1,6 @@ # textdomain: farming +Hoe= +Seed= Wooden Hoe= Stone Hoe= Steel Hoe= @@ -6,14 +8,16 @@ Bronze Hoe= Mese Hoe= Diamond Hoe= Wheat Seed= +Wheat= Flour= Bread= Cotton Seed= +Cotton= String= Soil= Wet Soil= -Dry Soil= -Wet Dry Soil= +Savanna Soil= +Wet Savanna Soil= Desert Sand Soil= Wet Desert Sand Soil= Straw= @@ -21,5 +25,4 @@ Straw Stair= Inner Straw Stair= Outer Straw Stair= Straw Slab= -Wheat= -Cotton= +Wild Cotton= diff --git a/mods/farming/mod.conf b/mods/farming/mod.conf index c26c28fc..9a76a6a7 100644 --- a/mods/farming/mod.conf +++ b/mods/farming/mod.conf @@ -1,3 +1,4 @@ name = farming description = Minetest Game mod: farming depends = default, wool, stairs +optional_depends = dungeon_loot diff --git a/mods/farming/nodes.lua b/mods/farming/nodes.lua index 22dd51c8..b5f90f96 100644 --- a/mods/farming/nodes.lua +++ b/mods/farming/nodes.lua @@ -86,7 +86,7 @@ minetest.register_node("farming:soil_wet", { }) minetest.register_node("farming:dry_soil", { - description = S("Dry Soil"), + description = S("Savanna Soil"), tiles = {"default_dry_dirt.png^farming_soil.png", "default_dry_dirt.png"}, drop = "default:dry_dirt", groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1}, @@ -99,7 +99,7 @@ minetest.register_node("farming:dry_soil", { }) minetest.register_node("farming:dry_soil_wet", { - description = S("Wet Dry Soil"), + description = S("Wet Savanna Soil"), tiles = {"default_dry_dirt.png^farming_soil_wet.png", "default_dry_dirt.png^farming_soil_wet_side.png"}, drop = "default:dry_dirt", groups = {crumbly=3, not_in_creative_inventory=1, soil=3, wet = 1, grassland = 1, field = 1}, @@ -153,6 +153,13 @@ minetest.register_node("farming:straw", { sounds = default.node_sound_leaves_defaults(), }) +-- Registered before the stairs so the stairs get fuel recipes. +minetest.register_craft({ + type = "fuel", + recipe = "farming:straw", + burntime = 3, +}) + do local recipe = "farming:straw" local groups = {snappy = 3, flammable = 4} @@ -223,20 +230,53 @@ minetest.register_abm({ }) +-- Make default:grass_* occasionally drop wheat seed + for i = 1, 5 do minetest.override_item("default:grass_"..i, {drop = { max_items = 1, items = { - {items = {"farming:seed_wheat"},rarity = 5}, + {items = {"farming:seed_wheat"}, rarity = 5}, {items = {"default:grass_1"}}, } }}) end + +-- Make default:junglegrass occasionally drop cotton seed. + +-- This is the old source of cotton seeds that makes no sense. It is a leftover +-- from Mapgen V6 where junglegrass was the only plant available to be a source. +-- This source is kept for now to avoid disruption but should probably be +-- removed in future as players get used to the new source. + minetest.override_item("default:junglegrass", {drop = { max_items = 1, items = { - {items = {"farming:seed_cotton"},rarity = 8}, + {items = {"farming:seed_cotton"}, rarity = 8}, {items = {"default:junglegrass"}}, } }}) + + +-- Wild cotton as a source of cotton seed + +minetest.register_node("farming:cotton_wild", { + description = S("Wild Cotton"), + drawtype = "plantlike", + waving = 1, + tiles = {"farming_cotton_wild.png"}, + inventory_image = "farming_cotton_wild.png", + wield_image = "farming_cotton_wild.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, attached_node = 1, flammable = 4}, + drop = "farming:seed_cotton", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -8 / 16, -6 / 16, 6 / 16, 5 / 16, 6 / 16}, + }, +}) diff --git a/mods/farming/textures/farming_bread.png b/mods/farming/textures/farming_bread.png index 0c25678c..16b25f19 100644 Binary files a/mods/farming/textures/farming_bread.png and b/mods/farming/textures/farming_bread.png differ diff --git a/mods/farming/textures/farming_cotton_5.png b/mods/farming/textures/farming_cotton_5.png index 3e890855..520e8f6c 100644 Binary files a/mods/farming/textures/farming_cotton_5.png and b/mods/farming/textures/farming_cotton_5.png differ diff --git a/mods/farming/textures/farming_cotton_7.png b/mods/farming/textures/farming_cotton_7.png index 466d40a2..11c0cf6d 100644 Binary files a/mods/farming/textures/farming_cotton_7.png and b/mods/farming/textures/farming_cotton_7.png differ diff --git a/mods/farming/textures/farming_cotton_8.png b/mods/farming/textures/farming_cotton_8.png index f835ba5b..4450a2c4 100644 Binary files a/mods/farming/textures/farming_cotton_8.png and b/mods/farming/textures/farming_cotton_8.png differ diff --git a/mods/farming/textures/farming_cotton_wild.png b/mods/farming/textures/farming_cotton_wild.png new file mode 100644 index 00000000..fba344c7 Binary files /dev/null and b/mods/farming/textures/farming_cotton_wild.png differ diff --git a/mods/farming/textures/farming_soil.png b/mods/farming/textures/farming_soil.png index 5cd3e681..31504258 100644 Binary files a/mods/farming/textures/farming_soil.png and b/mods/farming/textures/farming_soil.png differ diff --git a/mods/farming/textures/farming_soil_wet.png b/mods/farming/textures/farming_soil_wet.png index 0b4487d8..2eb2c3cd 100644 Binary files a/mods/farming/textures/farming_soil_wet.png and b/mods/farming/textures/farming_soil_wet.png differ diff --git a/mods/farming/textures/farming_wheat.png b/mods/farming/textures/farming_wheat.png index 1e0ad3b3..435d5df5 100644 Binary files a/mods/farming/textures/farming_wheat.png and b/mods/farming/textures/farming_wheat.png differ diff --git a/mods/farming/textures/farming_wheat_3.png b/mods/farming/textures/farming_wheat_3.png index 36ebb192..9d90ac14 100644 Binary files a/mods/farming/textures/farming_wheat_3.png and b/mods/farming/textures/farming_wheat_3.png differ diff --git a/mods/farming/textures/farming_wheat_4.png b/mods/farming/textures/farming_wheat_4.png index 735ed777..14d055fb 100644 Binary files a/mods/farming/textures/farming_wheat_4.png and b/mods/farming/textures/farming_wheat_4.png differ diff --git a/mods/farming/textures/farming_wheat_5.png b/mods/farming/textures/farming_wheat_5.png index f40b5f04..5b88c578 100644 Binary files a/mods/farming/textures/farming_wheat_5.png and b/mods/farming/textures/farming_wheat_5.png differ diff --git a/mods/farming/textures/farming_wheat_7.png b/mods/farming/textures/farming_wheat_7.png index cc26ca96..6b7bb4b9 100644 Binary files a/mods/farming/textures/farming_wheat_7.png and b/mods/farming/textures/farming_wheat_7.png differ diff --git a/mods/fire/init.lua b/mods/fire/init.lua index 3c8a8fcf..030b604d 100644 --- a/mods/fire/init.lua +++ b/mods/fire/init.lua @@ -1,15 +1,12 @@ -- fire/init.lua -- Global namespace for functions - fire = {} -- Load support for MT game translation. local S = minetest.get_translator("fire") - -- 'Enable fire' setting - local fire_enabled = minetest.settings:get_bool("enable_fire") if fire_enabled == nil then -- enable_fire setting not specified, check for disable_fire @@ -27,33 +24,27 @@ end -- -- Flood flame function - -local function flood_flame(pos, oldnode, newnode) +local function flood_flame(pos, _, newnode) -- Play flame extinguish sound if liquid is not an 'igniter' - local nodedef = minetest.registered_items[newnode.name] - if not (nodedef and nodedef.groups and - nodedef.groups.igniter and nodedef.groups.igniter > 0) then + if minetest.get_item_group(newnode.name, "igniter") == 0 then minetest.sound_play("fire_extinguish_flame", - {pos = pos, max_hear_distance = 16, gain = 0.15}) + {pos = pos, max_hear_distance = 16, gain = 0.15}, true) end -- Remove the flame return false end -- Flame nodes - -minetest.register_node("fire:basic_flame", { +local fire_node = { drawtype = "firelike", - tiles = { - { - name = "fire_basic_flame_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1 - }, - }, + tiles = {{ + name = "fire_basic_flame_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1 + }} }, inventory_image = "fire_basic_flame.png", paramtype = "light", @@ -63,61 +54,36 @@ minetest.register_node("fire:basic_flame", { sunlight_propagates = true, floodable = true, damage_per_second = 4, - groups = {igniter = 2, dig_immediate = 3, not_in_creative_inventory = 1}, + groups = {igniter = 2, dig_immediate = 3, fire = 1}, drop = "", + on_flood = flood_flame +} - on_timer = function(pos) - local f = minetest.find_node_near(pos, 1, {"group:flammable"}) - if not fire_enabled or not f then - minetest.remove_node(pos) - return - end - -- Restart timer - return true - end, +-- Basic flame node +local flame_fire_node = table.copy(fire_node) +flame_fire_node.description = S("Fire") +flame_fire_node.groups.not_in_creative_inventory = 1 +flame_fire_node.on_timer = function(pos) + if not minetest.find_node_near(pos, 1, {"group:flammable"}) then + minetest.remove_node(pos) + return + end + -- Restart timer + return true +end +flame_fire_node.on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(30, 60)) +end - on_construct = function(pos) - if not fire_enabled then - minetest.remove_node(pos) - else - minetest.get_node_timer(pos):start(math.random(30, 60)) - end - end, +minetest.register_node("fire:basic_flame", flame_fire_node) - on_flood = flood_flame, -}) +-- Permanent flame node +local permanent_fire_node = table.copy(fire_node) +permanent_fire_node.description = S("Permanent Fire") -minetest.register_node("fire:permanent_flame", { - description = S("Permanent Flame"), - drawtype = "firelike", - tiles = { - { - name = "fire_basic_flame_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1 - }, - }, - }, - inventory_image = "fire_basic_flame.png", - paramtype = "light", - light_source = 13, - walkable = false, - buildable_to = true, - sunlight_propagates = true, - floodable = true, - damage_per_second = 4, - groups = {igniter = 2, dig_immediate = 3}, - drop = "", - - on_flood = flood_flame, -}) - - --- Flint and steel +minetest.register_node("fire:permanent_flame", permanent_fire_node) +-- Flint and Steel minetest.register_tool("fire:flint_and_steel", { description = S("Flint and Steel"), inventory_image = "fire_flint_steel.png", @@ -125,10 +91,8 @@ minetest.register_tool("fire:flint_and_steel", { on_use = function(itemstack, user, pointed_thing) local sound_pos = pointed_thing.above or user:get_pos() - minetest.sound_play( - "fire_flint_and_steel", - {pos = sound_pos, gain = 0.5, max_hear_distance = 8} - ) + minetest.sound_play("fire_flint_and_steel", + {pos = sound_pos, gain = 0.2, max_hear_distance = 8}, true) local player_name = user:get_player_name() if pointed_thing.type == "node" then local node_under = minetest.get_node(pointed_thing.under).name @@ -147,14 +111,15 @@ minetest.register_tool("fire:flint_and_steel", { minetest.set_node(pointed_thing.above, {name = "fire:basic_flame"}) end end - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(player_name)) then + if not minetest.is_creative_enabled(player_name) then -- Wear tool local wdef = itemstack:get_definition() itemstack:add_wear(1000) + -- Tool break sound if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then - minetest.sound_play(wdef.sound.breaks, {pos = sound_pos, gain = 0.5}) + minetest.sound_play(wdef.sound.breaks, + {pos = sound_pos, gain = 0.5}, true) end return itemstack end @@ -168,23 +133,21 @@ minetest.register_craft({ } }) - -- Override coalblock to enable permanent flame above -- Coalblock is non-flammable to avoid unwanted basic_flame nodes - minetest.override_item("default:coalblock", { - after_destruct = function(pos, oldnode) + after_destruct = function(pos) pos.y = pos.y + 1 if minetest.get_node(pos).name == "fire:permanent_flame" then minetest.remove_node(pos) end end, - on_ignite = function(pos, igniter) + on_ignite = function(pos) local flame_pos = {x = pos.x, y = pos.y + 1, z = pos.z} if minetest.get_node(flame_pos).name == "air" then minetest.set_node(flame_pos, {name = "fire:permanent_flame"}) end - end, + end }) @@ -192,24 +155,18 @@ minetest.override_item("default:coalblock", { -- Sound -- -local flame_sound = minetest.settings:get_bool("flame_sound") -if flame_sound == nil then - -- Enable if no setting present - flame_sound = true -end +-- Enable if no setting present +local flame_sound = minetest.settings:get_bool("flame_sound", true) if flame_sound then - local handles = {} local timer = 0 -- Parameters - local radius = 8 -- Flame node search radius around player local cycle = 3 -- Cycle time for sound updates -- Update sound for player - function fire.update_player_sound(player) local player_name = player:get_player_name() -- Search for flame nodes in radius around player @@ -261,16 +218,13 @@ if flame_sound then fposmid = vector.divide(vector.add(fposmin, fposmax), 2) end -- Play sound - local handle = minetest.sound_play( - "fire_fire", - { - pos = fposmid, - to_player = player_name, - gain = math.min(0.06 * (1 + flames * 0.125), 0.18), - max_hear_distance = 32, - loop = true, -- In case of lag - } - ) + local handle = minetest.sound_play("fire_fire", { + pos = fposmid, + to_player = player_name, + gain = math.min(0.06 * (1 + flames * 0.125), 0.18), + max_hear_distance = 32, + loop = true -- In case of lag + }) -- Store sound handle for this player if handle then handles[player_name] = handle @@ -279,7 +233,6 @@ if flame_sound then end -- Cycle for updating players sounds - minetest.register_globalstep(function(dtime) timer = timer + dtime if timer < cycle then @@ -294,7 +247,6 @@ if flame_sound then end) -- Stop sound and clear handle on player leave - minetest.register_on_leaveplayer(function(player) local player_name = player:get_player_name() if handles[player_name] then @@ -306,19 +258,14 @@ end -- Deprecated function kept temporarily to avoid crashes if mod fire nodes call it - -function fire.update_sounds_around(pos) -end - +function fire.update_sounds_around() end -- -- ABMs -- if fire_enabled then - -- Ignite neighboring nodes, add basic flames - minetest.register_abm({ label = "Ignite flame", nodenames = {"group:flammable"}, @@ -331,11 +278,10 @@ if fire_enabled then if p then minetest.set_node(p, {name = "fire:basic_flame"}) end - end, + end }) -- Remove flammable nodes around basic flame - minetest.register_abm({ label = "Remove flammable nodes", nodenames = {"fire:basic_flame"}, @@ -356,7 +302,6 @@ if fire_enabled then minetest.remove_node(p) minetest.check_for_falling(p) end - end, + end }) - end diff --git a/mods/fire/locale/fire.de.tr b/mods/fire/locale/fire.de.tr index d6f8dde8..dad7c34a 100644 --- a/mods/fire/locale/fire.de.tr +++ b/mods/fire/locale/fire.de.tr @@ -1,3 +1,4 @@ # textdomain: fire -Permanent Flame=Permanente Flamme +Fire=Feuer +Permanent Fire=Permanentes Feuer Flint and Steel=Feuerstein und Stahl diff --git a/mods/fire/locale/fire.eo.tr b/mods/fire/locale/fire.eo.tr new file mode 100644 index 00000000..2fc0679a --- /dev/null +++ b/mods/fire/locale/fire.eo.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Fajro +Permanent Fire=Ĉiama Fajro +Flint and Steel=Siliko kaj Ŝtalo diff --git a/mods/fire/locale/fire.es.tr b/mods/fire/locale/fire.es.tr new file mode 100644 index 00000000..4ce3f328 --- /dev/null +++ b/mods/fire/locale/fire.es.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Fuego +Permanent Fire=Fuego permanente +Flint and Steel=Yesca y pedernal diff --git a/mods/fire/locale/fire.fr.tr b/mods/fire/locale/fire.fr.tr new file mode 100644 index 00000000..4d5d08ac --- /dev/null +++ b/mods/fire/locale/fire.fr.tr @@ -0,0 +1,10 @@ +# textdomain: fire +Fire=Feu +Permanent Fire=Feu qui brûle en permanence +Flint and Steel=Briquet à silex en acier + + +##### not used anymore ##### + +# textdomain: fire +Permanent Flame=Flamme permanente diff --git a/mods/fire/locale/fire.id.tr b/mods/fire/locale/fire.id.tr new file mode 100644 index 00000000..a6d2da55 --- /dev/null +++ b/mods/fire/locale/fire.id.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Api +Permanent Fire=Api Abadi +Flint and Steel=Pemantik Api diff --git a/mods/fire/locale/fire.it.tr b/mods/fire/locale/fire.it.tr new file mode 100644 index 00000000..61eae452 --- /dev/null +++ b/mods/fire/locale/fire.it.tr @@ -0,0 +1,10 @@ +# textdomain: fire +Fire= +Permanent Fire= +Flint and Steel=Acciarino + + +##### not used anymore ##### + +# textdomain: fire +Permanent Flame=Fiamma permanente diff --git a/mods/fire/locale/fire.ja.tr b/mods/fire/locale/fire.ja.tr new file mode 100644 index 00000000..bf5fec4e --- /dev/null +++ b/mods/fire/locale/fire.ja.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=炎 +Permanent Fire=燃え続ける炎 +Flint and Steel=火打ち石と打ち金 diff --git a/mods/fire/locale/fire.jbo.tr b/mods/fire/locale/fire.jbo.tr new file mode 100644 index 00000000..b081236d --- /dev/null +++ b/mods/fire/locale/fire.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=lo fagri +Permanent Fire=lo vitno fagri +Flint and Steel=lo fakro'i jo'u gasta diff --git a/mods/fire/locale/fire.ms.tr b/mods/fire/locale/fire.ms.tr new file mode 100644 index 00000000..fdd20a51 --- /dev/null +++ b/mods/fire/locale/fire.ms.tr @@ -0,0 +1,10 @@ +# textdomain: fire +Fire= +Permanent Fire= +Flint and Steel=Pemetik Api + + +##### not used anymore ##### + +# textdomain: fire +Permanent Flame=Api Abadi diff --git a/mods/fire/locale/fire.pt_BR.tr b/mods/fire/locale/fire.pt_BR.tr new file mode 100644 index 00000000..8a37359b --- /dev/null +++ b/mods/fire/locale/fire.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Fogo +Permanent Fire=Fogo Permanente +Flint and Steel=Sílex e Fogo diff --git a/mods/fire/locale/fire.ru.tr b/mods/fire/locale/fire.ru.tr new file mode 100644 index 00000000..496e81c1 --- /dev/null +++ b/mods/fire/locale/fire.ru.tr @@ -0,0 +1,10 @@ +# textdomain: fire +Fire=Огонь +Permanent Fire=Вечный Огонь +Flint and Steel=Огниво + + +##### not used anymore ##### + +# textdomain: fire +Permanent Flame=Вечный Огонь diff --git a/mods/fire/locale/fire.sk.tr b/mods/fire/locale/fire.sk.tr new file mode 100644 index 00000000..125c8603 --- /dev/null +++ b/mods/fire/locale/fire.sk.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Oheň +Permanent Fire=Stály oheň +Flint and Steel=Pazúrik a ocieľka diff --git a/mods/fire/locale/fire.sv.tr b/mods/fire/locale/fire.sv.tr new file mode 100644 index 00000000..28e9a4a2 --- /dev/null +++ b/mods/fire/locale/fire.sv.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Eld +Permanent Fire=Permanent eld +Flint and Steel=Flinta och stål diff --git a/mods/fire/locale/fire.uk.tr b/mods/fire/locale/fire.uk.tr new file mode 100644 index 00000000..9da0beb6 --- /dev/null +++ b/mods/fire/locale/fire.uk.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Вогонь +Permanent Fire=Вічний Вогонь +Flint and Steel=Кремінь і Сталь diff --git a/mods/fire/locale/fire.zh_CN.tr b/mods/fire/locale/fire.zh_CN.tr new file mode 100644 index 00000000..7b0a4727 --- /dev/null +++ b/mods/fire/locale/fire.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=火焰 +Permanent Fire=永久火焰 +Flint and Steel=火石和划片 diff --git a/mods/fire/locale/fire.zh_TW.tr b/mods/fire/locale/fire.zh_TW.tr new file mode 100644 index 00000000..9e3d7663 --- /dev/null +++ b/mods/fire/locale/fire.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=火焰 +Permanent Fire=永久火焰 +Flint and Steel=火石和鋼 diff --git a/mods/fire/locale/template.txt b/mods/fire/locale/template.txt index 79ea7a29..e4e44e79 100644 --- a/mods/fire/locale/template.txt +++ b/mods/fire/locale/template.txt @@ -1,3 +1,4 @@ # textdomain: fire -Permanent Flame= +Fire= +Permanent Fire= Flint and Steel= diff --git a/mods/fire/textures/fire_basic_flame.png b/mods/fire/textures/fire_basic_flame.png index 1da0702d..484bcb19 100644 Binary files a/mods/fire/textures/fire_basic_flame.png and b/mods/fire/textures/fire_basic_flame.png differ diff --git a/mods/fire/textures/fire_basic_flame_animated.png b/mods/fire/textures/fire_basic_flame_animated.png index 1cdd9fdb..b01f7036 100644 Binary files a/mods/fire/textures/fire_basic_flame_animated.png and b/mods/fire/textures/fire_basic_flame_animated.png differ diff --git a/mods/fire/textures/fire_flint_steel.png b/mods/fire/textures/fire_flint_steel.png index c262ebc0..9d32d85b 100644 Binary files a/mods/fire/textures/fire_flint_steel.png and b/mods/fire/textures/fire_flint_steel.png differ diff --git a/mods/fireflies/init.lua b/mods/fireflies/init.lua index 1c533a12..59a40c54 100644 --- a/mods/fireflies/init.lua +++ b/mods/fireflies/init.lua @@ -54,8 +54,8 @@ minetest.register_node("fireflies:firefly", { minetest.register_node("fireflies:hidden_firefly", { description = S("Hidden Firefly"), drawtype = "airlike", - inventory_image = "fireflies_firefly.png", - wield_image = "fireflies_firefly.png", + inventory_image = "fireflies_firefly.png^default_invisible_node_overlay.png", + wield_image = "fireflies_firefly.png^default_invisible_node_overlay.png", paramtype = "light", sunlight_propagates = true, walkable = false, @@ -92,8 +92,9 @@ minetest.register_tool("fireflies:bug_net", { description = S("Bug Net"), inventory_image = "fireflies_bugnet.png", on_use = function(itemstack, player, pointed_thing) + local player_name = player and player:get_player_name() or "" if not pointed_thing or pointed_thing.type ~= "node" or - minetest.is_protected(pointed_thing.under, player:get_player_name()) then + minetest.is_protected(pointed_thing.under, player_name) then return end local node_name = minetest.get_node(pointed_thing.under).name @@ -106,7 +107,7 @@ minetest.register_tool("fireflies:bug_net", { minetest.add_item(pointed_thing.under, node_name.." 1") end end - if not (creative and creative.is_enabled_for(player:get_player_name())) then + if not minetest.is_creative_enabled(player_name) then itemstack:add_wear(256) return itemstack end diff --git a/mods/fireflies/locale/fireflies.eo.tr b/mods/fireflies/locale/fireflies.eo.tr new file mode 100644 index 00000000..7145cf97 --- /dev/null +++ b/mods/fireflies/locale/fireflies.eo.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Fulgoro +Hidden Firefly=Kaŝita Fulgoro +Bug Net=Cima Reto +Firefly in a Bottle=Fulgoro en Botelo diff --git a/mods/fireflies/locale/fireflies.es.tr b/mods/fireflies/locale/fireflies.es.tr new file mode 100644 index 00000000..95d053e1 --- /dev/null +++ b/mods/fireflies/locale/fireflies.es.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Luciérnaga +Hidden Firefly=Luciérnaga oculta +Bug Net=Red de insectos +Firefly in a Bottle=Luciérnaga en botella diff --git a/mods/fireflies/locale/fireflies.fr.tr b/mods/fireflies/locale/fireflies.fr.tr new file mode 100644 index 00000000..3deda664 --- /dev/null +++ b/mods/fireflies/locale/fireflies.fr.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Luciole +Hidden Firefly=Luciole cachée +Bug Net=Filet à papillon +Firefly in a Bottle=Luciole en bouteille diff --git a/mods/fireflies/locale/fireflies.id.tr b/mods/fireflies/locale/fireflies.id.tr new file mode 100644 index 00000000..bc6434ee --- /dev/null +++ b/mods/fireflies/locale/fireflies.id.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Kunang-Kunang +Hidden Firefly=Kunang-Kunang Tersembunyi +Bug Net=Jaring Serangga +Firefly in a Bottle=Kunang-Kunang dalam Botol diff --git a/mods/fireflies/locale/fireflies.it.tr b/mods/fireflies/locale/fireflies.it.tr new file mode 100644 index 00000000..22ad57b3 --- /dev/null +++ b/mods/fireflies/locale/fireflies.it.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Lucciola +Hidden Firefly=Lucciola nascosta +Bug Net=Retino +Firefly in a Bottle=Lucciola imbottigliata diff --git a/mods/fireflies/locale/fireflies.ja.tr b/mods/fireflies/locale/fireflies.ja.tr new file mode 100644 index 00000000..4116ca2f --- /dev/null +++ b/mods/fireflies/locale/fireflies.ja.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=ホタル +Hidden Firefly=隠されたホタル +Bug Net=虫取り網 +Firefly in a Bottle=ホタルの入った瓶 diff --git a/mods/fireflies/locale/fireflies.jbo.tr b/mods/fireflies/locale/fireflies.jbo.tr new file mode 100644 index 00000000..4e69ab49 --- /dev/null +++ b/mods/fireflies/locale/fireflies.jbo.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=lo gusycinki +Hidden Firefly=lo se mipri gusycinki +Bug Net=lo cinki julne +Firefly in a Bottle=lo gusycinki poi nenri lo botpi diff --git a/mods/fireflies/locale/fireflies.ms.tr b/mods/fireflies/locale/fireflies.ms.tr new file mode 100644 index 00000000..509d03d3 --- /dev/null +++ b/mods/fireflies/locale/fireflies.ms.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Kelip-Kelip +Hidden Firefly=Kelip-Kelip Tersembunyi +Bug Net=Jaring Pepijat +Firefly in a Bottle=Kelip-Kelip dalam Botol diff --git a/mods/fireflies/locale/fireflies.pt_BR.tr b/mods/fireflies/locale/fireflies.pt_BR.tr new file mode 100644 index 00000000..543c00b7 --- /dev/null +++ b/mods/fireflies/locale/fireflies.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Vaga-lume +Hidden Firefly=Vaga-lume escondido +Bug Net=Rede de Insetos +Firefly in a Bottle=Vaga-lume em uma garrafa diff --git a/mods/fireflies/locale/fireflies.ru.tr b/mods/fireflies/locale/fireflies.ru.tr new file mode 100644 index 00000000..c05f2884 --- /dev/null +++ b/mods/fireflies/locale/fireflies.ru.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Светлячок +Hidden Firefly=Притаившийся Светлячок +Bug Net=Сачок Для Ловли Насекомых +Firefly in a Bottle=Светлячок в Бутылке diff --git a/mods/fireflies/locale/fireflies.sk.tr b/mods/fireflies/locale/fireflies.sk.tr new file mode 100644 index 00000000..b68674dd --- /dev/null +++ b/mods/fireflies/locale/fireflies.sk.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Svetluška +Hidden Firefly=Skrytá svetluška +Bug Net=Sieťka na hmyz +Firefly in a Bottle=Svetluška vo fľaši diff --git a/mods/fireflies/locale/fireflies.sv.tr b/mods/fireflies/locale/fireflies.sv.tr new file mode 100644 index 00000000..d8016f99 --- /dev/null +++ b/mods/fireflies/locale/fireflies.sv.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Eldfluga +Hidden Firefly=Gömd eldfluga +Bug Net=Insektshåv +Firefly in a Bottle=Eldfluga i en flaska diff --git a/mods/fireflies/locale/fireflies.uk.tr b/mods/fireflies/locale/fireflies.uk.tr new file mode 100644 index 00000000..f1aa265f --- /dev/null +++ b/mods/fireflies/locale/fireflies.uk.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Світлячок +Hidden Firefly=Світлячок, що причаївся +Bug Net=Сачок Для Ловлі Комах +Firefly in a Bottle=Світлячок у Пляшці diff --git a/mods/fireflies/locale/fireflies.zh_CN.tr b/mods/fireflies/locale/fireflies.zh_CN.tr new file mode 100644 index 00000000..5971785a --- /dev/null +++ b/mods/fireflies/locale/fireflies.zh_CN.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=萤火虫 +Hidden Firefly=隐藏的萤火虫 +Bug Net=虫网 +Firefly in a Bottle=放在瓶子里的萤火虫 diff --git a/mods/fireflies/locale/fireflies.zh_TW.tr b/mods/fireflies/locale/fireflies.zh_TW.tr new file mode 100644 index 00000000..af754a91 --- /dev/null +++ b/mods/fireflies/locale/fireflies.zh_TW.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=螢火蟲 +Hidden Firefly=隱藏的螢火蟲 +Bug Net=蟲網 +Firefly in a Bottle=放在瓶子裡的螢火蟲 diff --git a/mods/fireflies/textures/fireflies_bottle_animated.png b/mods/fireflies/textures/fireflies_bottle_animated.png index 96062b3c..294ff974 100644 Binary files a/mods/fireflies/textures/fireflies_bottle_animated.png and b/mods/fireflies/textures/fireflies_bottle_animated.png differ diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua index 97317501..96d3f68f 100644 --- a/mods/flowers/init.lua +++ b/mods/flowers/init.lua @@ -248,7 +248,7 @@ end minetest.register_abm({ label = "Mushroom spread", - nodenames = {"flowers:mushroom_brown", "flowers:mushroom_red"}, + nodenames = {"group:mushroom"}, interval = 11, chance = 150, action = function(...) @@ -279,6 +279,7 @@ local waterlily_def = { tiles = {"flowers_waterlily.png", "flowers_waterlily_bottom.png"}, inventory_image = "flowers_waterlily.png", wield_image = "flowers_waterlily.png", + use_texture_alpha = "clip", liquids_pointable = true, walkable = false, buildable_to = true, @@ -312,8 +313,7 @@ local waterlily_def = { minetest.set_node(pos, {name = "flowers:waterlily" .. (def.waving == 3 and "_waving" or ""), param2 = math.random(0, 3)}) - if not (creative and creative.is_enabled_for - and creative.is_enabled_for(player_name)) then + if not minetest.is_creative_enabled(player_name) then itemstack:take_item() end else diff --git a/mods/flowers/locale/flowers.eo.tr b/mods/flowers/locale/flowers.eo.tr new file mode 100644 index 00000000..0153fdff --- /dev/null +++ b/mods/flowers/locale/flowers.eo.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Ruĝa Rozo +Orange Tulip=Oranĝa Tulipo +Yellow Dandelion=Flava Leontodo +Green Chrysanthemum=Verda Krizantemo +Blue Geranium=Blua Geranio +Viola=Violo +White Dandelion=Blanka Leontodo +Black Tulip=Nigra Tulipo +Red Mushroom=Ruĝa Fungo +Brown Mushroom=Bruna Fungo +Waterlily=Nimfeo diff --git a/mods/flowers/locale/flowers.es.tr b/mods/flowers/locale/flowers.es.tr new file mode 100644 index 00000000..e9c345d8 --- /dev/null +++ b/mods/flowers/locale/flowers.es.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rosa roja +Orange Tulip=Tulipán naranja +Yellow Dandelion=Diente de León amarillo +Green Chrysanthemum=Crisantemo verde +Blue Geranium=Geranio azul +Viola=Violeta +White Dandelion=Diente de León blanco +Black Tulip=Tulipán negro +Red Mushroom=Champiñón rojo +Brown Mushroom=Champiñón café +Waterlily=Nenúfar diff --git a/mods/flowers/locale/flowers.fr.tr b/mods/flowers/locale/flowers.fr.tr new file mode 100644 index 00000000..41e0d008 --- /dev/null +++ b/mods/flowers/locale/flowers.fr.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rose rouge +Orange Tulip=Tulipe orange +Yellow Dandelion=Pissenlit jaune +Green Chrysanthemum=Chrysanthème vert +Blue Geranium=Géranium bleu +Viola=Violette +White Dandelion=Pissenlit blanc +Black Tulip=Tulipe noire +Red Mushroom=Champignon rouge +Brown Mushroom=Champignon brun +Waterlily=Nénuphar diff --git a/mods/flowers/locale/flowers.id.tr b/mods/flowers/locale/flowers.id.tr new file mode 100644 index 00000000..730529b3 --- /dev/null +++ b/mods/flowers/locale/flowers.id.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Mawar Merah +Orange Tulip=Tulip Oranye +Yellow Dandelion=Dandelion Kuning +Green Chrysanthemum=Krisan Hijau +Blue Geranium=Geranium Biru +Viola=Viola +White Dandelion=Dandelion Putih +Black Tulip=Tulip Hitam +Red Mushroom=Jamur Merah +Brown Mushroom=Jamur Cokelat +Waterlily=Teratai diff --git a/mods/flowers/locale/flowers.it.tr b/mods/flowers/locale/flowers.it.tr new file mode 100644 index 00000000..1ab49dd4 --- /dev/null +++ b/mods/flowers/locale/flowers.it.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rosa rossa +Orange Tulip=Tulipano arancione +Yellow Dandelion=Dente di leone giallo +Green Chrysanthemum=Crisantemo verde +Blue Geranium=Geranio blu +Viola=Viola +White Dandelion=Dente di leone bianco +Black Tulip=Tulipano nero +Red Mushroom=Fungo rosso +Brown Mushroom=Fungo marrone +Waterlily=Ninfea diff --git a/mods/flowers/locale/flowers.ja.tr b/mods/flowers/locale/flowers.ja.tr new file mode 100644 index 00000000..bea87e27 --- /dev/null +++ b/mods/flowers/locale/flowers.ja.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=赤色のバラ +Orange Tulip=橙色のチューリップ +Yellow Dandelion=黄色のタンポポ +Green Chrysanthemum=緑色のキク +Blue Geranium=青色のゼラニウム +Viola=ビオラ +White Dandelion=白色のタンポポ +Black Tulip=黒色のチューリップ +Red Mushroom=赤色のキノコ +Brown Mushroom=茶色のキノコ +Waterlily=スイレン diff --git a/mods/flowers/locale/flowers.jbo.tr b/mods/flowers/locale/flowers.jbo.tr new file mode 100644 index 00000000..8f816082 --- /dev/null +++ b/mods/flowers/locale/flowers.jbo.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=lo xunre rozgu +Orange Tulip=lo narju tujli +Yellow Dandelion=lo pelxu spatrtaraksaku +Green Chrysanthemum=lo crino xrisantemo +Blue Geranium=lo blanu plargoni +Viola=lo spatrvi'ola +White Dandelion=lo blabi spatrtaraksaku +Black Tulip=lo xekri tujli +Red Mushroom=lo xunre ledgrute +Brown Mushroom=lo bunre ledgrute +Waterlily=lo spatrnimfe'a diff --git a/mods/flowers/locale/flowers.ms.tr b/mods/flowers/locale/flowers.ms.tr new file mode 100644 index 00000000..4e846eb5 --- /dev/null +++ b/mods/flowers/locale/flowers.ms.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Ros Merah +Orange Tulip=Tulip Jingga +Yellow Dandelion=Dandelion Kuning +Green Chrysanthemum=Kekwa Hijau +Blue Geranium=Geranium Biru +Viola=Violet +White Dandelion=Dandelion Putih +Black Tulip=Tulip Hitam +Red Mushroom=Cendawan Merah +Brown Mushroom=Cendawan Perang +Waterlily=Teratai diff --git a/mods/flowers/locale/flowers.pt_BR.tr b/mods/flowers/locale/flowers.pt_BR.tr new file mode 100644 index 00000000..1f5ff929 --- /dev/null +++ b/mods/flowers/locale/flowers.pt_BR.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rosa Vermelha +Orange Tulip=Tulipa Laranja +Yellow Dandelion=Dente-de-leão Amarelo +Green Chrysanthemum=Crisântemo Verde +Blue Geranium=Gerânio Azul +Viola=Violeta +White Dandelion=Dente-de-leão Branco +Black Tulip=Tulipa Negra +Red Mushroom=Cogumelo Vermelho +Brown Mushroom=Cogumelo Marrom +Waterlily=Nenúfar diff --git a/mods/flowers/locale/flowers.ru.tr b/mods/flowers/locale/flowers.ru.tr new file mode 100644 index 00000000..d861e2a4 --- /dev/null +++ b/mods/flowers/locale/flowers.ru.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Красная Роза +Orange Tulip=Оранжевый Тюльпан +Yellow Dandelion=Желтый Одуванчик +Green Chrysanthemum=Зелёная Хризантема +Blue Geranium=Синяя Герань +Viola=Фиалка +White Dandelion=Белый Одуванчик +Black Tulip=Черный Тюльпан +Red Mushroom=Мухомор +Brown Mushroom=Коричневый Гриб +Waterlily=Кувшинка diff --git a/mods/flowers/locale/flowers.sk.tr b/mods/flowers/locale/flowers.sk.tr new file mode 100644 index 00000000..75d4ae1e --- /dev/null +++ b/mods/flowers/locale/flowers.sk.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Červená ruža +Orange Tulip=Oranžový tulipán +Yellow Dandelion=Žltá púpava +Green Chrysanthemum=Zelená chryzantéma +Blue Geranium=Modrý muškát +Viola=Fialka +White Dandelion=Biela púpava +Black Tulip=Čierny tulipán +Red Mushroom=Červená huba +Brown Mushroom=Hnedá huba +Waterlily=Lekno diff --git a/mods/flowers/locale/flowers.sv.tr b/mods/flowers/locale/flowers.sv.tr new file mode 100644 index 00000000..c8a26a3d --- /dev/null +++ b/mods/flowers/locale/flowers.sv.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Röd ros +Orange Tulip=Orange tulpan +Yellow Dandelion=Gul maskros +Green Chrysanthemum=Grön krysantemum +Blue Geranium=Blå geranium +Viola=Violett viola +White Dandelion=Vit maskros +Black Tulip=Svart tulpan +Red Mushroom=Röd svamp +Brown Mushroom=Brun svamp +Waterlily=Näckros diff --git a/mods/flowers/locale/flowers.uk.tr b/mods/flowers/locale/flowers.uk.tr new file mode 100644 index 00000000..25d8f82a --- /dev/null +++ b/mods/flowers/locale/flowers.uk.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Червона Троянда +Orange Tulip=Помаранчевий Тюльпан +Yellow Dandelion=Жовта Кульбабка +Green Chrysanthemum=Зелена Хризантема +Blue Geranium=Синій Геран +Viola=Фіалка +White Dandelion=Біла Кульбабка +Black Tulip=Чорний Тюльпан +Red Mushroom=Мухомор +Brown Mushroom=Коричневий Гриб +Waterlily=Водяна Лілія diff --git a/mods/flowers/locale/flowers.zh_CN.tr b/mods/flowers/locale/flowers.zh_CN.tr new file mode 100644 index 00000000..3139dfbc --- /dev/null +++ b/mods/flowers/locale/flowers.zh_CN.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=红玫瑰 +Orange Tulip=橙郁金香 +Yellow Dandelion=黄蒲公英 +Green Chrysanthemum=绿菊花 +Blue Geranium=蓝天竺葵 +Viola=三色堇 +White Dandelion=白蒲公英 +Black Tulip=黑郁金香 +Red Mushroom=红蘑菇 +Brown Mushroom=棕蘑菇 +Waterlily=睡莲 diff --git a/mods/flowers/locale/flowers.zh_TW.tr b/mods/flowers/locale/flowers.zh_TW.tr new file mode 100644 index 00000000..a3a3ec5a --- /dev/null +++ b/mods/flowers/locale/flowers.zh_TW.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=紅玫瑰 +Orange Tulip=橙鬱金香 +Yellow Dandelion=黃蒲公英 +Green Chrysanthemum=綠菊花 +Blue Geranium=藍天竺葵 +Viola=三色堇 +White Dandelion=白蒲公英 +Black Tulip=黑鬱金香 +Red Mushroom=紅蘑菇 +Brown Mushroom=棕蘑菇 +Waterlily=睡蓮 diff --git a/mods/flowers/mapgen.lua b/mods/flowers/mapgen.lua index 85e19b72..f282f505 100644 --- a/mods/flowers/mapgen.lua +++ b/mods/flowers/mapgen.lua @@ -100,7 +100,7 @@ local function register_flower(seed, flower_name) octaves = 3, persist = 0.6 }, - biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, + biomes = {"grassland", "deciduous_forest"}, y_max = 31000, y_min = 1, decoration = "flowers:"..flower_name, @@ -121,8 +121,7 @@ local function register_mushroom(mushroom_name) octaves = 3, persist = 0.66 }, - biomes = {"deciduous_forest", "coniferous_forest", - "floatland_coniferous_forest"}, + biomes = {"deciduous_forest", "coniferous_forest"}, y_max = 31000, y_min = 1, decoration = "flowers:"..mushroom_name, diff --git a/mods/flowers/textures/flowers_chrysanthemum_green.png b/mods/flowers/textures/flowers_chrysanthemum_green.png index 11980463..01d8c7e3 100644 Binary files a/mods/flowers/textures/flowers_chrysanthemum_green.png and b/mods/flowers/textures/flowers_chrysanthemum_green.png differ diff --git a/mods/flowers/textures/flowers_waterlily.png b/mods/flowers/textures/flowers_waterlily.png index 305c4458..973e5113 100644 Binary files a/mods/flowers/textures/flowers_waterlily.png and b/mods/flowers/textures/flowers_waterlily.png differ diff --git a/mods/game_commands/init.lua b/mods/game_commands/init.lua index 139a879c..e038be18 100644 --- a/mods/game_commands/init.lua +++ b/mods/game_commands/init.lua @@ -13,7 +13,7 @@ minetest.register_chatcommand("killme", { player:set_hp(0) return true else - for _, callback in pairs(core.registered_on_respawnplayers) do + for _, callback in pairs(minetest.registered_on_respawnplayers) do if callback(player) then return true end diff --git a/mods/game_commands/locale/game_commands.eo.tr b/mods/game_commands/locale/game_commands.eo.tr new file mode 100644 index 00000000..08bcdecc --- /dev/null +++ b/mods/game_commands/locale/game_commands.eo.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Ĉesigu vi mem por renaski +No static_spawnpoint defined=Ne estas difina static_spawnpoint +You need to be online to be killed!=Vi devas esti onlina por ĉesigi! diff --git a/mods/game_commands/locale/game_commands.es.tr b/mods/game_commands/locale/game_commands.es.tr new file mode 100644 index 00000000..702a2ef9 --- /dev/null +++ b/mods/game_commands/locale/game_commands.es.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Suicídate para reaparecer +No static_spawnpoint defined=No se ha definido un punto de aparición +You need to be online to be killed!=¡Necesitas estar en línea para que te maten! diff --git a/mods/game_commands/locale/game_commands.fr.tr b/mods/game_commands/locale/game_commands.fr.tr new file mode 100644 index 00000000..0e295d68 --- /dev/null +++ b/mods/game_commands/locale/game_commands.fr.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Se suicider pour réapparaître +No static_spawnpoint defined=Pas de point d'apparition défini +You need to be online to be killed!=Vous devez être en ligne pour être tué ! diff --git a/mods/game_commands/locale/game_commands.id.tr b/mods/game_commands/locale/game_commands.id.tr new file mode 100644 index 00000000..1ab364b2 --- /dev/null +++ b/mods/game_commands/locale/game_commands.id.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Bunuh diri untuk bangkit kembali +No static_spawnpoint defined=Tiada static_spawnpoint (titik bangkit statis) yang diatur +You need to be online to be killed!=Anda harus daring untuk dibunuh! diff --git a/mods/game_commands/locale/game_commands.it.tr b/mods/game_commands/locale/game_commands.it.tr new file mode 100644 index 00000000..91646b0f --- /dev/null +++ b/mods/game_commands/locale/game_commands.it.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Ucciditi per ricomparire +No static_spawnpoint defined=Nessuno static_spawnpoint definito +You need to be online to be killed!=Devi essere in linea per essere ucciso! diff --git a/mods/game_commands/locale/game_commands.ja.tr b/mods/game_commands/locale/game_commands.ja.tr new file mode 100644 index 00000000..b6c77dce --- /dev/null +++ b/mods/game_commands/locale/game_commands.ja.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=リセットしてリスポーンします +No static_spawnpoint defined=static_spawnpoint が設定されていません +You need to be online to be killed!=リセットするにはオンラインである必要があります diff --git a/mods/game_commands/locale/game_commands.jbo.tr b/mods/game_commands/locale/game_commands.jbo.tr new file mode 100644 index 00000000..ddddcd7a --- /dev/null +++ b/mods/game_commands/locale/game_commands.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=.i ro nu do catra do cu tadji pa nu do tolcanci +No static_spawnpoint defined=.i no da ckaji lo me la'o zoi.static_spawnpoint.zoi +You need to be online to be killed!=.i lo nu samjo'e cu sarcu lo nu do se catra diff --git a/mods/game_commands/locale/game_commands.ms.tr b/mods/game_commands/locale/game_commands.ms.tr new file mode 100644 index 00000000..ed4a0bdf --- /dev/null +++ b/mods/game_commands/locale/game_commands.ms.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Bunuh diri anda untuk lahir semula +No static_spawnpoint defined=Tiada titik permulaan statik (tetapan static_spawnpoint) ditakrifkan +You need to be online to be killed!=Anda mesti berada dalam talian untuk dibunuh! diff --git a/mods/game_commands/locale/game_commands.pt_BR.tr b/mods/game_commands/locale/game_commands.pt_BR.tr new file mode 100644 index 00000000..6c52c0bd --- /dev/null +++ b/mods/game_commands/locale/game_commands.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Mate-se para reaparecer +No static_spawnpoint defined=Nenhum ponto de reaparecer estático definido +You need to be online to be killed!=Você precisa estar online para ser morto! diff --git a/mods/game_commands/locale/game_commands.ru.tr b/mods/game_commands/locale/game_commands.ru.tr new file mode 100644 index 00000000..26d9e08a --- /dev/null +++ b/mods/game_commands/locale/game_commands.ru.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Убейте себя, чтобы возродиться +No static_spawnpoint defined=static_spawnpoint не определён +You need to be online to be killed!=Вы должны быть онлайн, чтобы убить себя! diff --git a/mods/game_commands/locale/game_commands.sk.tr b/mods/game_commands/locale/game_commands.sk.tr new file mode 100644 index 00000000..f7d153ae --- /dev/null +++ b/mods/game_commands/locale/game_commands.sk.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Samovražda pre znovuzrodenie +No static_spawnpoint defined=Nie je definované stále miesto znovuzrodenia +You need to be online to be killed!=Musíš byť online, aby si mohol byť zabitý! diff --git a/mods/game_commands/locale/game_commands.sv.tr b/mods/game_commands/locale/game_commands.sv.tr new file mode 100644 index 00000000..e3110dad --- /dev/null +++ b/mods/game_commands/locale/game_commands.sv.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Döda dig själv för att respawna +No static_spawnpoint defined=Ingen static_spawnpoint definierad +You need to be online to be killed!=Du måsta vara online för att bli dödad! diff --git a/mods/game_commands/locale/game_commands.uk.tr b/mods/game_commands/locale/game_commands.uk.tr new file mode 100644 index 00000000..7e8241e8 --- /dev/null +++ b/mods/game_commands/locale/game_commands.uk.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Вбийте себе щоб відродися +No static_spawnpoint defined=static_spawnpoint не визначений +You need to be online to be killed!=Ви повинні бути онлайн, щоб вбити себе! diff --git a/mods/game_commands/locale/game_commands.zh_CN.tr b/mods/game_commands/locale/game_commands.zh_CN.tr new file mode 100644 index 00000000..ba9a0275 --- /dev/null +++ b/mods/game_commands/locale/game_commands.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=自杀并重生 +No static_spawnpoint defined=static_spawnpoint 未定义 +You need to be online to be killed!=您需要在线才能被杀死! diff --git a/mods/game_commands/locale/game_commands.zh_TW.tr b/mods/game_commands/locale/game_commands.zh_TW.tr new file mode 100644 index 00000000..34e148d2 --- /dev/null +++ b/mods/game_commands/locale/game_commands.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=殺死自己並重生 +No static_spawnpoint defined=static_spawnpoint 未定義 +You need to be online to be killed!=您需要在線才能被殺死! diff --git a/mods/keys/README.txt b/mods/keys/README.txt new file mode 100644 index 00000000..86591203 --- /dev/null +++ b/mods/keys/README.txt @@ -0,0 +1,21 @@ +Minetest Game mod: keys +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by celeron55, Perttu Ahola (LGPLv2.1+) +Various Minetest developers and contributors (LGPLv2.1+) + +Authors of media (textures, sounds, models and schematics) +---------------------------------------------------------- + +Textures +-------- +Gambit (CC BY-SA 3.0): + keys_key.png + keys_key_skeleton.png + +Features +-------- +This mod uses the key API as defined in game_api.txt section [Key API]. diff --git a/mods/keys/aliases.lua b/mods/keys/aliases.lua new file mode 100644 index 00000000..4297498b --- /dev/null +++ b/mods/keys/aliases.lua @@ -0,0 +1,6 @@ +-- +-- Aliases for backward compatibility +-- + +minetest.register_alias("default:key", "keys:key") +minetest.register_alias("default:skeleton_key", "keys:skeleton_key") diff --git a/mods/keys/crafting.lua b/mods/keys/crafting.lua new file mode 100644 index 00000000..b9b503a5 --- /dev/null +++ b/mods/keys/crafting.lua @@ -0,0 +1,28 @@ +-- +-- Crafting recipes +-- + +minetest.register_craft({ + output = "keys:skeleton_key", + recipe = { + {"default:gold_ingot"}, + } +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "keys:key", + cooktime = 5, +}) + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "keys:skeleton_key", + cooktime = 5, +}) diff --git a/mods/keys/craftitems.lua b/mods/keys/craftitems.lua new file mode 100644 index 00000000..45e0b824 --- /dev/null +++ b/mods/keys/craftitems.lua @@ -0,0 +1,101 @@ +-- Load support for MT game translation. +local S = minetest.get_translator("keys") + +-- +-- Craftitems +-- + +minetest.register_craftitem("keys:skeleton_key", { + description = S("Skeleton Key"), + inventory_image = "keys_key_skeleton.png", + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local pos = pointed_thing.under + local node = minetest.get_node(pos) + + if not node then + return itemstack + end + + local node_reg = minetest.registered_nodes[node.name] + local on_skeleton_key_use = node_reg and node_reg.on_skeleton_key_use + if not on_skeleton_key_use then + return itemstack + end + + -- make a new key secret in case the node callback needs it + local random = math.random + local newsecret = string.format( + "%04x%04x%04x%04x", + random(2^16) - 1, random(2^16) - 1, + random(2^16) - 1, random(2^16) - 1) + + local secret, _, _ = on_skeleton_key_use(pos, user, newsecret) + + if secret then + local inv = minetest.get_inventory({type="player", name=user:get_player_name()}) + + -- update original itemstack + itemstack:take_item() + + -- finish and return the new key + local new_stack = ItemStack("keys:key") + local meta = new_stack:get_meta() + meta:set_string("secret", secret) + meta:set_string("description", S("Key to @1's @2", user:get_player_name(), + minetest.registered_nodes[node.name].description)) + + if itemstack:get_count() == 0 then + itemstack = new_stack + else + if inv:add_item("main", new_stack):get_count() > 0 then + minetest.add_item(user:get_pos(), new_stack) + end -- else: added to inventory successfully + end + + return itemstack + end + end +}) + +minetest.register_craftitem("keys:key", { + description = S("Key"), + inventory_image = "keys_key.png", + groups = {key = 1, not_in_creative_inventory = 1}, + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local def = minetest.registered_nodes[node.name] + if def and def.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return def.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + if pointed_thing.type ~= "node" then + return itemstack + end + + local pos = pointed_thing.under + node = minetest.get_node(pos) + + if not node or node.name == "ignore" then + return itemstack + end + + local ndef = minetest.registered_nodes[node.name] + if not ndef then + return itemstack + end + + local on_key_use = ndef.on_key_use + if on_key_use then + on_key_use(pos, placer) + end + + return nil + end +}) diff --git a/mods/keys/init.lua b/mods/keys/init.lua new file mode 100644 index 00000000..6c2ed825 --- /dev/null +++ b/mods/keys/init.lua @@ -0,0 +1,6 @@ +-- Minetest mod: keys +local keys_path = minetest.get_modpath("keys") + +dofile(keys_path.."/craftitems.lua") +dofile(keys_path.."/crafting.lua") +dofile(keys_path.."/aliases.lua") diff --git a/mods/keys/license.txt b/mods/keys/license.txt new file mode 100644 index 00000000..95f02ef9 --- /dev/null +++ b/mods/keys/license.txt @@ -0,0 +1,52 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011-2018 celeron55, Perttu Ahola +Copyright (C) 2011-2018 Various Minetest developers and contributors + +This program is free software; you can redistribute it and/or modify it under the terms +of the GNU Lesser General Public License as published by the Free Software Foundation; +either version 2.1 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Lesser General Public License for more details: +https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + +Licenses of media (textures, models and sounds) +----------------------------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2010-2018: + + Gambit + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/keys/locale/keys.de.tr b/mods/keys/locale/keys.de.tr new file mode 100644 index 00000000..499a6ba7 --- /dev/null +++ b/mods/keys/locale/keys.de.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Schlüssel +Key to @1's @2=Schlüssel für @2 von @1 +Skeleton Key=Skelettschlüssel diff --git a/mods/keys/locale/keys.eo.tr b/mods/keys/locale/keys.eo.tr new file mode 100644 index 00000000..e73f6c4e --- /dev/null +++ b/mods/keys/locale/keys.eo.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Ŝlosilo +Key to @1's @2=Ŝlosilo por la @2 de @1 +Skeleton Key=Skeleta Ŝlosilo diff --git a/mods/keys/locale/keys.es.tr b/mods/keys/locale/keys.es.tr new file mode 100644 index 00000000..e408c32a --- /dev/null +++ b/mods/keys/locale/keys.es.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Llave +Key to @1's @2=Llave para @2 de @1 +Skeleton Key=Llave esqueleto diff --git a/mods/keys/locale/keys.fr.tr b/mods/keys/locale/keys.fr.tr new file mode 100644 index 00000000..b1b9e6a8 --- /dev/null +++ b/mods/keys/locale/keys.fr.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Clé +Key to @1's @2=Clé pour @2 de @1 +Skeleton Key=Squelette diff --git a/mods/keys/locale/keys.id.tr b/mods/keys/locale/keys.id.tr new file mode 100644 index 00000000..58f8fc55 --- /dev/null +++ b/mods/keys/locale/keys.id.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Kunci +Key to @1's @2=Kunci @2 milik @1 +Skeleton Key=Kunci Induk diff --git a/mods/keys/locale/keys.it.tr b/mods/keys/locale/keys.it.tr new file mode 100644 index 00000000..ed7bb312 --- /dev/null +++ b/mods/keys/locale/keys.it.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Chiave +Key to @1's @2=Chiave per @2 di @1 +Skeleton Key=Chiave dello Scheletro diff --git a/mods/keys/locale/keys.jbo.tr b/mods/keys/locale/keys.jbo.tr new file mode 100644 index 00000000..bd12f09b --- /dev/null +++ b/mods/keys/locale/keys.jbo.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=lo ckiku +Key to @1's @2=lo ckiku be @2 po la'o zo'i.@1.zo'i +Skeleton Key=lo greku ckiku diff --git a/mods/keys/locale/keys.ms.tr b/mods/keys/locale/keys.ms.tr new file mode 100644 index 00000000..58f8fc55 --- /dev/null +++ b/mods/keys/locale/keys.ms.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Kunci +Key to @1's @2=Kunci @2 milik @1 +Skeleton Key=Kunci Induk diff --git a/mods/keys/locale/keys.pt_BR.tr b/mods/keys/locale/keys.pt_BR.tr new file mode 100644 index 00000000..ef9ca1ee --- /dev/null +++ b/mods/keys/locale/keys.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Chave +Key to @1's @2=Chave para @2 de @1 +Skeleton Key=Chave de Mestra diff --git a/mods/keys/locale/keys.ru.tr b/mods/keys/locale/keys.ru.tr new file mode 100644 index 00000000..00b4e097 --- /dev/null +++ b/mods/keys/locale/keys.ru.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Ключ +Key to @1's @2=Ключ к @2 от @1 +Skeleton Key=Ключ Скелета diff --git a/mods/keys/locale/keys.sv.tr b/mods/keys/locale/keys.sv.tr new file mode 100644 index 00000000..f666eb3d --- /dev/null +++ b/mods/keys/locale/keys.sv.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Nyckel +Key to @1's @2=Nyckel till @1s @2 +Skeleton Key=Skelettnyckel diff --git a/mods/keys/locale/keys.uk.tr b/mods/keys/locale/keys.uk.tr new file mode 100644 index 00000000..832d1c70 --- /dev/null +++ b/mods/keys/locale/keys.uk.tr @@ -0,0 +1,4 @@ +# textdomain: keys +Key=Ключ +Key to @1's @2=Ключ до @2 від @1 +Skeleton Key=Ключ Кістяка diff --git a/mods/keys/locale/keys.zh_CN.tr b/mods/keys/locale/keys.zh_CN.tr new file mode 100644 index 00000000..57f632ae --- /dev/null +++ b/mods/keys/locale/keys.zh_CN.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=钥匙 +Key to @1's @2=@1的@2的钥匙 +Skeleton Key=万能钥匙 diff --git a/mods/keys/locale/keys.zh_TW.tr b/mods/keys/locale/keys.zh_TW.tr new file mode 100644 index 00000000..c97879ca --- /dev/null +++ b/mods/keys/locale/keys.zh_TW.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=鑰匙 +Key to @1's @2=@1的@2的鑰匙 +Skeleton Key=萬能鑰匙 diff --git a/mods/keys/locale/template.txt b/mods/keys/locale/template.txt new file mode 100644 index 00000000..9fbf62fd --- /dev/null +++ b/mods/keys/locale/template.txt @@ -0,0 +1,5 @@ +# textdomain: keys + +Key= +Key to @1's @2= +Skeleton Key= diff --git a/mods/keys/mod.conf b/mods/keys/mod.conf new file mode 100644 index 00000000..8b8d6693 --- /dev/null +++ b/mods/keys/mod.conf @@ -0,0 +1,3 @@ +name = keys +description = Minetest Game mod: keys +depends = default diff --git a/mods/keys/textures/keys_key.png b/mods/keys/textures/keys_key.png new file mode 100644 index 00000000..d39d9afa Binary files /dev/null and b/mods/keys/textures/keys_key.png differ diff --git a/mods/keys/textures/keys_key_skeleton.png b/mods/keys/textures/keys_key_skeleton.png new file mode 100644 index 00000000..f60cacee Binary files /dev/null and b/mods/keys/textures/keys_key_skeleton.png differ diff --git a/mods/map/init.lua b/mods/map/init.lua index 7c1e36fc..b91e528d 100644 --- a/mods/map/init.lua +++ b/mods/map/init.lua @@ -9,18 +9,11 @@ map = {} local S = minetest.get_translator("map") --- Cache creative mode setting - -local creative_mode_cache = minetest.settings:get_bool("creative_mode") - - -- Update HUD flags -- Global to allow overriding function map.update_hud_flags(player) - local creative_enabled = - (creative and creative.is_enabled_for(player:get_player_name())) or - creative_mode_cache + local creative_enabled = minetest.is_creative_enabled(player:get_player_name()) local minimap_enabled = creative_enabled or player:get_inventory():contains_item("main", "map:mapping_kit") @@ -58,7 +51,7 @@ minetest.register_craftitem("map:mapping_kit", { description = S("Mapping Kit") .. "\n" .. S("Use with 'Minimap' key"), inventory_image = "map_mapping_kit.png", stack_max = 1, - groups = {flammable = 3}, + groups = {flammable = 3, tool = 1}, on_use = function(itemstack, user, pointed_thing) map.update_hud_flags(user) diff --git a/mods/map/locale/map.eo.tr b/mods/map/locale/map.eo.tr new file mode 100644 index 00000000..15c1cab3 --- /dev/null +++ b/mods/map/locale/map.eo.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Mapa Ilaro +Use with 'Minimap' key=Uzu per 'malgrandmapo' ŝlosilo diff --git a/mods/map/locale/map.es.tr b/mods/map/locale/map.es.tr new file mode 100644 index 00000000..0faed529 --- /dev/null +++ b/mods/map/locale/map.es.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kit de cartografía +Use with 'Minimap' key=Usar con la tecla 'Minimapa' diff --git a/mods/map/locale/map.fr.tr b/mods/map/locale/map.fr.tr new file mode 100644 index 00000000..29f8e208 --- /dev/null +++ b/mods/map/locale/map.fr.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kit de carthographie +Use with 'Minimap' key=Utiliser avec le bouton « Minimap » diff --git a/mods/map/locale/map.id.tr b/mods/map/locale/map.id.tr new file mode 100644 index 00000000..cb31d0f7 --- /dev/null +++ b/mods/map/locale/map.id.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Alat Pemetaan +Use with 'Minimap' key=Pakai dengan tombol 'Peta Mini' diff --git a/mods/map/locale/map.it.tr b/mods/map/locale/map.it.tr new file mode 100644 index 00000000..59885e98 --- /dev/null +++ b/mods/map/locale/map.it.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kit di mappatura +Use with 'Minimap' key=Usalo col tasto 'Minimappa' diff --git a/mods/map/locale/map.ja.tr b/mods/map/locale/map.ja.tr new file mode 100644 index 00000000..7205f244 --- /dev/null +++ b/mods/map/locale/map.ja.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=地図キット +Use with 'Minimap' key=ミニマップキーで使います diff --git a/mods/map/locale/map.jbo.tr b/mods/map/locale/map.jbo.tr new file mode 100644 index 00000000..8f37c188 --- /dev/null +++ b/mods/map/locale/map.jbo.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=lo cartu ke sidju bakfu +Use with 'Minimap' key=.i tu'a le cmalu cartu batke cu tadji lo nu pilno diff --git a/mods/map/locale/map.ms.tr b/mods/map/locale/map.ms.tr new file mode 100644 index 00000000..8564f910 --- /dev/null +++ b/mods/map/locale/map.ms.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Alat Pemetaan +Use with 'Minimap' key=Guna dengan kekunci 'Peta Mini' diff --git a/mods/map/locale/map.pt_BR.tr b/mods/map/locale/map.pt_BR.tr new file mode 100644 index 00000000..0095c395 --- /dev/null +++ b/mods/map/locale/map.pt_BR.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kit de mapeamento +Use with 'Minimap' key=Use com a tecla do 'mini-mapa' diff --git a/mods/map/locale/map.ru.tr b/mods/map/locale/map.ru.tr new file mode 100644 index 00000000..73120b62 --- /dev/null +++ b/mods/map/locale/map.ru.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Картографический комплект +Use with 'Minimap' key=Используйте с ключом 'Minimap' diff --git a/mods/map/locale/map.sk.tr b/mods/map/locale/map.sk.tr new file mode 100644 index 00000000..2016c85f --- /dev/null +++ b/mods/map/locale/map.sk.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kartografická súprava +Use with 'Minimap' key=Použi klávesou 'Prepni minimpu' diff --git a/mods/map/locale/map.sv.tr b/mods/map/locale/map.sv.tr new file mode 100644 index 00000000..bc79d44e --- /dev/null +++ b/mods/map/locale/map.sv.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kartläggningssats +Use with 'Minimap' key=Använd med 'Minimap'-tangent diff --git a/mods/map/locale/map.uk.tr b/mods/map/locale/map.uk.tr new file mode 100644 index 00000000..3f58b781 --- /dev/null +++ b/mods/map/locale/map.uk.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Картографічний Комплект +Use with 'Minimap' key=Використовуйте за допомогою ключа 'Minimap' diff --git a/mods/map/locale/map.zh_CN.tr b/mods/map/locale/map.zh_CN.tr new file mode 100644 index 00000000..cec95bb7 --- /dev/null +++ b/mods/map/locale/map.zh_CN.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=地图绘制工具包 +Use with 'Minimap' key=与“迷你地图”键一起使用 diff --git a/mods/map/locale/map.zh_TW.tr b/mods/map/locale/map.zh_TW.tr new file mode 100644 index 00000000..a0981245 --- /dev/null +++ b/mods/map/locale/map.zh_TW.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=地圖繪製工具包 +Use with 'Minimap' key=與“迷你地圖”鍵一起使用 diff --git a/mods/map/mod.conf b/mods/map/mod.conf index 2099c199..bb045c77 100644 --- a/mods/map/mod.conf +++ b/mods/map/mod.conf @@ -1,4 +1,3 @@ name = map description = Minetest Game mod: map depends = default, dye -optional_depends = creative diff --git a/mods/mtg_craftguide/README.md b/mods/mtg_craftguide/README.md new file mode 100644 index 00000000..9c4ed7a4 --- /dev/null +++ b/mods/mtg_craftguide/README.md @@ -0,0 +1,25 @@ +Minetest Game mod: mtg_craftguide +================================= + +Adds a "Recipes" tab to the inventory. Click an item to see it's recipes. +Click again to show usages. + +Based on [craftguide](https://github.com/minetest-mods/craftguide). + +Authors of media +---------------- + +paramat (CC BY-SA 3.0): + +* craftguide_clear_icon.png +* craftguide_next_icon.png +* craftguide_prev_icon.png +* craftguide_search_icon.png + +Neuromancer (CC BY-SA 3.0): + +* craftguide_furnace.png + +Wuzzy (CC BY-SA 3.0): + +* craftguide_shapeless.png diff --git a/mods/mtg_craftguide/init.lua b/mods/mtg_craftguide/init.lua new file mode 100644 index 00000000..f3de3db5 --- /dev/null +++ b/mods/mtg_craftguide/init.lua @@ -0,0 +1,434 @@ +local S = minetest.get_translator("mtg_craftguide") +local esc = minetest.formspec_escape + +local player_data = {} +local init_items = {} +local recipes_cache = {} +local usages_cache = {} + +local group_stereotypes = { + dye = "dye:white", + wool = "wool:white", + coal = "default:coal_lump", + vessel = "vessels:glass_bottle", + flower = "flowers:dandelion_yellow" +} + +local group_names = { + coal = S("Any coal"), + sand = S("Any sand"), + wool = S("Any wool"), + stick = S("Any stick"), + vessel = S("Any vessel"), + wood = S("Any wood planks"), + stone = S("Any kind of stone block"), + + ["color_red,flower"] = S("Any red flower"), + ["color_blue,flower"] = S("Any blue flower"), + ["color_black,flower"] = S("Any black flower"), + ["color_green,flower"] = S("Any green flower"), + ["color_white,flower"] = S("Any white flower"), + ["color_orange,flower"] = S("Any orange flower"), + ["color_violet,flower"] = S("Any violet flower"), + ["color_yellow,flower"] = S("Any yellow flower"), + + ["color_red,dye"] = S("Any red dye"), + ["color_blue,dye"] = S("Any blue dye"), + ["color_cyan,dye"] = S("Any cyan dye"), + ["color_grey,dye"] = S("Any grey dye"), + ["color_pink,dye"] = S("Any pink dye"), + ["color_black,dye"] = S("Any black dye"), + ["color_brown,dye"] = S("Any brown dye"), + ["color_green,dye"] = S("Any green dye"), + ["color_white,dye"] = S("Any white dye"), + ["color_orange,dye"] = S("Any orange dye"), + ["color_violet,dye"] = S("Any violet dye"), + ["color_yellow,dye"] = S("Any yellow dye"), + ["color_magenta,dye"] = S("Any magenta dye"), + ["color_dark_grey,dye"] = S("Any dark grey dye"), + ["color_dark_green,dye"] = S("Any dark green dye") +} + +local function table_replace(t, val, new) + for k, v in pairs(t) do + if v == val then + t[k] = new + end + end +end + +local function extract_groups(str) + if str:sub(1, 6) == "group:" then + return str:sub(7):split() + end + return nil +end + +local function item_has_groups(item_groups, groups) + for _, group in ipairs(groups) do + if not item_groups[group] then + return false + end + end + return true +end + +local function groups_to_item(groups) + if #groups == 1 then + local group = groups[1] + if group_stereotypes[group] then + return group_stereotypes[group] + elseif minetest.registered_items["default:"..group] then + return "default:"..group + end + end + + for name, def in pairs(minetest.registered_items) do + if item_has_groups(def.groups, groups) then + return name + end + end + + return ":unknown" +end + +local function get_craftable_recipes(output) + local recipes = minetest.get_all_craft_recipes(output) + if not recipes then + return nil + end + + for i = #recipes, 1, -1 do + for _, item in pairs(recipes[i].items) do + local groups = extract_groups(item) + if groups then + item = groups_to_item(groups) + end + if not minetest.registered_items[item] then + table.remove(recipes, i) + break + end + end + end + + if #recipes > 0 then + return recipes + end +end + +local function show_item(def) + return def.groups.not_in_craft_guide ~= 1 and def.description ~= "" +end + +local function cache_usages(recipe) + local added = {} + for _, item in pairs(recipe.items) do + if not added[item] then + local groups = extract_groups(item) + if groups then + for name, def in pairs(minetest.registered_items) do + if not added[name] and show_item(def) + and item_has_groups(def.groups, groups) then + local usage = table.copy(recipe) + table_replace(usage.items, item, name) + usages_cache[name] = usages_cache[name] or {} + table.insert(usages_cache[name], usage) + added[name] = true + end + end + elseif show_item(minetest.registered_items[item]) then + usages_cache[item] = usages_cache[item] or {} + table.insert(usages_cache[item], recipe) + end + added[item] = true + end + end +end + +minetest.register_on_mods_loaded(function() + for name, def in pairs(minetest.registered_items) do + if show_item(def) then + local recipes = get_craftable_recipes(name) + if recipes then + recipes_cache[name] = recipes + for _, recipe in ipairs(recipes) do + cache_usages(recipe) + end + end + end + end + for name, def in pairs(minetest.registered_items) do + if recipes_cache[name] or usages_cache[name] then + table.insert(init_items, name) + end + end + table.sort(init_items) +end) + +local function coords(i, cols) + return i % cols, math.floor(i / cols) +end + +local function is_fuel(item) + return minetest.get_craft_result({method="fuel", items={item}}).time > 0 +end + +local function item_button_fs(fs, x, y, item, element_name, groups) + table.insert(fs, ("item_image_button[%s,%s;1.05,1.05;%s;%s;%s]") + :format(x, y, item, element_name, groups and "\n"..esc(S("G")) or "")) + + local tooltip + if groups then + table.sort(groups) + tooltip = group_names[table.concat(groups, ",")] + if not tooltip then + local groupstr = {} + for _, group in ipairs(groups) do + table.insert(groupstr, minetest.colorize("yellow", group)) + end + groupstr = table.concat(groupstr, ", ") + tooltip = S("Any item belonging to the group(s): @1", groupstr) + end + elseif is_fuel(item) then + local itemdef = minetest.registered_items[item:match("%S*")] + local desc = itemdef and itemdef.description or S("Unknown Item") + tooltip = desc.."\n"..minetest.colorize("orange", S("Fuel")) + end + if tooltip then + table.insert(fs, ("tooltip[%s;%s]"):format(element_name, esc(tooltip))) + end +end + +local function recipe_fs(fs, data) + local recipe = data.recipes[data.rnum] + local width = recipe.width + local cooktime, shapeless + + if recipe.method == "cooking" then + cooktime, width = width, 1 + elseif width == 0 then + shapeless = true + if #recipe.items == 1 then + width = 1 + elseif #recipe.items <= 4 then + width = 2 + else + width = 3 + end + end + + table.insert(fs, ("label[5.5,1;%s]"):format(esc(data.show_usages + and S("Usage @1 of @2", data.rnum, #data.recipes) + or S("Recipe @1 of @2", data.rnum, #data.recipes)))) + + if #data.recipes > 1 then + table.insert(fs, + "image_button[5.5,1.6;0.8,0.8;craftguide_prev_icon.png;recipe_prev;]".. + "image_button[6.2,1.6;0.8,0.8;craftguide_next_icon.png;recipe_next;]".. + "tooltip[recipe_prev;"..esc(S("Previous recipe")).."]".. + "tooltip[recipe_next;"..esc(S("Next recipe")).."]") + end + + local rows = math.ceil(table.maxn(recipe.items) / width) + if width > 3 or rows > 3 then + table.insert(fs, ("label[0,1;%s]") + :format(esc(S("Recipe is too big to be displayed.")))) + return + end + + local base_x = 3 - width + local base_y = rows == 1 and 1 or 0 + + for i, item in pairs(recipe.items) do + local x, y = coords(i - 1, width) + + local elem_name = item + local groups = extract_groups(item) + if groups then + item = groups_to_item(groups) + elem_name = esc(item.."."..table.concat(groups, "+")) + end + item_button_fs(fs, base_x + x, base_y + y, item, elem_name, groups) + end + + if shapeless or recipe.method == "cooking" then + table.insert(fs, ("image[3.2,0.5;0.5,0.5;craftguide_%s.png]") + :format(shapeless and "shapeless" or "furnace")) + local tooltip = shapeless and S("Shapeless") or + S("Cooking time: @1", minetest.colorize("yellow", cooktime)) + table.insert(fs, "tooltip[3.2,0.5;0.5,0.5;"..esc(tooltip).."]") + end + table.insert(fs, "image[3,1;1,1;sfinv_crafting_arrow.png]") + + item_button_fs(fs, 4, 1, recipe.output, recipe.output:match("%S*")) +end + +local function get_formspec(player) + local name = player:get_player_name() + local data = player_data[name] + data.pagemax = math.max(1, math.ceil(#data.items / 32)) + + local fs = {} + table.insert(fs, + "style_type[item_image_button;padding=2]".. + "field[0.3,4.2;2.8,1.2;filter;;"..esc(data.filter).."]".. + "label[5.8,4.15;"..minetest.colorize("yellow", data.pagenum).." / ".. + data.pagemax.."]".. + "image_button[2.63,4.05;0.8,0.8;craftguide_search_icon.png;search;]".. + "image_button[3.25,4.05;0.8,0.8;craftguide_clear_icon.png;clear;]".. + "image_button[5,4.05;0.8,0.8;craftguide_prev_icon.png;prev;]".. + "image_button[7.25,4.05;0.8,0.8;craftguide_next_icon.png;next;]".. + "tooltip[search;"..esc(S("Search")).."]".. + "tooltip[clear;"..esc(S("Reset")).."]".. + "tooltip[prev;"..esc(S("Previous page")).."]".. + "tooltip[next;"..esc(S("Next page")).."]".. + "field_close_on_enter[filter;false]") + + if #data.items == 0 then + table.insert(fs, "label[3,2;"..esc(S("No items to show.")).."]") + else + local first_item = (data.pagenum - 1) * 32 + for i = first_item, first_item + 31 do + local item = data.items[i + 1] + if not item then + break + end + local x, y = coords(i % 32, 8) + item_button_fs(fs, x, y, item, item) + end + end + + table.insert(fs, "container[0,5.6]") + if data.recipes then + recipe_fs(fs, data) + elseif data.prev_item then + table.insert(fs, ("label[2,1;%s]"):format(esc(data.show_usages + and S("No usages.").."\n"..S("Click again to show recipes.") + or S("No recipes.").."\n"..S("Click again to show usages.")))) + end + table.insert(fs, "container_end[]") + + return table.concat(fs) +end + +local function imatch(str, filter) + return str:lower():find(filter, 1, true) ~= nil +end + +local function execute_search(data) + local filter = data.filter + if filter == "" then + data.items = init_items + return + end + data.items = {} + + for _, item in ipairs(init_items) do + local def = minetest.registered_items[item] + local desc = def and minetest.get_translated_string(data.lang_code, def.description) + + if imatch(item, filter) or desc and imatch(desc, filter) then + table.insert(data.items, item) + end + end +end + +local function on_receive_fields(player, fields) + local name = player:get_player_name() + local data = player_data[name] + + if fields.clear then + data.filter = "" + data.pagenum = 1 + data.prev_item = nil + data.recipes = nil + data.items = init_items + return true + + elseif fields.key_enter_field == "filter" or fields.search then + local new = fields.filter:lower() + if data.filter == new then + return + end + data.filter = new + data.pagenum = 1 + execute_search(data) + return true + + elseif fields.prev or fields.next then + if data.pagemax == 1 then + return + end + data.pagenum = data.pagenum + (fields.next and 1 or -1) + if data.pagenum > data.pagemax then + data.pagenum = 1 + elseif data.pagenum == 0 then + data.pagenum = data.pagemax + end + return true + + elseif fields.recipe_next or fields.recipe_prev then + data.rnum = data.rnum + (fields.recipe_next and 1 or -1) + if data.rnum > #data.recipes then + data.rnum = 1 + elseif data.rnum == 0 then + data.rnum = #data.recipes + end + return true + + else + local item + for field in pairs(fields) do + if field:find(":") then + item = field:match("[%w_:]+") + break + end + end + if not item then + return + end + + if item == data.prev_item then + data.show_usages = not data.show_usages + else + data.show_usages = nil + end + if data.show_usages then + data.recipes = usages_cache[item] + else + data.recipes = recipes_cache[item] + end + data.prev_item = item + data.rnum = 1 + return true + end +end + +minetest.register_on_joinplayer(function(player) + local name = player:get_player_name() + local info = minetest.get_player_information(name) + + player_data[name] = { + filter = "", + pagenum = 1, + items = init_items, + lang_code = info.lang_code + } +end) + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + player_data[name] = nil +end) + +sfinv.register_page("mtg_craftguide:craftguide", { + title = esc(S("Recipes")), + get = function(self, player, context) + return sfinv.make_formspec(player, context, get_formspec(player)) + end, + on_player_receive_fields = function(self, player, context, fields) + if on_receive_fields(player, fields) then + sfinv.set_player_inventory_formspec(player) + end + end +}) diff --git a/mods/mtg_craftguide/license.txt b/mods/mtg_craftguide/license.txt new file mode 100644 index 00000000..8d28c5c7 --- /dev/null +++ b/mods/mtg_craftguide/license.txt @@ -0,0 +1,63 @@ +License of source code +---------------------- + +The MIT License (MIT) + +Copyright (C) 2015-2019 Jean-Patrick Guerrero and contributors. +Copyright (C) 2020 pauloue + +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. + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) + +Copyright (C) 2018 paramat +Copyright (C) Neuromancer +Copyright (C) 2017 Wuzzy + +You are free to: +Share — copy and redistribute the material in any medium or format. +Adapt — remix, transform, and build upon the material for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. + +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and +indicate if changes were made. You may do so in any reasonable manner, but not in any way +that suggests the licensor endorses you or your use. + +ShareAlike — If you remix, transform, or build upon the material, you must distribute +your contributions under the same license as the original. + +No additional restrictions — You may not apply legal terms or technological measures that +legally restrict others from doing anything the license permits. + +Notices: + +You do not have to comply with the license for elements of the material in the public +domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary +for your intended use. For example, other rights such as publicity, privacy, or moral +rights may limit how you use the material. + +For more details: +http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.de.tr b/mods/mtg_craftguide/locale/mtg_craftguide.de.tr new file mode 100644 index 00000000..d90f833d --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.de.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Beliebige Kohle +Any sand=Beliebiger Sand +Any wool=Beliebige Wolle +Any stick=Beliebiger Stock +Any vessel=Beliebiges Gefäß +Any wood planks=Beliebige Holzplanken +Any kind of stone block=Beliebige Art von Steinblock +Any red flower=Beliebige rote Blume +Any blue flower=Beliebige blaue Blume +Any black flower=Beliebige schwarze Blume +Any green flower=Beliebige grüne Blume +Any white flower=Beliebige weiße Blume +Any orange flower=Beliebige orange Blume +Any violet flower=Beliebige violette Blume +Any yellow flower=Beliebige gelbe Blume +Any red dye=Beliebiger roter Farbstoff +Any blue dye=Beliebiger blauer Farbstoff +Any cyan dye=Beliebiger türkiser Farbstoff +Any grey dye=Beliebiger grauer Farbstoff +Any pink dye=Beliebiger rosa Farbstoff +Any black dye=Beliebiger schwarzer Farbstoff +Any brown dye=Beliebiger brauner Farbstoff +Any green dye=Beliebiger grüner Farbstoff +Any white dye=Beliebiger weißer Farbstoff +Any orange dye=Beliebiger orange Farbstoff +Any violet dye=Beliebiger violetter Farbstoff +Any yellow dye=Beliebiger gelber Farbstoff +Any magenta dye=Beliebiger magenta Farbstoff +Any dark grey dye=Beliebiger dunkelgrauer Farbstoff +Any dark green dye=Beliebiger dunkelgrüner Farbstoff +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Beliebiger Gegenstand, der zu Gruppe(n) gehört: @1 +Unknown Item=Unbekannter Gegenstand +Fuel=Brennstoff +Usage @1 of @2=Verwendung @1 von @2 +Recipe @1 of @2=Rezept @1 von @2 +Previous recipe=Vorheriges Rezept +Next recipe=Nächstes Rezept +Recipe is too big to be displayed.=Rezept ist zu groß für die Anzeige. +Shapeless=Formlos +Cooking time: @1=Kochdauer: @1 +Search=Suche +Reset=Zurücksetzen +Previous page=Vorherige Seite +Next page=Nächste Seite +No items to show.=Keine Gegenstände anzuzeigen. +No usages.=Keine Verwendungen. +Click again to show recipes.=Erneut klicken, um Rezepte zu zeigen. +No recipes.=Keine Rezepte. +Click again to show usages.=Erneut klicken, um Verwendungen zu zeigen. +Recipes=Rezepte diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.eo.tr b/mods/mtg_craftguide/locale/mtg_craftguide.eo.tr new file mode 100644 index 00000000..7201deb5 --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.eo.tr @@ -0,0 +1,54 @@ +# textdomain: mtg_craftguide + +Any coal=Ajna karbo +Any sand=Ajna sablo +Any wool=Ajna lano +Any stick=Ajna bastono +Any vessel=Ajna vazo +Any wood planks=Ajna ligna tabulo +Any kind of stone block=Ia ŝtona ŝtipo +Any red flower=Ajna ruĝa floro +Any blue flower=Ajna blua floro +Any black flower=Ajna nigra floro +Any green flower=Ajna verda floro +Any white flower=Ajna blanka floro +Any orange flower=Ajna oranĝa floro +Any violet flower=Ajna viola floro +Any yellow flower=Ajna flava floro +Any red dye=Ajna ruĝa tinkturo +Any blue dye=Ajna blua tinkturo +Any cyan dye=Ajna bluverda tinkturo +Any grey dye=Ajna graja tinkturo +Any pink dye=Ajna rosa tinkturo +Any black dye=Ajna nigra tinkturo +Any brown dye=Ajna bruna tinkturo +Any green dye=Ajna verda tinkturo +Any white dye=Ajna blanka tinkturo +Any orange dye=Ajna oranĝa tinkturo +Any violet dye=Ajna viola tinkturo +Any yellow dye=Ajna flava tinkturo +Any magenta dye=Ajna fuksina tinkturo +Any dark grey dye=Ajna malhela graja tinkturo +Any dark green dye=Ajna malhela verda tinkturo +# Label for group ingredients +G=A +Any item belonging to the group(s): @1=Ajna objekto de la aro(j) +Unknown Item=Obskura Objekto +Fuel=Brulaĵo +Usage @1 of @2=Utilo @1 el @2 +Recipe @1 of @2=Recepto @1 el @2 +Previous recipe=Pasinta recepto +Next recipe=Sekvinta recepto +Recipe is too big to be displayed.=La recepto estas tro granda por prezenti +Shapeless=Senforma +Cooking time: @1=Tempo por kuirado: @1 +Search=Ŝerĉu +Reset=Rekomincigu +Previous page=Pasinta paĝo +Next page=Sekvinta paĝo +No items to show.=Ne estas objektoj por prezenti +No usages.=Ne estas utiloj +Click again to show recipes.=Anklaku ankoraŭ por prezenti receptojn +No recipes.=Ne estas receptoj +Click again to show usages.=Anklaku ankoraŭ por prezenti utiloj +Recipes=Receptoj diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.es.tr b/mods/mtg_craftguide/locale/mtg_craftguide.es.tr new file mode 100644 index 00000000..a5b5149d --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.es.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Carbón +Any sand=Arena +Any wool=Lana +Any stick=Palitos +Any vessel=Recipiente +Any wood planks=Tablas de madera +Any kind of stone block=Derivado de bloque de piedra +Any red flower=Flor roja +Any blue flower=Flor azul +Any black flower=Flor negra +Any green flower=Flor verde +Any white flower=Flor blanca +Any orange flower=Flor naranja +Any violet flower=Flor violeta +Any yellow flower=Flor amarilla +Any red dye=Tinte rojo +Any blue dye=Tinte azul +Any cyan dye=Tinte cian +Any grey dye=Tinte gris +Any pink dye=Tinte rosa +Any black dye=Tinte negro +Any brown dye=Tinte marrón +Any green dye=Tinte verde +Any white dye=Tinte blanco +Any orange dye=Tinte naranja +Any violet dye=Tinte violeta +Any yellow dye=Tinte amarillo +Any magenta dye=Tinte magenta +Any dark grey dye=Tinte gris oscuro +Any dark green dye=Tinte verde oscuro +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Objeto del grupo: @1 +Unknown Item=Objeto desconocido +Fuel=Combustible +Usage @1 of @2=Usa @1 en @2 +Recipe @1 of @2=Receta @1 en @2 +Previous recipe=Receta anterior +Next recipe=Próxima Receta +Recipe is too big to be displayed.=La receta es muy grande para ser mostrada. +Shapeless=Sin forma +Cooking time: @1=Tiempo de cocción: @1 +Search=Buscar +Reset=Resetear +Previous page=Página anterior +Next page=Próxima página +No items to show.=No hay objetos para mostrar. +No usages.=Sin usos. +Click again to show recipes.=Clica de nuevo para mostrar recetas. +No recipes.=No hay recetas. +Click again to show usages.=Clica de nuevo para mostrar usos. +Recipes=Recetas diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.fr.tr b/mods/mtg_craftguide/locale/mtg_craftguide.fr.tr new file mode 100644 index 00000000..afc82249 --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.fr.tr @@ -0,0 +1,54 @@ +# textdomain: mtg_craftguide + +Any coal=Quelconque charbon +Any sand=Quelconque sable +Any wool=Quelconque laine +Any stick=Quelconque bâton +Any vessel=Quelconque couvert +Any wood planks=Quelconques planches de bois +Any kind of stone block=Quelconque roche +Any red flower=Quelconque fleur rouge +Any blue flower=Quelconque fleur bleue +Any black flower=Quelconque fleur noire +Any green flower=Quelconque fleur verte +Any white flower=Quelconque fleur blanche +Any orange flower=Quelconque fleur orange +Any violet flower=Quelconque fleur violette +Any yellow flower=Quelconque fleur jaune +Any red dye=Quelconque colorant rouge +Any blue dye=Quelconque colorant bleu +Any cyan dye=Quelconque colorant bleu ciel +Any grey dye=Quelconque colorant gris +Any pink dye=Quelconque colorant rose +Any black dye=Quelconque colorant noir +Any brown dye=Quelconque colorant marron +Any green dye=Quelconque colorant vert +Any white dye=Quelconque colorant blanc +Any orange dye=Quelconque colorant orange +Any violet dye=Quelconque colorant violet +Any yellow dye=Quelconque colorant jaune +Any magenta dye=Quelconque colorant magenta +Any dark grey dye=Quelconque colorant gris foncé +Any dark green dye=Quelconque colorant vert foncé +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Tout item appartenant au(x) groupe(s) : @1 +Unknown Item=Object inconnu +Fuel=Combustible +Usage @1 of @2=Usage @1 sur @2 +Recipe @1 of @2=Recette @1 sur @2 +Previous recipe=Recette précédente +Next recipe=Prochaine recette +Recipe is too big to be displayed.=Recette trop grande pour être affichée. +Shapeless=Sans forme +Cooking time: @1=Temps de cuisson : @1 +Search=Recherche +Reset=Réinitialiser +Previous page=Page précédente +Next page=Prochaine page +No items to show.=Aucun item à afficher. +No usages.=Sans utilité. +Click again to show recipes.=Cliquez encore pour afficher la recette. +No recipes.=Aucune recette. +Click again to show usages.=Cliquez encore pour afficher l'usage. +Recipes=Recettes diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.ja.tr b/mods/mtg_craftguide/locale/mtg_craftguide.ja.tr new file mode 100644 index 00000000..c6ec66ae --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.ja.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=石炭 +Any sand=砂 +Any wool=羊毛 +Any stick=棒 +Any vessel=瓶 +Any wood planks=板材 +Any kind of stone block=石のブロック +Any red flower=赤色の花 +Any blue flower=青色の花 +Any black flower=黒色の花 +Any green flower=緑色の花 +Any white flower=白色の花 +Any orange flower=橙色の花 +Any violet flower=紫色の花 +Any yellow flower=黄色の花 +Any red dye=赤色の染料 +Any blue dye=青色の染料 +Any cyan dye=青緑色の染料 +Any grey dye=灰色の染料 +Any pink dye=桃色の染料 +Any black dye=黒色の染料 +Any brown dye=茶色の染料 +Any green dye=緑色の染料 +Any white dye=白色の染料 +Any orange dye=橙色の染料 +Any violet dye=紫色の染料 +Any yellow dye=黄色の染料 +Any magenta dye=赤紫色の染料 +Any dark grey dye=濃灰色の染料 +Any dark green dye=濃緑色の染料 +# Label for group ingredients +G= +Any item belonging to the group(s): @1=グループに属するアイテム: @1 +Unknown Item=不明なアイテム +Fuel=燃料 +Usage @1 of @2=利用方法 @1 / @2 +Recipe @1 of @2=レシピ @1 / @2 +Previous recipe=前のレシピ +Next recipe=次のレシピ +Recipe is too big to be displayed.=レシピが大きすぎて表示できません。 +Shapeless=無形 +Cooking time: @1=調理時間: @1 +Search=検索 +Reset=リセット +Previous page=前のページ +Next page=次のページ +No items to show.=表示する項目がありません。 +No usages.=利用方法がありません。 +Click again to show recipes.=もう一度クリックするとレシピを表示します。 +No recipes.=レシピがありません。 +Click again to show usages.=もう一度クリックすると使用方法を表示します。 +Recipes=レシピ diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.jbo.tr b/mods/mtg_craftguide/locale/mtg_craftguide.jbo.tr new file mode 100644 index 00000000..c9e6fbf0 --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.jbo.tr @@ -0,0 +1,54 @@ +# textdomain: mtg_craftguide +Any coal=lo cmina lo'i kolme +Any sand=lo cmima lo'i sance +Any wool=lo cmima lo'i sunla +Any stick=lo cmima lo'i grana +Any vessel=lo cmima lo'i vasru +Any wood planks=lo cmima lo'i mudri tanbo +Any kind of stone block=lo cmima lo'i rokci bliku +Any red flower=lo cmima lo'i xunre xrula +Any blue flower=lo cmima lo'i blanu xrula +Any black flower=lo cmima lo'i xekri xrula +Any green flower=lo cmima lo'i crino xrula +Any white flower=lo cmima lo'i blabi xrula +Any orange flower=lo cmima lo'i narju xrula +Any violet flower=lo cmima lo'i zirpu xrula +Any yellow flower=lo cmima lo'i pelxu xrula +Any red dye=lo cmima lo'i xunre xinmo +Any blue dye=lo cmima lo'i blanu xinmo +Any cyan dye=lo cmima lo'i cicna xinmo +Any grey dye=lo cmima lo'i grusi xinmo +Any pink dye=lo cmima lo'i xunblabi xinmo +Any black dye=lo cmima lo'i xekri xinmo +Any brown dye=lo cmima lo'i bunre xinmo +Any green dye=lo cmima lo'i crino xinmo +Any white dye=lo cmima lo'i blabi xinmo +Any orange dye=lo cmima lo'i narju xinmo +Any violet dye=lo cmima lo'i zirpu xinmo +Any yellow dye=lo cmima lo'i pelxu xinmo +Any magenta dye=lo cmima lo'i nukni xinmo +Any dark grey dye=lo cmima lo'i xekri grusi xinmo +Any dark green dye=lo cmima lo'i xekri crino xinmo +# Label for group ingredients +# c = cmima +G=c +Any item belonging to the group(s): @1=lo cmima lo'i me zoi gi'u.@1.gi'u +Unknown Item=lo na te djuno dacti +Fuel=.i livla +Usage @1 of @2=.i meirmoi fe li @1 li @2@nle'i te zbasu +Recipe @1 of @2=.i meirmoi fe li @1 li @2@nle'i te jukpa +Previous recipe=lidne +Next recipe=selyli'e +Recipe is too big to be displayed.=.i lo te jukpa cu dukse lo ka barda tezu'e lo nu jarco +Shapeless=tarmi claxu +Cooking time: @1=lo pu'u jukpa cu snidu li @1 +Search=sisku +Reset=kraga'igau +Previous page=lidne +Next page=selyli'e +No items to show.=no da dacti cu se jarco +No usages.=na te zbasu +Click again to show recipes.=.i ko rapli .iklki fi lo nu .arco lo te jukpa +No recipes.=na te jukpa +Click again to show usages.=.i ko rapli .iklki fi lo nu .arco lo te zbasu +Recipes=lo te jukpa diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.pt_BR.tr b/mods/mtg_craftguide/locale/mtg_craftguide.pt_BR.tr new file mode 100644 index 00000000..a4bbf7f9 --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.pt_BR.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Qualquer carvão +Any sand=Qualquer areia +Any wool=Qualquer madeira +Any stick=Qualquer graveto +Any vessel=Qualquer navio +Any wood planks=Qualquer tábua de madeira +Any kind of stone block=Qualquer tipo de bloco de pedra +Any red flower=Qualquer flor vermelha +Any blue flower=Qualquer flor azul +Any black flower=Qualquer flor preta +Any green flower=Qualquer flor verde +Any white flower=Qualquer flor branca +Any orange flower=Qualquer flor laranja +Any violet flower=Qualquer flor violeta +Any yellow flower=Qualquer flor amarela +Any red dye=Qualquer tinta vermelha +Any blue dye=Qualquer tinta azul +Any cyan dye=Qualquer tinta ciano +Any grey dye=Qualquer tinta cinza +Any pink dye=Qualquer tinta rosa +Any black dye=Qualquer tinta preto +Any brown dye=Qualquer tinta marrom +Any green dye=Qualquer tinta verde +Any white dye=Qualquer tinta branca +Any orange dye=Qualquer tinta laranja +Any violet dye=Qualquer tinta violeta +Any yellow dye=Qualquer tinta amarela +Any magenta dye=Qualquer tinta magenta +Any dark grey dye=Qualquer tinta cinza-escuro +Any dark green dye=Qualquer tinta cinza-escuro +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Qualquer item pertencente ao(s) grupo(s): @1 +Unknown Item=Item Desconhecido +Fuel=Combustível +Usage @1 of @2=Uso @1 de @2 +Recipe @1 of @2=Receita @1 de @2 +Previous recipe=Receita anterior +Next recipe=Próxima receita +Recipe is too big to be displayed.=Receita é muito grande para ser exibida. +Shapeless=Sem forma +Cooking time: @1=Tempo de Cozimento: @1 +Search=Buscar +Reset=Redefinir +Previous page=Página anterior +Next page=Próxima página +No items to show.=Nenhum item para mostrar. +No usages.=Nenhum uso. +Click again to show recipes.=Clique novamente para mostrar receitas. +No recipes.=Nenhuma receita. +Click again to show usages.=Clique novamente para mostrar os usos. +Recipes=Receitas diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.ru.tr b/mods/mtg_craftguide/locale/mtg_craftguide.ru.tr new file mode 100644 index 00000000..8c74106d --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.ru.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Любой уголь +Any sand=Любой песок +Any wool=Любая шерсть +Any stick=Любая палка +Any vessel=Любой сосуд +Any wood planks=Любые деревянные палки +Any kind of stone block=Любой каменный блок +Any red flower=Любой красный цветок +Any blue flower=Любой синий цветок +Any black flower=Любой чёрный цветок +Any green flower=Любой зелёный цветок +Any white flower=Любой белый цветок +Any orange flower=Любой оранжевый цветок +Any violet flower=Любой фиолетовый цветок +Any yellow flower=Любой жёлтый цветок +Any red dye=Любая красная краска +Any blue dye=Любая синяя краска +Any cyan dye=Любая сине-зелёная краска +Any grey dye=Любая серая краска +Any pink dye=Любая розовая краска +Any black dye=Любая чёрная краска +Any brown dye=Любая коричневая краска +Any green dye=Любая зелёная краска +Any white dye=Любая белая краска +Any orange dye=Любая оранжевая краска +Any violet dye=Любая фиолетовая краска +Any yellow dye=Любая жёлтая краска +Any magenta dye=Любая пурпурная краска +Any dark grey dye=Любая тёмно-серая краска +Any dark green dye=Любая тёмно-зелёная краска +# Label for group ingredients +G= +Any item belonging to the group(s): @1=Любой предмет из групп(ы): @1 +Unknown Item=Неизвествый предмет +Fuel=Топливо +Usage @1 of @2= +Recipe @1 of @2= +Previous recipe=Предыдущий рецепт +Next recipe=Следующий рецепт +Recipe is too big to be displayed.=Рецепт слишком большой для показа +Shapeless= +Cooking time: @1=Время изготовления: @1 +Search=Поиск +Reset=Сбросить +Previous page=Предыдущая страница +Next page=Следующая страница +No items to show.=Нет элементов для отображения. +No usages.= +Click again to show recipes.=Нажмите снова для отображения рецептов. +No recipes.=Нет рецептов. +Click again to show usages.= +Recipes=Рецепты diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.sv.tr b/mods/mtg_craftguide/locale/mtg_craftguide.sv.tr new file mode 100644 index 00000000..00b40564 --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.sv.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Någon typ av kol +Any sand=Någon typ av sand +Any wool=Någon typ av ull +Any stick=Någon typ av pinne +Any vessel=Någon typ av fartygshylla +Any wood planks=Någon typ av träplanka +Any kind of stone block=Någon typ av stenblock +Any red flower=Någon typ av röd blomma +Any blue flower=Någon typ av blå blomma +Any black flower=Någon typ av svart blomma +Any green flower=Någon typ av grön blomma +Any white flower=Någon typ av vit blomma +Any orange flower=Någon typ av orange blomma +Any violet flower=Någon typ av violett blomma +Any yellow flower=Någon typ av gul blomma +Any red dye=Någon typ av röd färg +Any blue dye=Någon typ av blå färg +Any cyan dye=Någon typ av cyan färg +Any grey dye=Någon typ av grå färg +Any pink dye=Någon typ av rosa färg +Any black dye=Någon typ av svart färg +Any brown dye=Någon typ av brun färg +Any green dye=Någon typ av grön färg +Any white dye=Någon typ av vit färg +Any orange dye=Någon typ av orange färg +Any violet dye=Någon typ av violett färg +Any yellow dye=Någon typ av gul färg +Any magenta dye=Någon typ av magenta färg +Any dark grey dye=Någon typ av mörkgrå färg +Any dark green dye=Någon typ av mörkgrön färg +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Vilket föremål som helst som tillhör grupp(erna): @1 +Unknown Item=Okänt föremål +Fuel=Bränsle +Usage @1 of @2=Användning @1 av @2 +Recipe @1 of @2=Recept @1 av @2 +Previous recipe=Föregående recept +Next recipe=Nästa recept +Recipe is too big to be displayed.=Receptet är för stort för att visas. +Shapeless=Formlöst +Cooking time: @1=Tillagningstid: @1 +Search=Sök +Reset=Återställ +Previous page=Föregående sida +Next page=Nästa sida +No items to show.=Inga föremål att visa. +No usages.=Inga användningsområden. +Click again to show recipes.=Tryck igen för att visa recept. +No recipes.=Inga recept. +Click again to show usages.=Tryck igen för att visa användningsområden. +Recipes=Recept diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.uk.tr b/mods/mtg_craftguide/locale/mtg_craftguide.uk.tr new file mode 100644 index 00000000..52d33a45 --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.uk.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Будь-яке вугілля +Any sand=Будь-якій пісок +Any wool=Будь-яка вовна +Any stick=Будь-яка паличка +Any vessel=Будь-який посуд +Any wood planks=Будь-які дерев'яні палички +Any kind of stone block=Будь-який кам'яний блок +Any red flower=Будь-яка червона квітка +Any blue flower=Будь-яка синя квітка +Any black flower=Будь-яка чорна квітка +Any green flower=Будь-яка зелена квітка +Any white flower=Будь-яка біла квітка +Any orange flower=Будь-яка помаранчева квітка +Any violet flower=Будь-яка фіолетова квітка +Any yellow flower=Будь-яка жовта квітка +Any red dye=Будь-яка червона фарба +Any blue dye=Будь-яка синя фарба +Any cyan dye=Будь-яка синьо-зелена фарба +Any grey dye=Будь-яка сіра фарба +Any pink dye=Будь-яка рожева фарба +Any black dye=Будь-яка чорна фарба +Any brown dye=Будь-яка коричнева фарба +Any green dye=Будь-яка зелена фарба +Any white dye=Будь-яка біла фарба +Any orange dye=Будь-яка помаранчева фарба +Any violet dye=Будь-яка фіолетова фарба +Any yellow dye=Будь-яка жовта фарба +Any magenta dye=Будь-який пурпурна фарба +Any dark grey dye=Будь-яка темно-сіра фарба +Any dark green dye=Будь-яка темно-зелена фарба +# Label for group ingredients +G= +Any item belonging to the group(s): @1=Будь-який предмет з груп(и): @1 +Unknown Item=Невідомий предмет +Fuel=Паливо +Usage @1 of @2=Використано @1 з @2 +Recipe @1 of @2=Рецепт @1 з @2 +Previous recipe=Попередній рецепт +Next recipe=Наступний рецепт +Recipe is too big to be displayed.=Рецепт занадто великий для показу. +Shapeless=Безформний +Cooking time: @1=Час виготовлення: @1 +Search=Пошук +Reset=Скинути +Previous page=Попередня сторінка +Next page=Наступна сторінка +No items to show.=Немає елементів для показу. +No usages.=Не використовується. +Click again to show recipes.=Натисніть ще раз, щоб показати рецепти. +No recipes.=Немає рецептів. +Click again to show usages.=Натисніть ще раз, щоб показати використання. +Recipes=Рецепти diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.zh_CN.tr b/mods/mtg_craftguide/locale/mtg_craftguide.zh_CN.tr new file mode 100644 index 00000000..56ae7d5a --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.zh_CN.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=任何煤炭 +Any sand=任何沙子 +Any wool=任何羊毛 +Any stick=任何棒 +Any vessel=任何容器 +Any wood planks=任何木板 +Any kind of stone block=任何种类的石块 +Any red flower=任何红色花朵 +Any blue flower=任何蓝色花朵 +Any black flower=任何黑色花朵 +Any green flower=任何绿色花朵 +Any white flower=任何白色花朵 +Any orange flower=任何橙色花朵 +Any violet flower=任何紫色花朵 +Any yellow flower=任何黄色花朵 +Any red dye=任何红色染料 +Any blue dye=任何蓝色染料 +Any cyan dye=任何青色染料 +Any grey dye=任何灰色染料 +Any pink dye=任何粉色染料 +Any black dye=任何黑色染料 +Any brown dye=任何棕色染料 +Any green dye=任何绿色染料 +Any white dye=任何白色染料 +Any orange dye=任何橙色染料 +Any violet dye=任何紫色染料 +Any yellow dye=任何黄色染料 +Any magenta dye=任何品红染料 +Any dark grey dye=任何暗灰染料 +Any dark green dye=任何暗绿染料 +# Label for group ingredients +G= +Any item belonging to the group(s): @1=属于该组的任何项目:@1 +Unknown Item=未知项目 +Fuel=燃料 +Usage @1 of @2=用法@1,共@2个 +Recipe @1 of @2=配方@1,共@2个 +Previous recipe=上一配方 +Next recipe=下一配方 +Recipe is too big to be displayed.=配方太大,无法显示 +Shapeless=没有形状 +Cooking time: @1=烹饪时间:@1 +Search=搜索 +Reset=重置 +Previous page=上一页 +Next page=下一页 +No items to show.=没有项目可以显示。 +No usages.=没有用法 +Click again to show recipes.=再次单击以显示配方。 +No recipes.=没有配方。 +Click again to show usages.=再次单击以显示用法 +Recipes=配方 diff --git a/mods/mtg_craftguide/locale/mtg_craftguide.zh_TW.tr b/mods/mtg_craftguide/locale/mtg_craftguide.zh_TW.tr new file mode 100644 index 00000000..859cdfe6 --- /dev/null +++ b/mods/mtg_craftguide/locale/mtg_craftguide.zh_TW.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=任何煤炭 +Any sand=任何沙子 +Any wool=任何羊毛 +Any stick=任何棒 +Any vessel=任何容器 +Any wood planks=任何木板 +Any kind of stone block=任何種類的石塊 +Any red flower=任何紅色花朵 +Any blue flower=任何藍色花朵 +Any black flower=任何黑色花朵 +Any green flower=任何綠色花朵 +Any white flower=任何白色花朵 +Any orange flower=任何橙色花朵 +Any violet flower=任何紫色花朵 +Any yellow flower=任何黃色花朵 +Any red dye=任何紅色染料 +Any blue dye=任何藍色染料 +Any cyan dye=任何青色染料 +Any grey dye=任何灰色染料 +Any pink dye=任何粉色染料 +Any black dye=任何黑色染料 +Any brown dye=任何棕色染料 +Any green dye=任何綠色染料 +Any white dye=任何白色染料 +Any orange dye=任何橙色染料 +Any violet dye=任何紫色染料 +Any yellow dye=任何黃色染料 +Any magenta dye=任何品紅染料 +Any dark grey dye=任何暗灰染料 +Any dark green dye=任何暗綠染料 +# Label for group ingredients +G= +Any item belonging to the group(s): @1=屬於該組的任何項目:@1 +Unknown Item=未知項目 +Fuel=燃料 +Usage @1 of @2=用法@1,共@2個 +Recipe @1 of @2=配方@1,共@2個 +Previous recipe=上一配方 +Next recipe=下一配方 +Recipe is too big to be displayed.=配方太大,無法顯示 +Shapeless=沒有形狀 +Cooking time: @1=烹飪時間:@1 +Search=搜索 +Reset=重置 +Previous page=上一頁 +Next page=下一頁 +No items to show.=沒有項目可以顯示。 +No usages.=沒有用法 +Click again to show recipes.=再次單擊以顯示配方。 +No recipes.=沒有配方。 +Click again to show usages.=再次單擊以顯示用法 +Recipes=配方 diff --git a/mods/mtg_craftguide/locale/template.txt b/mods/mtg_craftguide/locale/template.txt new file mode 100644 index 00000000..e02a721d --- /dev/null +++ b/mods/mtg_craftguide/locale/template.txt @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal= +Any sand= +Any wool= +Any stick= +Any vessel= +Any wood planks= +Any kind of stone block= +Any red flower= +Any blue flower= +Any black flower= +Any green flower= +Any white flower= +Any orange flower= +Any violet flower= +Any yellow flower= +Any red dye= +Any blue dye= +Any cyan dye= +Any grey dye= +Any pink dye= +Any black dye= +Any brown dye= +Any green dye= +Any white dye= +Any orange dye= +Any violet dye= +Any yellow dye= +Any magenta dye= +Any dark grey dye= +Any dark green dye= +# Label for group ingredients +G= +Any item belonging to the group(s): @1= +Unknown Item= +Fuel= +Usage @1 of @2= +Recipe @1 of @2= +Previous recipe= +Next recipe= +Recipe is too big to be displayed.= +Shapeless= +Cooking time: @1= +Search= +Reset= +Previous page= +Next page= +No items to show.= +No usages.= +Click again to show recipes.= +No recipes.= +Click again to show usages.= +Recipes= diff --git a/mods/mtg_craftguide/mod.conf b/mods/mtg_craftguide/mod.conf new file mode 100644 index 00000000..3b2d975f --- /dev/null +++ b/mods/mtg_craftguide/mod.conf @@ -0,0 +1,3 @@ +name = mtg_craftguide +description = Minetest Game mod: mtg_craftguide +depends = sfinv diff --git a/mods/mtg_craftguide/textures/craftguide_clear_icon.png b/mods/mtg_craftguide/textures/craftguide_clear_icon.png new file mode 100644 index 00000000..1a0e513f Binary files /dev/null and b/mods/mtg_craftguide/textures/craftguide_clear_icon.png differ diff --git a/mods/mtg_craftguide/textures/craftguide_furnace.png b/mods/mtg_craftguide/textures/craftguide_furnace.png new file mode 100644 index 00000000..60d1a619 Binary files /dev/null and b/mods/mtg_craftguide/textures/craftguide_furnace.png differ diff --git a/mods/mtg_craftguide/textures/craftguide_next_icon.png b/mods/mtg_craftguide/textures/craftguide_next_icon.png new file mode 100644 index 00000000..266c9ba6 Binary files /dev/null and b/mods/mtg_craftguide/textures/craftguide_next_icon.png differ diff --git a/mods/mtg_craftguide/textures/craftguide_prev_icon.png b/mods/mtg_craftguide/textures/craftguide_prev_icon.png new file mode 100644 index 00000000..c8072961 Binary files /dev/null and b/mods/mtg_craftguide/textures/craftguide_prev_icon.png differ diff --git a/mods/mtg_craftguide/textures/craftguide_search_icon.png b/mods/mtg_craftguide/textures/craftguide_search_icon.png new file mode 100644 index 00000000..1c374cad Binary files /dev/null and b/mods/mtg_craftguide/textures/craftguide_search_icon.png differ diff --git a/mods/mtg_craftguide/textures/craftguide_shapeless.png b/mods/mtg_craftguide/textures/craftguide_shapeless.png new file mode 100644 index 00000000..51d8ce50 Binary files /dev/null and b/mods/mtg_craftguide/textures/craftguide_shapeless.png differ diff --git a/mods/player_api/README.txt b/mods/player_api/README.txt index 22d040cb..37afadfa 100644 --- a/mods/player_api/README.txt +++ b/mods/player_api/README.txt @@ -4,6 +4,7 @@ See license.txt for license information. Provides an API to allow multiple mods to set player models and textures. Also sets the default model, texture, and player flags. +This mod is only for content related to the Player API and the player object. Authors of source code ---------------------- @@ -12,21 +13,15 @@ Various Minetest developers and contributors (LGPLv2.1+) Authors of media (textures, models and sounds) ---------------------------------------------- -stujones11 (CC BY-SA 3.0): +Original model by MirceaKitsune (CC BY-SA 3.0). +Various alterations and fixes by kilbith, sofar, xunto, Rogier-5, TeTpaAka, Desour, +stujones11, An0n3m0us (CC BY-SA 3.0): character.b3d - character.blend -- Both derived from a model by MirceaKitsune (CC BY-SA 3.0) + character.blend Jordach (CC BY-SA 3.0): character.png -paramat (CC BY-SA 3.0): - gui_hotbar.png - gui_hotbar_selected.png - celeron55, Perttu Ahola (CC BY-SA 3.0): player.png player_back.png - -sonictechtonic (CC BY 3.0): -https://www.freesound.org/people/sonictechtonic/sounds/241872/ - player_damage.ogg diff --git a/mods/player_api/api.lua b/mods/player_api/api.lua index e309b08d..d7aab4ed 100644 --- a/mods/player_api/api.lua +++ b/mods/player_api/api.lua @@ -1,116 +1,192 @@ --- Minetest 0.4 mod: player --- See README.txt for licensing and other information. - player_api = {} -- Player animation blending -- Note: This is currently broken due to a bug in Irrlicht, leave at 0 local animation_blend = 0 -player_api.registered_models = { } +player_api.registered_models = {} -- Local for speed. local models = player_api.registered_models +local function collisionbox_equals(collisionbox, other_collisionbox) + if collisionbox == other_collisionbox then + return true + end + for index = 1, 6 do + if collisionbox[index] ~= other_collisionbox[index] then + return false + end + end + return true +end + function player_api.register_model(name, def) models[name] = def + def.visual_size = def.visual_size or {x = 1, y = 1} + def.collisionbox = def.collisionbox or {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3} + def.stepheight = def.stepheight or 0.6 + def.eye_height = def.eye_height or 1.47 + + -- Sort animations into property classes: + -- Animations with same properties have the same _equals value + for animation_name, animation in pairs(def.animations) do + animation.eye_height = animation.eye_height or def.eye_height + animation.collisionbox = animation.collisionbox or def.collisionbox + animation.override_local = animation.override_local or false + + for _, other_animation in pairs(def.animations) do + if other_animation._equals then + if collisionbox_equals(animation.collisionbox, other_animation.collisionbox) + and animation.eye_height == other_animation.eye_height then + animation._equals = other_animation._equals + break + end + end + end + animation._equals = animation._equals or animation_name + end end -- Player stats and animations -local player_model = {} -local player_textures = {} -local player_anim = {} -local player_sneak = {} +-- model, textures, animation +local players = {} player_api.player_attached = {} +local function get_player_data(player) + return assert(players[player:get_player_name()]) +end + function player_api.get_animation(player) - local name = player:get_player_name() - return { - model = player_model[name], - textures = player_textures[name], - animation = player_anim[name], - } + return get_player_data(player) end -- Called when a player's appearance needs to be updated function player_api.set_model(player, model_name) - local name = player:get_player_name() + local player_data = get_player_data(player) + if player_data.model == model_name then + return + end + player_data.model = model_name + local model = models[model_name] if model then - if player_model[name] == model_name then - return - end player:set_properties({ mesh = model_name, - textures = player_textures[name] or model.textures, + textures = player_data.textures or model.textures, visual = "mesh", - visual_size = model.visual_size or {x = 1, y = 1}, - collisionbox = model.collisionbox or {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, - stepheight = model.stepheight or 0.6, - eye_height = model.eye_height or 1.47, + visual_size = model.visual_size, + stepheight = model.stepheight }) + -- sets local_animation, collisionbox & eye_height player_api.set_animation(player, "stand") else player:set_properties({ textures = {"player.png", "player_back.png"}, visual = "upright_sprite", + visual_size = {x = 1, y = 2}, collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.75, 0.3}, stepheight = 0.6, eye_height = 1.625, }) end - player_model[name] = model_name +end + +function player_api.get_textures(player) + local player_data = get_player_data(player) + local model = models[player_data.model] + return assert(player_data.textures or (model and model.textures)) end function player_api.set_textures(player, textures) - local name = player:get_player_name() - local model = models[player_model[name]] - local model_textures = model and model.textures or nil - player_textures[name] = textures or model_textures - player:set_properties({textures = textures or model_textures,}) + local player_data = get_player_data(player) + local model = models[player_data.model] + local new_textures = assert(textures or (model and model.textures)) + player_data.textures = new_textures + player:set_properties({textures = new_textures}) +end + +function player_api.set_texture(player, index, texture) + local textures = table.copy(player_api.get_textures(player)) + textures[index] = texture + player_api.set_textures(player, textures) end function player_api.set_animation(player, anim_name, speed) - local name = player:get_player_name() - if player_anim[name] == anim_name then - return - end - local model = player_model[name] and models[player_model[name]] + local player_data = get_player_data(player) + local model = models[player_data.model] if not (model and model.animations[anim_name]) then return end + speed = speed or model.animation_speed + if player_data.animation == anim_name and player_data.animation_speed == speed then + return + end + local previous_anim = model.animations[player_data.animation] or {} local anim = model.animations[anim_name] - player_anim[name] = anim_name - player:set_animation(anim, speed or model.animation_speed, animation_blend) + player_data.animation = anim_name + player_data.animation_speed = speed + -- If necessary change the local animation (only seen by the client of *that* player) + -- `override_local` <=> suspend local animations while this one is active + -- (this is basically a hack, proper engine feature needed...) + if anim.override_local ~= previous_anim.override_local then + if anim.override_local then + local none = {x=0, y=0} + player:set_local_animation(none, none, none, none, 1) + else + local a = model.animations -- (not specific to the animation being set) + player:set_local_animation( + a.stand, a.walk, a.mine, a.walk_mine, + model.animation_speed or 30 + ) + end + end + -- Set the animation seen by everyone else + player:set_animation(anim, speed, animation_blend) + -- Update related properties if they changed + if anim._equals ~= previous_anim._equals then + player:set_properties({ + collisionbox = anim.collisionbox, + eye_height = anim.eye_height + }) + end end +minetest.register_on_joinplayer(function(player) + local name = player:get_player_name() + players[name] = {} + player_api.player_attached[name] = false +end) + minetest.register_on_leaveplayer(function(player) local name = player:get_player_name() - player_model[name] = nil - player_anim[name] = nil - player_textures[name] = nil + players[name] = nil + player_api.player_attached[name] = nil end) -- Localize for better performance. local player_set_animation = player_api.set_animation local player_attached = player_api.player_attached +-- Prevent knockback for attached players +local old_calculate_knockback = minetest.calculate_knockback +function minetest.calculate_knockback(player, ...) + if player_attached[player:get_player_name()] then + return 0 + end + return old_calculate_knockback(player, ...) +end + -- Check each player and apply animations -minetest.register_globalstep(function(dtime) +minetest.register_globalstep(function() for _, player in pairs(minetest.get_connected_players()) do local name = player:get_player_name() - local model_name = player_model[name] - local model = model_name and models[model_name] + local player_data = players[name] + local model = models[player_data.model] if model and not player_attached[name] then local controls = player:get_player_control() - local walking = false local animation_speed_mod = model.animation_speed or 30 - -- Determine if the player is walking - if controls.up or controls.down or controls.left or controls.right then - walking = true - end - -- Determine if the player is sneaking, and reduce animation speed if so if controls.sneak then animation_speed_mod = animation_speed_mod / 2 @@ -119,21 +195,29 @@ minetest.register_globalstep(function(dtime) -- Apply animations based on what the player is doing if player:get_hp() == 0 then player_set_animation(player, "lay") - elseif walking then - if player_sneak[name] ~= controls.sneak then - player_anim[name] = nil - player_sneak[name] = controls.sneak - end - if controls.LMB then + elseif controls.up or controls.down or controls.left or controls.right then + if controls.LMB or controls.RMB then player_set_animation(player, "walk_mine", animation_speed_mod) else player_set_animation(player, "walk", animation_speed_mod) end - elseif controls.LMB then - player_set_animation(player, "mine") + elseif controls.LMB or controls.RMB then + player_set_animation(player, "mine", animation_speed_mod) else player_set_animation(player, "stand", animation_speed_mod) end end end end) + +for _, api_function in pairs({"get_animation", "set_animation", "set_model", "set_textures"}) do + local original_function = player_api[api_function] + player_api[api_function] = function(player, ...) + if not players[player:get_player_name()] then + -- HACK for keeping backwards compatibility + minetest.log("warning", api_function .. " called on offline player") + return + end + original_function(player, ...) + end +end diff --git a/mods/player_api/init.lua b/mods/player_api/init.lua index 783ff7e2..f258aea7 100644 --- a/mods/player_api/init.lua +++ b/mods/player_api/init.lua @@ -1,19 +1,19 @@ --- player/init.lua - dofile(minetest.get_modpath("player_api") .. "/api.lua") -- Default player appearance player_api.register_model("character.b3d", { animation_speed = 30, - textures = {"character.png", }, + textures = {"character.png"}, animations = { -- Standard animations. stand = {x = 0, y = 79}, - lay = {x = 162, y = 166}, + lay = {x = 162, y = 166, eye_height = 0.3, override_local = true, + collisionbox = {-0.6, 0.0, -0.6, 0.6, 0.3, 0.6}}, walk = {x = 168, y = 187}, mine = {x = 189, y = 198}, walk_mine = {x = 200, y = 219}, - sit = {x = 81, y = 160}, + sit = {x = 81, y = 160, eye_height = 0.8, override_local = true, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.0, 0.3}} }, collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, stepheight = 0.6, @@ -22,15 +22,5 @@ player_api.register_model("character.b3d", { -- Update appearance when the player joins minetest.register_on_joinplayer(function(player) - player_api.player_attached[player:get_player_name()] = false player_api.set_model(player, "character.b3d") - player:set_local_animation( - {x = 0, y = 79}, - {x = 168, y = 187}, - {x = 189, y = 198}, - {x = 200, y = 219}, - 30 - ) - player:hud_set_hotbar_image("gui_hotbar.png") - player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") end) diff --git a/mods/player_api/license.txt b/mods/player_api/license.txt index 69bb2f8e..bdc43154 100644 --- a/mods/player_api/license.txt +++ b/mods/player_api/license.txt @@ -2,8 +2,8 @@ License of source code ---------------------- GNU Lesser General Public License, version 2.1 -Copyright (C) 2011-2018 celeron55, Perttu Ahola -Copyright (C) 2011-2018 Various Minetest developers and contributors +Copyright (C) 2011 celeron55, Perttu Ahola +Copyright (C) 2011 Various Minetest developers and contributors This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; @@ -19,10 +19,17 @@ Licenses of media (textures, models and sounds) ----------------------------------------------- Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2011-2018 celeron55, Perttu Ahola -Copyright (C) 2012-2018 Jordach +Copyright (C) 2011 celeron55, Perttu Ahola +Copyright (C) 2012 MirceaKitsune +Copyright (C) 2012 Jordach +Copyright (C) 2015 kilbith +Copyright (C) 2016 sofar +Copyright (C) 2016 xunto +Copyright (C) 2016 Rogier-5 +Copyright (C) 2017 TeTpaAka +Copyright (C) 2017 Desour Copyright (C) 2018 stujones11 -Copyright (C) 2018 paramat +Copyright (C) 2019 An0n3m0us You are free to: Share — copy and redistribute the material in any medium or format. @@ -51,34 +58,3 @@ rights may limit how you use the material. For more details: http://creativecommons.org/licenses/by-sa/3.0/ - ------------------------------------- - -Attribution 3.0 Unported (CC BY 3.0) -Copyright (C) 2014-2018 sonictechtonic - -You are free to: -Share — copy and redistribute the material in any medium or format. -Adapt — remix, transform, and build upon the material for any purpose, even commercially. -The licensor cannot revoke these freedoms as long as you follow the license terms. - -Under the following terms: - -Attribution — You must give appropriate credit, provide a link to the license, and -indicate if changes were made. You may do so in any reasonable manner, but not in any way -that suggests the licensor endorses you or your use. - -No additional restrictions — You may not apply legal terms or technological measures that -legally restrict others from doing anything the license permits. - -Notices: - -You do not have to comply with the license for elements of the material in the public -domain or where your use is permitted by an applicable exception or limitation. -No warranties are given. The license may not give you all of the permissions necessary -for your intended use. For example, other rights such as publicity, privacy, or moral -rights may limit how you use the material. - -For more details: -http://creativecommons.org/licenses/by/3.0/ - diff --git a/mods/player_api/mod.conf b/mods/player_api/mod.conf index 198b86dc..bf62327b 100644 --- a/mods/player_api/mod.conf +++ b/mods/player_api/mod.conf @@ -1,2 +1,2 @@ name = player_api -description = Minetest Game mod: player_api +description = Minetest Game mod: Manages player visuals diff --git a/mods/player_api/models/character.b3d b/mods/player_api/models/character.b3d index b3b772a4..3e0827e4 100644 Binary files a/mods/player_api/models/character.b3d and b/mods/player_api/models/character.b3d differ diff --git a/mods/player_api/models/character.blend b/mods/player_api/models/character.blend index 652579c1..a32c3438 100644 Binary files a/mods/player_api/models/character.blend and b/mods/player_api/models/character.blend differ diff --git a/mods/screwdriver/init.lua b/mods/screwdriver/init.lua index 82fbaab2..98548f0b 100644 --- a/mods/screwdriver/init.lua +++ b/mods/screwdriver/init.lua @@ -140,8 +140,7 @@ screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses) minetest.check_for_falling(pos) end - if not (creative and creative.is_enabled_for and - creative.is_enabled_for(player_name)) then + if not minetest.is_creative_enabled(player_name) then itemstack:add_wear(65535 / ((uses or 200) - 1)) end diff --git a/mods/screwdriver/locale/screwdriver.eo.tr b/mods/screwdriver/locale/screwdriver.eo.tr new file mode 100644 index 00000000..cf0976a5 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.eo.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Ŝraŭbturnilo +(left-click rotates face, right-click rotates axis)=(maldekstra-klako turnas supraĵo, dekstra-klako turnas akso) diff --git a/mods/screwdriver/locale/screwdriver.es.tr b/mods/screwdriver/locale/screwdriver.es.tr new file mode 100644 index 00000000..868ffc34 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.es.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Destornillador +(left-click rotates face, right-click rotates axis)=(clic-izquierdo gira la cara, clic-derecho rota el eje) diff --git a/mods/screwdriver/locale/screwdriver.fr.tr b/mods/screwdriver/locale/screwdriver.fr.tr new file mode 100644 index 00000000..fe34a9b6 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.fr.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Tournevis +(left-click rotates face, right-click rotates axis)=(clic gauche pour changer de face, clic droit pour changer d'axe) diff --git a/mods/screwdriver/locale/screwdriver.id.tr b/mods/screwdriver/locale/screwdriver.id.tr new file mode 100644 index 00000000..ec83c794 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.id.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Obeng +(left-click rotates face, right-click rotates axis)=(klik kiri putar sisi, klik kanan putar sumbu) diff --git a/mods/screwdriver/locale/screwdriver.it.tr b/mods/screwdriver/locale/screwdriver.it.tr new file mode 100644 index 00000000..ff44b89f --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.it.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Cacciavite +(left-click rotates face, right-click rotates axis)=(click sinistro ruota la faccia, click destro ruota l'asse) diff --git a/mods/screwdriver/locale/screwdriver.ja.tr b/mods/screwdriver/locale/screwdriver.ja.tr new file mode 100644 index 00000000..55690f25 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.ja.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=ドライバー +(left-click rotates face, right-click rotates axis)=(左クリックで面が回転。右クリックで軸が回転) diff --git a/mods/screwdriver/locale/screwdriver.jbo.tr b/mods/screwdriver/locale/screwdriver.jbo.tr new file mode 100644 index 00000000..1a85bb61 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.jbo.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=lo lupcartci +(left-click rotates face, right-click rotates axis)=.i tu'a le zulselpevysmacu cu rinka lo nu le sefta cu carna@n.i tu'a le prityselpevysmacu cu rinka lo nu le jendu cu carna diff --git a/mods/screwdriver/locale/screwdriver.ms.tr b/mods/screwdriver/locale/screwdriver.ms.tr new file mode 100644 index 00000000..f296fc52 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.ms.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Pemutar Skru +(left-click rotates face, right-click rotates axis)=(klik-kiri putar muka, klik-kanan putar paksi) diff --git a/mods/screwdriver/locale/screwdriver.pt_BR.tr b/mods/screwdriver/locale/screwdriver.pt_BR.tr new file mode 100644 index 00000000..3e89f40f --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.pt_BR.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Chave de fenda +(left-click rotates face, right-click rotates axis)=(Clique esquerdo rotaciona a face, clique direito rotaciona o eixo) diff --git a/mods/screwdriver/locale/screwdriver.ru.tr b/mods/screwdriver/locale/screwdriver.ru.tr new file mode 100644 index 00000000..bbab3305 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.ru.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Отвёртка +(left-click rotates face, right-click rotates axis)=(клик левой кнопкой мыши вращает грань, клик правой кнопкой мыши вращает ось) diff --git a/mods/screwdriver/locale/screwdriver.sk.tr b/mods/screwdriver/locale/screwdriver.sk.tr new file mode 100644 index 00000000..74cb4174 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.sk.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Skrutkovač +(left-click rotates face, right-click rotates axis)=(Ľavý klik otáča stranu, pravý klik otáča os) diff --git a/mods/screwdriver/locale/screwdriver.sv.tr b/mods/screwdriver/locale/screwdriver.sv.tr new file mode 100644 index 00000000..be440a76 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.sv.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Skruvmejsel +(left-click rotates face, right-click rotates axis)=(vänster-klick roterar ansikte, höger-klick roterar axeln) diff --git a/mods/screwdriver/locale/screwdriver.uk.tr b/mods/screwdriver/locale/screwdriver.uk.tr new file mode 100644 index 00000000..363e4c4c --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.uk.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Викрутка +(left-click rotates face, right-click rotates axis)=(клік лівою кнопкою миші повертає край, клік правою кнопкою миші - вісь) diff --git a/mods/screwdriver/locale/screwdriver.zh_CN.tr b/mods/screwdriver/locale/screwdriver.zh_CN.tr new file mode 100644 index 00000000..caddf798 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.zh_CN.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=螺丝刀 +(left-click rotates face, right-click rotates axis)=(左键单击旋转面,右键单击旋转轴) diff --git a/mods/screwdriver/locale/screwdriver.zh_TW.tr b/mods/screwdriver/locale/screwdriver.zh_TW.tr new file mode 100644 index 00000000..e638bfa0 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.zh_TW.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=螺絲刀 +(left-click rotates face, right-click rotates axis)=(左鍵單擊旋轉面,右鍵單擊旋轉軸) diff --git a/mods/sethome/init.lua b/mods/sethome/init.lua index bad7806d..9fc8e6ac 100644 --- a/mods/sethome/init.lua +++ b/mods/sethome/init.lua @@ -29,9 +29,13 @@ sethome.set = function(name, pos) if not player or not pos then return false end - player:set_attribute("sethome:home", minetest.pos_to_string(pos)) + local player_meta = player:get_meta() + player_meta:set_string("sethome:home", minetest.pos_to_string(pos)) -- remove `name` from the old storage file + if not homepos[name] then + return true + end local data = {} local output = io.open(homes_file, "w") if output then @@ -48,7 +52,8 @@ end sethome.get = function(name) local player = minetest.get_player_by_name(name) - local pos = minetest.string_to_pos(player:get_attribute("sethome:home")) + local player_meta = player:get_meta() + local pos = minetest.string_to_pos(player_meta:get_string("sethome:home")) if pos then return pos end diff --git a/mods/sethome/locale/sethome.eo.tr b/mods/sethome/locale/sethome.eo.tr new file mode 100644 index 00000000..c505064c --- /dev/null +++ b/mods/sethome/locale/sethome.eo.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Povas uzi /sethome kaj /home +Teleport you to your home point=Teletransportu vi al via hejmo +Teleported to home!=Teletransportis al hejmo! +Set a home using /sethome=Fiksi hejmon per /sethome +Set your home point=Fiksi vian hejman punkto +Home set!=Hejmo fiksis! +Player not found!=Ludanto ne estas trovebla! diff --git a/mods/sethome/locale/sethome.es.tr b/mods/sethome/locale/sethome.es.tr new file mode 100644 index 00000000..7c04ee3c --- /dev/null +++ b/mods/sethome/locale/sethome.es.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Puedes usar /sethome y /home +Teleport you to your home point=Teletranspórtate a tu hogar +Teleported to home!=¡Teletransportado a tu hogar! +Set a home using /sethome=Establece tu hogar usando /sethome +Set your home point=Establece el sitio de tu hogar +Home set!=¡Hogar establecido! +Player not found!=¡Jugador no encontrado! diff --git a/mods/sethome/locale/sethome.fr.tr b/mods/sethome/locale/sethome.fr.tr new file mode 100644 index 00000000..852621d6 --- /dev/null +++ b/mods/sethome/locale/sethome.fr.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Peut utiliser /sethome et /home +Teleport you to your home point=Vous téléporter à votre domicile +Teleported to home!=Téléporté à votre domicile ! +Set a home using /sethome=Définir un domicile en utilisant /sethome +Set your home point=Définir votre domicile +Home set!=Domicile défini ! +Player not found!=Joueur non trouvé ! diff --git a/mods/sethome/locale/sethome.id.tr b/mods/sethome/locale/sethome.id.tr new file mode 100644 index 00000000..1966978c --- /dev/null +++ b/mods/sethome/locale/sethome.id.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Boleh pakai /sethome dan /home +Teleport you to your home point=Teleportasi ke rumah Anda +Teleported to home!=Teleportasi ke rumah! +Set a home using /sethome=Atur letak rumah dengan /sethome +Set your home point=Atur letak rumah +Home set!=Letak rumah diatur! +Player not found!=Pemain tidak ditemukan! diff --git a/mods/sethome/locale/sethome.it.tr b/mods/sethome/locale/sethome.it.tr new file mode 100644 index 00000000..6bdf11ca --- /dev/null +++ b/mods/sethome/locale/sethome.it.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Può usare /sethome e /home +Teleport you to your home point=Ti teletrasporta al tuo punto di domicilio +Teleported to home!=Teletrasportato a casa! +Set a home using /sethome=Imposta un domicilio usando /sethome +Set your home point=Imposta il tuo punto di domicilio +Home set!=Domicilio impostato! +Player not found!=Giocatore non trovato! diff --git a/mods/sethome/locale/sethome.ja.tr b/mods/sethome/locale/sethome.ja.tr new file mode 100644 index 00000000..3d636b59 --- /dev/null +++ b/mods/sethome/locale/sethome.ja.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=/sethomeと/homeが使えます +Teleport you to your home point=ホーム地点にテレポートします +Teleported to home!=ホームにテレポート! +Set a home using /sethome=/sethomeを使ってホームを設定します +Set your home point=ホーム地点を設定します +Home set!=ホーム地点をセット! +Player not found!=プレーヤーが見つかりません! diff --git a/mods/sethome/locale/sethome.jbo.tr b/mods/sethome/locale/sethome.jbo.tr new file mode 100644 index 00000000..46279dd5 --- /dev/null +++ b/mods/sethome/locale/sethome.jbo.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Kann /sethome und /home benutzen +Teleport you to your home point=Teleportieren Sie sich zu Ihrem Zuhause-Punkt +Teleported to home!=Nach Hause teleportiert! +Set a home using /sethome=Ein Zuhause mit /sethome setzen +Set your home point=Ihren Zuhause-Punkt setzen +Home set!=Zuhause gesetzt! +Player not found!=Spieler nicht gefunden! diff --git a/mods/sethome/locale/sethome.ms.tr b/mods/sethome/locale/sethome.ms.tr new file mode 100644 index 00000000..7e9ec760 --- /dev/null +++ b/mods/sethome/locale/sethome.ms.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Boleh guna /sethome dan /home +Teleport you to your home point=Teleportasikan anda ke titik rumah anda +Teleported to home!=Diteleportasikan ke rumah! +Set a home using /sethome=Tetapkan rumah menggunakan /sethome +Set your home point=Tetapkan titik rumah anda +Home set!=Rumah ditetapkan! +Player not found!=Pemain tidak dijumpai! diff --git a/mods/sethome/locale/sethome.pt_BR.tr b/mods/sethome/locale/sethome.pt_BR.tr new file mode 100644 index 00000000..fe2c35c8 --- /dev/null +++ b/mods/sethome/locale/sethome.pt_BR.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Pode usar /sethome e /home +Teleport you to your home point=Teletransportá-lo para seu ponto de origem +Teleported to home!=Teletransportado para o ponto de origem! +Set a home using /sethome=Defina um ponto de origem usando /sethome +Set your home point=Define seu ponto de origem +Home set!=Ponto de origem definido! +Player not found!=Jogador não encontrado! diff --git a/mods/sethome/locale/sethome.ru.tr b/mods/sethome/locale/sethome.ru.tr new file mode 100644 index 00000000..67388245 --- /dev/null +++ b/mods/sethome/locale/sethome.ru.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Возможность использовать /sethome и /home +Teleport you to your home point=Вы телепортируетесь в свою домашнюю точку +Teleported to home!=Вы телепортировались домой! +Set a home using /sethome=Установите домашнюю точку, используя /sethome +Set your home point=Установите вашу домашнюю точку +Home set!=Домашняя точка установлена! +Player not found!=Игрок не обнаружен! diff --git a/mods/sethome/locale/sethome.sk.tr b/mods/sethome/locale/sethome.sk.tr new file mode 100644 index 00000000..be5233ef --- /dev/null +++ b/mods/sethome/locale/sethome.sk.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Môžeš použivať /sethome a /home +Teleport you to your home point=Teleportuj sa domov +Teleported to home!=Teleportovaný domov! +Set a home using /sethome=Nastav si domov použitím /sethome +Set your home point=Nastaviť si domov +Home set!=Domov nastavený! +Player not found!=Hráč nenájdený! diff --git a/mods/sethome/locale/sethome.sv.tr b/mods/sethome/locale/sethome.sv.tr new file mode 100644 index 00000000..60673ae5 --- /dev/null +++ b/mods/sethome/locale/sethome.sv.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Kan använda /sethome och /home +Teleport you to your home point=Teleportera dig till din hempunkt +Teleported to home!=Teleporterad hem! +Set a home using /sethome=Ställ in ett hem med /sethome +Set your home point=Ställ in din hempunkt +Home set!=Hem inställt! +Player not found!=Spelare finns inte! diff --git a/mods/sethome/locale/sethome.uk.tr b/mods/sethome/locale/sethome.uk.tr new file mode 100644 index 00000000..d8d4a8fc --- /dev/null +++ b/mods/sethome/locale/sethome.uk.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=Можливість використання /sethome та /home +Teleport you to your home point=Ви телепортуєтесь у свою домашню точку +Teleported to home!=Ви телепортувались додому! +Set a home using /sethome=Встановіть домашню точку, використовуючи /sethome +Set your home point=Встановіть домашню точку +Home set!=Домашня точка встановлена! +Player not found!=Гравець не визначений! diff --git a/mods/sethome/locale/sethome.zh_CN.tr b/mods/sethome/locale/sethome.zh_CN.tr new file mode 100644 index 00000000..0af54ce7 --- /dev/null +++ b/mods/sethome/locale/sethome.zh_CN.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=可以使用/sethome和/home +Teleport you to your home point=将您传送到家 +Teleported to home!=已传送到家! +Set a home using /sethome=使用/sethome设定家 +Set your home point=设定您家的地点 +Home set!=已设定家! +Player not found!=未找到玩家! diff --git a/mods/sethome/locale/sethome.zh_TW.tr b/mods/sethome/locale/sethome.zh_TW.tr new file mode 100644 index 00000000..43e14aaa --- /dev/null +++ b/mods/sethome/locale/sethome.zh_TW.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +Can use /sethome and /home=可以使用/sethome和/home +Teleport you to your home point=傳送您到您家的地點 +Teleported to home!=已傳送到家! +Set a home using /sethome=使用/sethome設定家 +Set your home point=設定您家的地點 +Home set!=已設定家! +Player not found!=未找到玩家! diff --git a/mods/sfinv/api.lua b/mods/sfinv/api.lua index 509cb904..1dbc44a9 100644 --- a/mods/sfinv/api.lua +++ b/mods/sfinv/api.lua @@ -37,21 +37,21 @@ function sfinv.get_nav_fs(player, context, nav, current_idx) end local theme_inv = [[ - image[0,4.7;1,1;gui_hb_bg.png] - image[1,4.7;1,1;gui_hb_bg.png] - image[2,4.7;1,1;gui_hb_bg.png] - image[3,4.7;1,1;gui_hb_bg.png] - image[4,4.7;1,1;gui_hb_bg.png] - image[5,4.7;1,1;gui_hb_bg.png] - image[6,4.7;1,1;gui_hb_bg.png] - image[7,4.7;1,1;gui_hb_bg.png] - list[current_player;main;0,4.7;8,1;] - list[current_player;main;0,5.85;8,3;8] + image[0,5.2;1,1;gui_hb_bg.png] + image[1,5.2;1,1;gui_hb_bg.png] + image[2,5.2;1,1;gui_hb_bg.png] + image[3,5.2;1,1;gui_hb_bg.png] + image[4,5.2;1,1;gui_hb_bg.png] + image[5,5.2;1,1;gui_hb_bg.png] + image[6,5.2;1,1;gui_hb_bg.png] + image[7,5.2;1,1;gui_hb_bg.png] + list[current_player;main;0,5.2;8,1;] + list[current_player;main;0,6.35;8,3;8] ]] function sfinv.make_formspec(player, context, content, show_inv, size) local tmp = { - size or "size[8,8.6]", + size or "size[8,9.1]", sfinv.get_nav_fs(player, context, context.nav_titles, context.nav_idx), show_inv and theme_inv or "", content diff --git a/mods/sfinv/locale/sfinv.de.tr b/mods/sfinv/locale/sfinv.de.tr index 1ba6acbf..044e9ba9 100644 --- a/mods/sfinv/locale/sfinv.de.tr +++ b/mods/sfinv/locale/sfinv.de.tr @@ -1,2 +1,2 @@ -# textdomain:sfinv +# textdomain: sfinv Crafting=Fertigung diff --git a/mods/sfinv/locale/sfinv.eo.tr b/mods/sfinv/locale/sfinv.eo.tr new file mode 100644 index 00000000..1fac1adc --- /dev/null +++ b/mods/sfinv/locale/sfinv.eo.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Konstruado diff --git a/mods/sfinv/locale/sfinv.es.tr b/mods/sfinv/locale/sfinv.es.tr new file mode 100644 index 00000000..d3d66091 --- /dev/null +++ b/mods/sfinv/locale/sfinv.es.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Creación diff --git a/mods/sfinv/locale/sfinv.fr.tr b/mods/sfinv/locale/sfinv.fr.tr new file mode 100644 index 00000000..58ead969 --- /dev/null +++ b/mods/sfinv/locale/sfinv.fr.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Artisanat diff --git a/mods/sfinv/locale/sfinv.id.tr b/mods/sfinv/locale/sfinv.id.tr new file mode 100644 index 00000000..643196e1 --- /dev/null +++ b/mods/sfinv/locale/sfinv.id.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Kerajinan diff --git a/mods/sfinv/locale/sfinv.it.tr b/mods/sfinv/locale/sfinv.it.tr new file mode 100644 index 00000000..e449b752 --- /dev/null +++ b/mods/sfinv/locale/sfinv.it.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Assemblaggio diff --git a/mods/sfinv/locale/sfinv.ja.tr b/mods/sfinv/locale/sfinv.ja.tr new file mode 100644 index 00000000..04122d72 --- /dev/null +++ b/mods/sfinv/locale/sfinv.ja.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=クラフト diff --git a/mods/sfinv/locale/sfinv.jbo.tr b/mods/sfinv/locale/sfinv.jbo.tr new file mode 100644 index 00000000..0ff0328e --- /dev/null +++ b/mods/sfinv/locale/sfinv.jbo.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=nu zbasu diff --git a/mods/sfinv/locale/sfinv.ms.tr b/mods/sfinv/locale/sfinv.ms.tr new file mode 100644 index 00000000..f62ba8ab --- /dev/null +++ b/mods/sfinv/locale/sfinv.ms.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Pertukangan diff --git a/mods/sfinv/locale/sfinv.pt_BR.tr b/mods/sfinv/locale/sfinv.pt_BR.tr new file mode 100644 index 00000000..f9e57ae7 --- /dev/null +++ b/mods/sfinv/locale/sfinv.pt_BR.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Construir diff --git a/mods/sfinv/locale/sfinv.ru.tr b/mods/sfinv/locale/sfinv.ru.tr new file mode 100644 index 00000000..d7c11b2f --- /dev/null +++ b/mods/sfinv/locale/sfinv.ru.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Крафтинг diff --git a/mods/sfinv/locale/sfinv.sk.tr b/mods/sfinv/locale/sfinv.sk.tr new file mode 100644 index 00000000..18566f13 --- /dev/null +++ b/mods/sfinv/locale/sfinv.sk.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Vytváranie diff --git a/mods/sfinv/locale/sfinv.sv.tr b/mods/sfinv/locale/sfinv.sv.tr new file mode 100644 index 00000000..df426b66 --- /dev/null +++ b/mods/sfinv/locale/sfinv.sv.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Tillverkning diff --git a/mods/sfinv/locale/sfinv.uk.tr b/mods/sfinv/locale/sfinv.uk.tr new file mode 100644 index 00000000..d7c11b2f --- /dev/null +++ b/mods/sfinv/locale/sfinv.uk.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Крафтинг diff --git a/mods/sfinv/locale/sfinv.zh_CN.tr b/mods/sfinv/locale/sfinv.zh_CN.tr new file mode 100644 index 00000000..3ec3c729 --- /dev/null +++ b/mods/sfinv/locale/sfinv.zh_CN.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=合成 diff --git a/mods/sfinv/locale/sfinv.zh_TW.tr b/mods/sfinv/locale/sfinv.zh_TW.tr new file mode 100644 index 00000000..3ec3c729 --- /dev/null +++ b/mods/sfinv/locale/sfinv.zh_TW.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=合成 diff --git a/mods/sfinv/locale/template.txt b/mods/sfinv/locale/template.txt index 913ba9fc..ace55196 100644 --- a/mods/sfinv/locale/template.txt +++ b/mods/sfinv/locale/template.txt @@ -1,2 +1,2 @@ -# textdomain:sfinv +# textdomain: sfinv Crafting= diff --git a/mods/sfinv/textures/sfinv_crafting_arrow.png b/mods/sfinv/textures/sfinv_crafting_arrow.png index df1bbdb4..42bba581 100644 Binary files a/mods/sfinv/textures/sfinv_crafting_arrow.png and b/mods/sfinv/textures/sfinv_crafting_arrow.png differ diff --git a/mods/spawn/init.lua b/mods/spawn/init.lua index 0e1261e6..12c957f9 100644 --- a/mods/spawn/init.lua +++ b/mods/spawn/init.lua @@ -135,6 +135,7 @@ local function on_spawn(player) if success then player:set_pos(spawn_pos) end + return success end minetest.register_on_newplayer(function(player) @@ -153,7 +154,5 @@ minetest.register_on_respawnplayer(function(player) return end - on_spawn(player) - - return true + return on_spawn(player) end) diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua index e2984f66..4ba854fa 100644 --- a/mods/stairs/init.lua +++ b/mods/stairs/init.lua @@ -10,6 +10,8 @@ stairs = {} -- Load support for MT game translation. local S = minetest.get_translator("stairs") +-- Same as S, but will be ignored by translation file update scripts +local T = S -- Register aliases for new pine node names @@ -55,12 +57,25 @@ local function warn_if_exists(nodename) end end +-- get node settings to use for stairs +local function get_node_vars(nodename) + + local def = minetest.registered_nodes[nodename] + + if def then + return def.light_source, def.use_texture_alpha, def.sunlight_propagates + end + + return nil, nil, nil +end -- Register stair -- Node will be called stairs:stair_ function stairs.register_stair(subname, recipeitem, groups, images, description, sounds, worldaligntex) + local light_source, texture_alpha, sunlight = get_node_vars(recipeitem) + -- Set backface culling and world-aligned textures local stair_images = {} for i, image in ipairs(images) do @@ -89,6 +104,9 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, description = description, drawtype = "nodebox", tiles = stair_images, + use_texture_alpha = texture_alpha, + sunlight_propagates = sunlight, + light_source = light_source, paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -160,6 +178,8 @@ end function stairs.register_slab(subname, recipeitem, groups, images, description, sounds, worldaligntex) + local light_source, texture_alpha, sunlight = get_node_vars(recipeitem) + -- Set world-aligned textures local slab_images = {} for i, image in ipairs(images) do @@ -184,6 +204,9 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, description = description, drawtype = "nodebox", tiles = slab_images, + use_texture_alpha = texture_alpha, + sunlight_propagates = sunlight, + light_source = light_source, paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -197,8 +220,6 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, local under = minetest.get_node(pointed_thing.under) local wield_item = itemstack:get_name() local player_name = placer and placer:get_player_name() or "" - local creative_enabled = (creative and creative.is_enabled_for - and creative.is_enabled_for(player_name)) if under and under.name:find("^stairs:slab_") then -- place slab using under node orientation @@ -217,7 +238,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, -- else attempt to place node with proper param2 minetest.item_place_node(ItemStack(wield_item), placer, pointed_thing, p2) - if not creative_enabled then + if not minetest.is_creative_enabled(player_name) then itemstack:take_item() end return itemstack @@ -297,6 +318,8 @@ end function stairs.register_stair_inner(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description) + local light_source, texture_alpha, sunlight = get_node_vars(recipeitem) + -- Set backface culling and world-aligned textures local stair_images = {} for i, image in ipairs(images) do @@ -330,6 +353,9 @@ function stairs.register_stair_inner(subname, recipeitem, groups, images, description = description, drawtype = "nodebox", tiles = stair_images, + use_texture_alpha = texture_alpha, + sunlight_propagates = sunlight, + light_source = light_source, paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -384,6 +410,8 @@ end function stairs.register_stair_outer(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description) + local light_source, texture_alpha, sunlight = get_node_vars(recipeitem) + -- Set backface culling and world-aligned textures local stair_images = {} for i, image in ipairs(images) do @@ -417,6 +445,9 @@ function stairs.register_stair_outer(subname, recipeitem, groups, images, description = description, drawtype = "nodebox", tiles = stair_images, + use_texture_alpha = texture_alpha, + sunlight_propagates = sunlight, + light_source = light_source, paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -468,13 +499,14 @@ end -- Nodes will be called stairs:{stair,slab}_ function stairs.register_stair_and_slab(subname, recipeitem, groups, images, - desc_stair, desc_slab, sounds, worldaligntex) + desc_stair, desc_slab, sounds, worldaligntex, + desc_stair_inner, desc_stair_outer) stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds, worldaligntex) - stairs.register_stair_inner(subname, recipeitem, groups, images, desc_stair, - sounds, worldaligntex) - stairs.register_stair_outer(subname, recipeitem, groups, images, desc_stair, - sounds, worldaligntex) + stairs.register_stair_inner(subname, recipeitem, groups, images, + desc_stair, sounds, worldaligntex, desc_stair_inner) + stairs.register_stair_outer(subname, recipeitem, groups, images, + desc_stair, sounds, worldaligntex, desc_stair_outer) stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds, worldaligntex) end @@ -485,9 +517,9 @@ local function my_register_stair_and_slab(subname, recipeitem, groups, images, stairs.register_stair(subname, recipeitem, groups, images, S(desc_stair), sounds, worldaligntex) stairs.register_stair_inner(subname, recipeitem, groups, images, "", - sounds, worldaligntex, S("Inner " .. desc_stair)) + sounds, worldaligntex, T("Inner " .. desc_stair)) stairs.register_stair_outer(subname, recipeitem, groups, images, "", - sounds, worldaligntex, S("Outer " .. desc_stair)) + sounds, worldaligntex, T("Outer " .. desc_stair)) stairs.register_slab(subname, recipeitem, groups, images, S(desc_slab), sounds, worldaligntex) end @@ -854,7 +886,7 @@ my_register_stair_and_slab( {"default_ice.png"}, "Ice Stair", "Ice Slab", - default.node_sound_glass_defaults(), + default.node_sound_ice_defaults(), true ) @@ -874,7 +906,7 @@ my_register_stair_and_slab( stairs.register_stair( "glass", "default:glass", - {cracky = 3}, + {cracky = 3, oddly_breakable_by_hand = 3}, {"stairs_glass_split.png", "default_glass.png", "stairs_glass_stairside.png^[transformFX", "stairs_glass_stairside.png", "default_glass.png", "stairs_glass_split.png"}, @@ -886,7 +918,7 @@ stairs.register_stair( stairs.register_slab( "glass", "default:glass", - {cracky = 3}, + {cracky = 3, oddly_breakable_by_hand = 3}, {"default_glass.png", "default_glass.png", "stairs_glass_split.png"}, S("Glass Slab"), default.node_sound_glass_defaults(), @@ -896,7 +928,7 @@ stairs.register_slab( stairs.register_stair_inner( "glass", "default:glass", - {cracky = 3}, + {cracky = 3, oddly_breakable_by_hand = 3}, {"stairs_glass_stairside.png^[transformR270", "default_glass.png", "stairs_glass_stairside.png^[transformFX", "default_glass.png", "default_glass.png", "stairs_glass_stairside.png"}, @@ -909,7 +941,7 @@ stairs.register_stair_inner( stairs.register_stair_outer( "glass", "default:glass", - {cracky = 3}, + {cracky = 3, oddly_breakable_by_hand = 3}, {"stairs_glass_stairside.png^[transformR90", "default_glass.png", "stairs_glass_outer_stairside.png", "stairs_glass_stairside.png", "stairs_glass_stairside.png^[transformR90","stairs_glass_outer_stairside.png"}, diff --git a/mods/stairs/locale/stairs.de.tr b/mods/stairs/locale/stairs.de.tr index 41c055b5..beb45798 100644 --- a/mods/stairs/locale/stairs.de.tr +++ b/mods/stairs/locale/stairs.de.tr @@ -35,10 +35,10 @@ Cobblestone Stair=Kopfsteinpflastertreppe Inner Cobblestone Stair=Innere Kopfsteinpflastertreppe Outer Cobblestone Stair=Äußere Kopfsteinpflastertreppe Cobblestone Slab=Kopfsteinpflasterplatte -Mossy Cobblestone Stair=Mosige Kopfsteinpflastertreppe -Inner Mossy Cobblestone Stair=Innere mosige Kopfsteinpflastertreppe -Outer Mossy Cobblestone Stair=Äußere mosige Kopfsteinpflastertreppe -Mossy Cobblestone Slab=Mosige Kopfsteinpflasterplatte +Mossy Cobblestone Stair=Moosige Kopfsteinpflastertreppe +Inner Mossy Cobblestone Stair=Innere moosige Kopfsteinpflastertreppe +Outer Mossy Cobblestone Stair=Äußere moosige Kopfsteinpflastertreppe +Mossy Cobblestone Slab=Moosige Kopfsteinpflasterplatte Stone Brick Stair=Steinziegeltreppe Inner Stone Brick Stair=Innere Steinziegeltreppe Outer Stone Brick Stair=Äußere Steinziegeltreppe diff --git a/mods/stairs/locale/stairs.eo.tr b/mods/stairs/locale/stairs.eo.tr new file mode 100644 index 00000000..3609d8de --- /dev/null +++ b/mods/stairs/locale/stairs.eo.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Vitra Ŝtupo +Glass Slab=Vitra Plato +Inner Glass Stair=Interna Vitra Ŝtupo +Outer Glass Stair=Ekstera Vitra Ŝtupo +Obsidian Glass Stair=Obsidiana Vitra Ŝtupo +Obsidian Glass Slab=Obsidiana Vitra Plato +Inner Obsidian Glass Stair=Interna Obsidiana Vitra Ŝtupo +Outer Obsidian Glass Stair=Ekstera Obsidiana Vitra Ŝtupo +Wooden Stair=Ligna Ŝtupo +Inner Wooden Stair=Interna Ligna Ŝtupo +Outer Wooden Stair=Ekstera Ligna Ŝtupo +Wooden Slab=Ligna Plato +Jungle Wood Stair=Ĝangala Ligna Ŝtupo +Inner Jungle Wood Stair=Interna Ĝangala Ligna Ŝtupo +Outer Jungle Wood Stair=Ekstera Ĝangala Ligna Ŝtupo +Jungle Wood Slab=Ĝangala Ligna Plato +Pine Wood Stair=Pina Ligna Ŝtupo +Inner Pine Wood Stair=Interna Pina Ligna Ŝtupo +Outer Pine Wood Stair=Ekstera Pina Ligna Ŝtupo +Pine Wood Slab=Pina Ligna Plato +Acacia Wood Stair=Akacia Ligna Ŝtupo +Inner Acacia Wood Stair=Interna Akacia Ligna Ŝtupo +Outer Acacia Wood Stair=Ekstera Akacia Ligna Ŝtupo +Acacia Wood Slab=Akacia Ligna Plato +Aspen Wood Stair=Tremola Ligna Ŝtupo +Inner Aspen Wood Stair=Interna Tremola Ligna Ŝtupo +Outer Aspen Wood Stair=Ekstera Tremola Ligna Ŝtupo +Aspen Wood Slab=Tremola Ligna Plato +Stone Stair=Ŝtona Ŝtupo +Inner Stone Stair=Interna Ŝtona Ŝtupo +Outer Stone Stair=Ekstera Ŝtona Ŝtupo +Stone Slab=Ŝtona Plato +Cobblestone Stair=Pavimŝtona Ŝtupo +Inner Cobblestone Stair=Interna Pavimŝtona Ŝtupo +Outer Cobblestone Stair=Ekstera Pavimŝtona Ŝtupo +Cobblestone Slab=Pavimŝtona Plato +Mossy Cobblestone Stair=Muska Pavimŝtona Ŝtupo +Inner Mossy Cobblestone Stair=Interna Muska Pavimŝtona Ŝtupo +Outer Mossy Cobblestone Stair=Ekstera Muska Pavimŝtona Ŝtupo +Mossy Cobblestone Slab=Muska Pavimŝtona Plato +Stone Brick Stair=Ŝtona Brika Ŝtupo +Inner Stone Brick Stair=Interna Ŝtona Brika Ŝtupo +Outer Stone Brick Stair=Ekstera Ŝtona Brika Ŝtupo +Stone Brick Slab=Ŝtona Brika Plato +Stone Block Stair=Ŝtona Ŝtipa Ŝtupo +Inner Stone Block Stair=Interna Ŝtona Ŝtipa Ŝtupo +Outer Stone Block Stair=Ekstera Ŝtona Ŝtipa Ŝtupo +Stone Block Slab=Ŝtona Ŝtipa Plato +Desert Stone Stair=Dezerta Ŝtona Ŝtupo +Inner Desert Stone Stair=Interna Dezerta Ŝtona Ŝtupo +Outer Desert Stone Stair=Ekstera Dezerta Ŝtona Ŝtupo +Desert Stone Slab=Dezerta Ŝtona Plato +Desert Cobblestone Stair=Dezerta Pavimŝtona Ŝtupo +Inner Desert Cobblestone Stair=Interna Dezerta Pavimŝtona Ŝtupo +Outer Desert Cobblestone Stair=Ekstera Dezerta Pavimŝtona Ŝtupo +Desert Cobblestone Slab=Dezerta Pavimŝtona Plato +Desert Stone Brick Stair=Dezerta Ŝtona Brika Ŝtupo +Inner Desert Stone Brick Stair=Interna Dezerta Ŝtona Brika Ŝtupo +Outer Desert Stone Brick Stair=Ekstera Dezerta Ŝtona Brika Ŝtupo +Desert Stone Brick Slab=Dezerta Ŝtona Brika Plato +Desert Stone Block Stair=Dezerta Ŝtona Ŝtipo Ŝtupo +Inner Desert Stone Block Stair=Interna Dezerta Ŝtona Ŝtipo Stupo +Outer Desert Stone Block Stair=Ekstera Dezerta Ŝtona Ŝtipo Ŝtupo +Desert Stone Block Slab=Dezerta Ŝtona Ŝtipo Plato +Sandstone Stair=Sablŝtona Ŝtupo +Inner Sandstone Stair=Interna Ŝablŝtona Ŝtupo +Outer Sandstone Stair=Ekstera Ŝablŝtona Ŝtupo +Sandstone Slab=Ŝablŝtona Plato +Sandstone Brick Stair=Ŝablŝtona Brika Ŝtupo +Inner Sandstone Brick Stair=Interna Ŝablŝtona Brika Ŝtupo +Outer Sandstone Brick Stair=Ekstera Ŝablŝtona Brika Ŝtupo +Sandstone Brick Slab=Ŝablŝtona Brika Plato +Sandstone Block Stair=Ŝablŝtona Ŝtipa Ŝtupo +Inner Sandstone Block Stair=Interna Ŝablŝtona Ŝtipa Ŝtupo +Outer Sandstone Block Stair=Ekstera Ŝablŝtona Ŝtipa Ŝtupo +Sandstone Block Slab=Ŝablŝtona Ŝtipa Plato +Desert Sandstone Stair=Dezerta Ŝablŝtona Ŝtupo +Inner Desert Sandstone Stair=Interna Dezerta Ŝablŝtona Ŝtupo +Outer Desert Sandstone Stair=Ekstera Dezerta Ŝablŝtona Ŝtupo +Desert Sandstone Slab=Dezerta Ŝablŝtona Plato +Desert Sandstone Brick Stair=Dezerta Ŝablŝtona Brika Ŝtupo +Inner Desert Sandstone Brick Stair=Interna Dezerta Ŝablŝtona Brika Ŝtupo +Outer Desert Sandstone Brick Stair=Ekstera Dezerta Ŝablŝtona Brika Ŝtupo +Desert Sandstone Brick Slab=Dezerta Ŝablŝtona Brika Plato +Desert Sandstone Block Stair=Dezerta Ŝablŝtona Ŝtipa Ŝtupo +Inner Desert Sandstone Block Stair=Interna Dezerta Ŝablŝtona Brika Ŝtupo +Outer Desert Sandstone Block Stair=Ekstera Dezerta Ŝablŝtona Brika Ŝtupo +Desert Sandstone Block Slab=Dezerta Ŝablŝtona Ŝtipa Plato +Silver Sandstone Stair=Arĝenta Ŝablŝtona Ŝtupo +Inner Silver Sandstone Stair=Interna Arĝenta Ŝablŝtona Ŝtupo +Outer Silver Sandstone Stair=Ekstera Arĝenta Ŝablŝtona Ŝtupo +Silver Sandstone Slab=Arĝenta Ŝablŝtona Plato +Silver Sandstone Brick Stair=Arĝenta Ŝablŝtona Brika Ŝtupo +Inner Silver Sandstone Brick Stair=Interna Arĝenta Ŝablŝtona Brika Ŝtupo +Outer Silver Sandstone Brick Stair=Ekstera Arĝenta Ŝablŝtona Brika Ŝtupo +Silver Sandstone Brick Slab=Arĝenta Ŝablŝtona Brika Plato +Silver Sandstone Block Stair=Arĝenta Ŝablŝtona Ŝtipa Ŝtupo +Inner Silver Sandstone Block Stair=Interna Arĝenta Ŝablŝtona Ŝtipa Ŝtupo +Outer Silver Sandstone Block Stair=Ekstera Arĝenta Ŝablŝtona Ŝtipa Ŝtupo +Silver Sandstone Block Slab=Arĝenta Ŝablŝtona Ŝtipa Plato +Obsidian Stair=Obsidiana Ŝtupo +Inner Obsidian Stair=Interna Obsidiana Ŝtupo +Outer Obsidian Stair=Ekstera Obsidiana Ŝtupo +Obsidian Slab=Obsidiana Plato +Obsidian Brick Stair=Obsidiana Brika Ŝtupo +Inner Obsidian Brick Stair=Interna Obsidiana Brika Ŝtupo +Outer Obsidian Brick Stair=Ekstera Obsidiana Brika Ŝtupo +Obsidian Brick Slab=Obsidiana Brika Plato +Obsidian Block Stair=Obsidiana Ŝtipa Ŝtupo +Inner Obsidian Block Stair=Interna Obsidiana Ŝtipa Ŝtupo +Outer Obsidian Block Stair=Ekstera Obsidiana Ŝtipa Ŝtupo +Obsidian Block Slab=Obsidiana Ŝtipa Plato +Brick Stair=Brika Ŝtupo +Inner Brick Stair=Interna Brika Ŝtupo +Outer Brick Stair=Ekstera Brika Ŝtupo +Brick Slab=Brika Plato +Steel Block Stair=Ŝtala Ŝtipa Ŝtupo +Inner Steel Block Stair=Interna Ŝtala Ŝtipa Ŝtupo +Outer Steel Block Stair=Ekstera Ŝtala Ŝtipa Ŝtupo +Steel Block Slab=Ŝtala Ŝtipa Plato +Tin Block Stair=Stana Ŝtipa Ŝtupo +Inner Tin Block Stair=Interna Stana Ŝtipa Ŝtupo +Outer Tin Block Stair=Ekstera Stana Ŝtipa Ŝtupo +Tin Block Slab=Stana Ŝtipa Plato +Copper Block Stair=Kupra Ŝtipa Ŝtupo +Inner Copper Block Stair=Interna Kupra Ŝtipa Ŝtupo +Outer Copper Block Stair=Ekstera Kupra Ŝtipa Ŝtupo +Copper Block Slab=Kupra Ŝtipa Plato +Bronze Block Stair=Bronza Ŝtipa Ŝtupo +Inner Bronze Block Stair=Interna Bronza Ŝtipa Ŝtupo +Outer Bronze Block Stair=Ekstera Bronza Ŝtipa Ŝtupo +Bronze Block Slab=Bronza Ŝtipa Plato +Gold Block Stair=Ora Ŝtipa Ŝtupo +Inner Gold Block Stair=Interna Ora Ŝtipa Ŝtupo +Outer Gold Block Stair=Ekstera Ora Ŝtipa Ŝtupo +Gold Block Slab=Ora Ŝtipa Plato +Ice Stair=Glacia Ŝtupo +Inner Ice Stair=Interna Glacia Ŝtupo +Outer Ice Stair=Ekstera Glacia Ŝtupo +Ice Slab=Glacia Plato +Snow Block Stair=Neĝa Ŝtipa Ŝtupo +Inner Snow Block Stair=Interna Neĝa Ŝtipa Ŝtupo +Outer Snow Block Stair=Ekstera Neĝa Ŝtipa Ŝtupo +Snow Block Slab=Neĝa Ŝtipa Plato diff --git a/mods/stairs/locale/stairs.es.tr b/mods/stairs/locale/stairs.es.tr new file mode 100644 index 00000000..374540c7 --- /dev/null +++ b/mods/stairs/locale/stairs.es.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Escalera de vidrio +Glass Slab=Losa de vidrio +Inner Glass Stair=Escalera interior de vidrio +Outer Glass Stair=Escalera exterior de vidrio +Obsidian Glass Stair=Escalera de vidrio de obsidiana +Obsidian Glass Slab=Losa de vidrio de obsidiana +Inner Obsidian Glass Stair=Escalera interior de vidrio de obsidiana +Outer Obsidian Glass Stair=Escalera exterior de vidrio de obsidiana +Wooden Stair=Escalera de madera +Inner Wooden Stair=Escalera interior de madera +Outer Wooden Stair=Escalera exterior de madera +Wooden Slab=Losa de madera +Jungle Wood Stair=Escalera de madera tropical +Inner Jungle Wood Stair=Escalera interior de madera tropical +Outer Jungle Wood Stair=Escalera exterior de madera tropical +Jungle Wood Slab=Losa de madera tropical +Pine Wood Stair=Escalera de pino +Inner Pine Wood Stair=Escalera interior de pino +Outer Pine Wood Stair=Escalera exterior de pino +Pine Wood Slab=Losa de pino +Acacia Wood Stair=Escalera de acacia +Inner Acacia Wood Stair=Escalera interior de acacia +Outer Acacia Wood Stair=Escalera exterior de acacia +Acacia Wood Slab=Losa de acacia +Aspen Wood Stair=Escalera de álamo +Inner Aspen Wood Stair=Escalera interior de álamo +Outer Aspen Wood Stair=Escalera exterior de álamo +Aspen Wood Slab=Losa de álamo +Stone Stair=Escalera de piedra +Inner Stone Stair=Escalera interior de piedra +Outer Stone Stair=Escalera exterior de piedra +Stone Slab=Losa de piedra +Cobblestone Stair=Escalera de adoquines +Inner Cobblestone Stair=Escalera interior de adoquines +Outer Cobblestone Stair=Escalera exterior de adoquines +Cobblestone Slab=Losa de adoquines +Mossy Cobblestone Stair=Escalera de adoquines musgosos +Inner Mossy Cobblestone Stair=Escalera interior de adoquines musgosos +Outer Mossy Cobblestone Stair=Escalera exterior de adoquines musgosos +Mossy Cobblestone Slab=Losa de adoquines musgosos +Stone Brick Stair=Escalera de ladrillos de piedra +Inner Stone Brick Stair=Escalera interior de ladrillos de piedra +Outer Stone Brick Stair=Escalera exterior de ladrillos de piedra +Stone Brick Slab=Losa de ladrillos de piedra +Stone Block Stair=Escalera de bloques de piedra +Inner Stone Block Stair=Escalera interior de bloques de piedra +Outer Stone Block Stair=Escalera exterior de bloques de piedra +Stone Block Slab=Losa de bloques de piedra +Desert Stone Stair=Escalera de piedra desértica +Inner Desert Stone Stair=Escalera interior de piedra desértica +Outer Desert Stone Stair=Escalera exterior de piedra desértica +Desert Stone Slab=Losa de piedra desértica +Desert Cobblestone Stair=Escalera de adoquines desérticos +Inner Desert Cobblestone Stair=Escalera interior de adoquines desérticos +Outer Desert Cobblestone Stair=Escalera exterior de adoquines desérticos +Desert Cobblestone Slab=Losa de adoquines desérticos +Desert Stone Brick Stair=Escalera de ladrillos desérticos +Inner Desert Stone Brick Stair=Escalera interior de ladrillos desérticos +Outer Desert Stone Brick Stair=Escalera exterior de ladrillos desérticos +Desert Stone Brick Slab=Losa de ladrillos desérticos +Desert Stone Block Stair=Escalera de bloques de piedra desértica +Inner Desert Stone Block Stair=Escalera interior de bloques de piedra desértica +Outer Desert Stone Block Stair=Escalera exterior de bloques de piedra desértica +Desert Stone Block Slab=Losa de bloques de piedra desértica +Sandstone Stair=Escalera de arenisca +Inner Sandstone Stair=Escalera interior de arenisca +Outer Sandstone Stair=Escalera exterior de arenisca +Sandstone Slab=Losa de arenisca +Sandstone Brick Stair=Escalera de ladrillos de arenisca +Inner Sandstone Brick Stair=Escalera interior de ladrillos de arenisca +Outer Sandstone Brick Stair=Escalera exterior de ladrillos de arenisca +Sandstone Brick Slab=Losa de ladrillos de arenisca +Sandstone Block Stair=Escalera de bloques de arenisca +Inner Sandstone Block Stair=Escalera interior de bloques de arenisca +Outer Sandstone Block Stair=Escalera exterior de bloques de arenisca +Sandstone Block Slab=Losa de bloques de arenisca +Desert Sandstone Stair=Escalera de arenisca desértica +Inner Desert Sandstone Stair=Escalera interior de arenisca desértica +Outer Desert Sandstone Stair=Escalera exterior de arenisca desértica +Desert Sandstone Slab=Losa de arenisca desértica +Desert Sandstone Brick Stair=Escalera de ladrillos de arenisca desértica +Inner Desert Sandstone Brick Stair=Escalera interior de ladrillos de arenisca desértica +Outer Desert Sandstone Brick Stair=Escalera exterior de ladrillos de arenisca desértica +Desert Sandstone Brick Slab=Losa de ladrillos de arenisca desértica +Desert Sandstone Block Stair=Escalera de bloques de arenisca desértica +Inner Desert Sandstone Block Stair=Escalera interior de bloques de arenisca desértica +Outer Desert Sandstone Block Stair=Escalera exterior de bloques de arenisca desértica +Desert Sandstone Block Slab=Losa de bloques de arenisca desértica +Silver Sandstone Stair=Escalera de arenisca plateada +Inner Silver Sandstone Stair=Escalera interior de arenisca plateada +Outer Silver Sandstone Stair=Escalera exterior de arenisca plateada +Silver Sandstone Slab=Losa de arenisca plateada +Silver Sandstone Brick Stair=Escalera de ladrillos de arenisca plateada +Inner Silver Sandstone Brick Stair=Escalera interior de ladrillos de arenisca plateada +Outer Silver Sandstone Brick Stair=Escalera exterior de ladrillos de arenisca plateada +Silver Sandstone Brick Slab=Losa de ladrillos de arenisca plateada +Silver Sandstone Block Stair=Escalera de bloques de arenisca plateada +Inner Silver Sandstone Block Stair=Escalera interior de bloques de arenisca plateada +Outer Silver Sandstone Block Stair=Escalera exterior de bloques de arenisca plateada +Silver Sandstone Block Slab=Losa de bloques de arenisca plateada +Obsidian Stair=Escalera de obsidiana +Inner Obsidian Stair=Escalera interior de obsidiana +Outer Obsidian Stair=Escalera exterior de obsidiana +Obsidian Slab=Losa de obsidiana +Obsidian Brick Stair=Escalera de ladrillos de obsidiana +Inner Obsidian Brick Stair=Escalera interior de ladrillos de obsidiana +Outer Obsidian Brick Stair=Escalera exterior de ladrillos de obsidiana +Obsidian Brick Slab=Losa de ladrillos de obsidiana +Obsidian Block Stair=Escalera de bloques de obsidiana +Inner Obsidian Block Stair=Escalera interior de bloques de obsidiana +Outer Obsidian Block Stair=Escalera exterior de bloques de obsidiana +Obsidian Block Slab=Losa de bloques de obsidiana +Brick Stair=Escalera de ladrillos +Inner Brick Stair=Escalera interior de ladrillos +Outer Brick Stair=Escalera exterior de ladrillos +Brick Slab=Losa de ladrillos +Steel Block Stair=Escalera de acero +Inner Steel Block Stair=Escalera interior de acero +Outer Steel Block Stair=Escalera exterior de acero +Steel Block Slab=Losa de acero +Tin Block Stair=Escalera de estaño +Inner Tin Block Stair=Escalera interior de estaño +Outer Tin Block Stair=Escalera exterior de estaño +Tin Block Slab=Losa de estaño +Copper Block Stair=Escalera de cobre +Inner Copper Block Stair=Escalera interior de cobre +Outer Copper Block Stair=Escalera exterior de cobre +Copper Block Slab=Losa de cobre +Bronze Block Stair=Escalera de bronce +Inner Bronze Block Stair=Escalera interior de bronce +Outer Bronze Block Stair=Escalera exterior de bronce +Bronze Block Slab=Losa de bronce +Gold Block Stair=Escalera de oro +Inner Gold Block Stair=Escalera interior de oro +Outer Gold Block Stair=Escalera exterior de oro +Gold Block Slab=Losa de oro +Ice Stair=Escalera de hielo +Inner Ice Stair=Escalera interior de hielo +Outer Ice Stair=Escalera exterior de hielo +Ice Slab=Losa de hielo +Snow Block Stair=Escalera de nieve +Inner Snow Block Stair=Escalera interior de nieve +Outer Snow Block Stair=Escalera exterior de nieve +Snow Block Slab=Losa de nieve diff --git a/mods/stairs/locale/stairs.fr.tr b/mods/stairs/locale/stairs.fr.tr new file mode 100644 index 00000000..81b575e6 --- /dev/null +++ b/mods/stairs/locale/stairs.fr.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Escalier de verre +Glass Slab=Dalle de verre +Inner Glass Stair=Escalier intérieur de verre +Outer Glass Stair=Escalier extérieur de verre +Obsidian Glass Stair=Escalier de verre d'obsidienne +Obsidian Glass Slab=Dalle de verre d'obsidienne +Inner Obsidian Glass Stair=Escalier intérieur de verre d'obsidienne +Outer Obsidian Glass Stair=Escalier extérieur de verre d'obsidienne +Wooden Stair=Escalier en bois +Inner Wooden Stair=Escalier intérieur en bois +Outer Wooden Stair=Escalier extérieur en bois +Wooden Slab=Dalle de bois +Jungle Wood Stair=Escalier en bois de la jungle +Inner Jungle Wood Stair=Escalier intérieur en bois de la jungle +Outer Jungle Wood Stair=Escalier extérieur en bois de la jungle +Jungle Wood Slab=Dalle en bois de la jungle +Pine Wood Stair=Escalier en pin +Inner Pine Wood Stair=Escalier intérieur en pin +Outer Pine Wood Stair=Escalier extérieur en pin +Pine Wood Slab=Dalle en pin +Acacia Wood Stair=Escalier en acacia +Inner Acacia Wood Stair=Escalier intérieur en acacia +Outer Acacia Wood Stair=Escalier extérieur en acacia +Acacia Wood Slab=Dalle en acacia +Aspen Wood Stair=Escalier en tremble +Inner Aspen Wood Stair=Escalier intérieur en tremble +Outer Aspen Wood Stair=Escalier extérieur en tremble +Aspen Wood Slab=Dalle en tremble +Stone Stair=Escalier de pierre +Inner Stone Stair=Escalier intérieur de pierre +Outer Stone Stair=Escalier extérieur de pierre +Stone Slab=Dalle de pierre +Cobblestone Stair=Escalier en pavé +Inner Cobblestone Stair=Escalier intérieur en pavé +Outer Cobblestone Stair=Escalier extérieur en pavé +Cobblestone Slab=Dalle en pavé +Mossy Cobblestone Stair=Escalier en pavé moussu +Inner Mossy Cobblestone Stair=Escalier intérieur en pavé moussu +Outer Mossy Cobblestone Stair=Escalier extérieur en pavé moussu +Mossy Cobblestone Slab=Dalle en pavé moussu +Stone Brick Stair=Escalier en brique de pierre +Inner Stone Brick Stair=Escalier intérieur en brique de pierre +Outer Stone Brick Stair=Escalier extérieur en brique de pierre +Stone Brick Slab=Dalle en brique de pierre +Stone Block Stair=Escalier en bloc de pierre +Inner Stone Block Stair=Escalier intérieur en bloc de pierre +Outer Stone Block Stair=Escalier extérieur en bloc de pierre +Stone Block Slab=Dalle en bloc de pierre +Desert Stone Stair=Escalier en pierre du désert +Inner Desert Stone Stair=Escalier intérieur en pierre du désert +Outer Desert Stone Stair=Escalier extérieur en pierre du désert +Desert Stone Slab=Dalle en pierre du désert +Desert Cobblestone Stair=Escalier en pavé du désert +Inner Desert Cobblestone Stair=Escalier intérieur en pavé du désert +Outer Desert Cobblestone Stair=Escalier extérieur en pavé du désert +Desert Cobblestone Slab=Dalle en pavé du désert +Desert Stone Brick Stair=Escalier en brique de pierre du désert +Inner Desert Stone Brick Stair=Escalier intérieur en brique de pierre du désert +Outer Desert Stone Brick Stair=Escalier extérieur en brique de pierre du désert +Desert Stone Brick Slab=Dalle en brique de pierre du désert +Desert Stone Block Stair=Escalier en bloc de pierre du désert +Inner Desert Stone Block Stair=Escalier intérieur en bloc de pierre du désert +Outer Desert Stone Block Stair=Escalier extérieur en bloc de pierre du désert +Desert Stone Block Slab=Dalle en bloc de pierre du désert +Sandstone Stair=Escalier en grès +Inner Sandstone Stair=Escalier intérieur en grès +Outer Sandstone Stair=Escalier extérieur en grès +Sandstone Slab=Dalle en grès +Sandstone Brick Stair=Escalier en brique de grès +Inner Sandstone Brick Stair=Escalier intérieur en brique de grès +Outer Sandstone Brick Stair=Escalier extérieur en brique de grès +Sandstone Brick Slab=Dalle en brique de grès +Sandstone Block Stair=Escalier en bloc de grès +Inner Sandstone Block Stair=Escalier intérieur en bloc de grès +Outer Sandstone Block Stair=Escalier extérieur en bloc de grès +Sandstone Block Slab=Dalle en bloc de grès +Desert Sandstone Stair=Escalier en grès du désert +Inner Desert Sandstone Stair=Escalier intérieur en grès du désert +Outer Desert Sandstone Stair=Escalier extérieur en grès du désert +Desert Sandstone Slab=Dalle en grès du désert +Desert Sandstone Brick Stair=Escalier en brique de grès du désert +Inner Desert Sandstone Brick Stair=Escalier intérieur en brique de grès du désert +Outer Desert Sandstone Brick Stair=Escalier extérieur en brique de grès du désert +Desert Sandstone Brick Slab=Dalle en brique de grès du désert +Desert Sandstone Block Stair=Escalier en bloc de grès du désert +Inner Desert Sandstone Block Stair=Escalier intérieur en bloc de grès du désert +Outer Desert Sandstone Block Stair=Escalier extérieur en bloc de grès du désert +Desert Sandstone Block Slab=Dalle en bloc de grès du désert +Silver Sandstone Stair=Escalier en grès argenté +Inner Silver Sandstone Stair=Escalier intérieur en grès argenté +Outer Silver Sandstone Stair=Escalier extérieur en grès argenté +Silver Sandstone Slab=Dalle en grès argenté +Silver Sandstone Brick Stair=Escalier en brique de grès argenté +Inner Silver Sandstone Brick Stair=Escalier intérieur en brique de grès argenté +Outer Silver Sandstone Brick Stair=Escalier extérieur en brique de grès argenté +Silver Sandstone Brick Slab=Dalle en brique de grès argenté +Silver Sandstone Block Stair=Escalier en bloc de grès argenté +Inner Silver Sandstone Block Stair=Escalier intérieur en bloc de grès argenté +Outer Silver Sandstone Block Stair=Escalier extérieur en bloc de grès argenté +Silver Sandstone Block Slab=Dalle en bloc de grès argenté +Obsidian Stair=Escalier en obsidienne +Inner Obsidian Stair=Escalier intérieur en obsidienne +Outer Obsidian Stair=Escalier extérieur en obsidienne +Obsidian Slab=Dalle en obsidienne +Obsidian Brick Stair=Escalier en brique d'obsidienne +Inner Obsidian Brick Stair=Escalier intérieur en brique d'obsidienne +Outer Obsidian Brick Stair=Escalier extérieur en brique d'obsidienne +Obsidian Brick Slab=Dalle en brique d'obsidienne +Obsidian Block Stair=Escalier en bloc d'obsidienne +Inner Obsidian Block Stair=Escalier intérieur en bloc d'obsidienne +Outer Obsidian Block Stair=Escalier extérieur en bloc d'obsidienne +Obsidian Block Slab=Dalle en bloc d'obsidienne +Brick Stair=Escalier en brique +Inner Brick Stair=Escalier intérieur en brique +Outer Brick Stair=Escalier extérieur en brique +Brick Slab=Dalle en brique +Steel Block Stair=Escalier en acier +Inner Steel Block Stair=Escalier intérieur en acier +Outer Steel Block Stair=Escalier extérieur en acier +Steel Block Slab=Dalle en acier +Tin Block Stair=Escalier en bloc d'étain +Inner Tin Block Stair=Escalier intérieur en bloc d'étain +Outer Tin Block Stair=Escalier extérieur en bloc d'étain +Tin Block Slab=Dalle en bloc d'étain +Copper Block Stair=Escalier en bloc de cuivre +Inner Copper Block Stair=Escalier intérieur en bloc de cuivre +Outer Copper Block Stair=Escalier extérieur en bloc de cuivre +Copper Block Slab=Dalle en bloc de cuivre +Bronze Block Stair=Escalier en bronze +Inner Bronze Block Stair=Escalier intérieur en bronze +Outer Bronze Block Stair=Escalier extérieur en bronze +Bronze Block Slab=Dalle en bronze +Gold Block Stair=Escalier en bloc d'or +Inner Gold Block Stair=Escalier intérieur en bloc d'or +Outer Gold Block Stair=Escalier extérieur en bloc d'or +Gold Block Slab=Dalle en bloc d'or +Ice Stair=Escalier de glace +Inner Ice Stair=Escalier intérieur de glace +Outer Ice Stair=Escalier extérieur de glace +Ice Slab=Dalle de glace +Snow Block Stair=Escalier en bloc de neige +Inner Snow Block Stair=Escalier intérieur en bloc de neige +Outer Snow Block Stair=Escalier extérieur en bloc de neige +Snow Block Slab=Dalle en bloc de neige diff --git a/mods/stairs/locale/stairs.id.tr b/mods/stairs/locale/stairs.id.tr new file mode 100644 index 00000000..dbdfaa0f --- /dev/null +++ b/mods/stairs/locale/stairs.id.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Tangga Kaca +Glass Slab=Lempengan Kaca +Inner Glass Stair=Tangga Kaca Dalam +Outer Glass Stair=Tangga Kaca Luar +Obsidian Glass Stair=Tangga Kaca Obsidian +Obsidian Glass Slab=Lempengan Kaca Obsidian +Inner Obsidian Glass Stair=Tangga Kaca Obsidian Dalam +Outer Obsidian Glass Stair=Tangga Kaca Obsidian Luar +Wooden Stair=Tangga Kayu +Inner Wooden Stair=Tangga Kayu Dalam +Outer Wooden Stair=Tangga Kayu Luar +Wooden Slab=Lempengan Kayu +Jungle Wood Stair=Tangga Kayu Rimba +Inner Jungle Wood Stair=Tangga Kayu Rimba Dalam +Outer Jungle Wood Stair=Tangga Kayu Rimba Luar +Jungle Wood Slab=Lempengan Kayu Rimba +Pine Wood Stair=Tangga Kayu Pinus +Inner Pine Wood Stair=Tangga Kayu Pinus Dalam +Outer Pine Wood Stair=Tangga Kayu Pinus Luar +Pine Wood Slab=Lempengan Kayu Pinus +Acacia Wood Stair=Tangga Kayu Akasia +Inner Acacia Wood Stair=Tangga Kayu Akasia Dalam +Outer Acacia Wood Stair=Tangga Kayu Akasia Luar +Acacia Wood Slab=Lempengan Kayu Akasia +Aspen Wood Stair=Tangga Kayu Aspen +Inner Aspen Wood Stair=Tangga Kayu Aspen Dalam +Outer Aspen Wood Stair=Tangga Kayu Aspen Luar +Aspen Wood Slab=Lempengan Kayu Aspen +Stone Stair=Tangga Batu +Inner Stone Stair=Tangga Batu Dalam +Outer Stone Stair=Tangga Batu Luar +Stone Slab=Lempengan Batu +Cobblestone Stair=Tangga Bongkahan Batu +Inner Cobblestone Stair=Tangga Bongkahan Batu Dalam +Outer Cobblestone Stair=Tangga Bongkahan Batu Luar +Cobblestone Slab=Lempengan Bongkahan Batu +Mossy Cobblestone Stair=Tangga Bongkahan Batu Berlumut +Inner Mossy Cobblestone Stair=Tangga Bongkahan Batu Berlumut Dalam +Outer Mossy Cobblestone Stair=Tangga Bongkahan Batu Berlumut Luar +Mossy Cobblestone Slab=Lempengan Bongkahan Batu Berlumut +Stone Brick Stair=Tangga Tembok Batu +Inner Stone Brick Stair=Tangga Tembok Batu Dalam +Outer Stone Brick Stair=Tangga Tembok Batu Luar +Stone Brick Slab=Lempengan Tembok Batu +Stone Block Stair=Tangga Balok Batu +Inner Stone Block Stair=Tangga Balok Batu Dalam +Outer Stone Block Stair=Tangga Balok Batu Luar +Stone Block Slab=Lempengan Balok Batu +Desert Stone Stair=Tangga Batu Gurun +Inner Desert Stone Stair=Tangga Batu Gurun Dalam +Outer Desert Stone Stair=Tangga Batu Gurun Luar +Desert Stone Slab=Lempengan Batu Gurun +Desert Cobblestone Stair=Tangga Bongkahan Batu Gurun +Inner Desert Cobblestone Stair=Tangga Bongkahan Batu Gurun Dalam +Outer Desert Cobblestone Stair=Tangga Bongkahan Batu Gurun Luar +Desert Cobblestone Slab=Lempengan Bongkahan Batu Gurun +Desert Stone Brick Stair=Tangga Tembok Batu Gurun +Inner Desert Stone Brick Stair=Tangga Tembok Batu Gurun Dalam +Outer Desert Stone Brick Stair=Tangga Tembok Batu Gurun Luar +Desert Stone Brick Slab=Lempengan Tembok Batu Gurun +Desert Stone Block Stair=Tangga Balok Batu Gurun +Inner Desert Stone Block Stair=Tangga Balok Batu Gurun Dalam +Outer Desert Stone Block Stair=Tangga Balok Batu Gurun Luar +Desert Stone Block Slab=Lempengan Balok Batu Gurun +Sandstone Stair=Tangga Batu Pasir +Inner Sandstone Stair=Tangga Batu Pasir Dalam +Outer Sandstone Stair=Tangga Batu Pasir Luar +Sandstone Slab=Lempengan Batu Pasir +Sandstone Brick Stair=Tangga Tembok Batu Pasir +Inner Sandstone Brick Stair=Tangga Tembok Batu Pasir Dalam +Outer Sandstone Brick Stair=Tangga Tembok Batu Pasir Luar +Sandstone Brick Slab=Lempengan Tembok Batu Pasir +Sandstone Block Stair=Tangga Balok Batu Pasir +Inner Sandstone Block Stair=Tangga Balok Batu Pasir Dalam +Outer Sandstone Block Stair=Tangga Balok Batu Pasir Luar +Sandstone Block Slab=Lempengan Balok Batu Pasir +Desert Sandstone Stair=Tangga Batu Pasir Gurun +Inner Desert Sandstone Stair=Tangga Batu Pasir Gurun Dalam +Outer Desert Sandstone Stair=Tangga Batu Pasir Gurun Luar +Desert Sandstone Slab=Lempengan Batu Pasir Gurun +Desert Sandstone Brick Stair=Tangga Tembok Batu Pasir Gurun +Inner Desert Sandstone Brick Stair=Tangga Tembok Batu Pasir Gurun Dalam +Outer Desert Sandstone Brick Stair=Tangga Tembok Batu Pasir Gurun Luar +Desert Sandstone Brick Slab=Lempengan Tembok Batu Pasir Gurun +Desert Sandstone Block Stair=Tangga Balok Batu Pasir Gurun +Inner Desert Sandstone Block Stair=Tangga Balok Batu Pasir Gurun Dalam +Outer Desert Sandstone Block Stair=Tangga Balok Batu Pasir Gurun Luar +Desert Sandstone Block Slab=Lempengan Balok Batu Pasir Gurun +Silver Sandstone Stair=Tangga Batu Pasir Perak +Inner Silver Sandstone Stair=Tangga Batu Pasir Perak Dalam +Outer Silver Sandstone Stair=Tangga Batu Pasir Perak Luar +Silver Sandstone Slab=Lempengan Batu Pasir Perak +Silver Sandstone Brick Stair=Tangga Tembok Batu Pasir Perak +Inner Silver Sandstone Brick Stair=Tangga Tembok Batu Pasir Perak Dalam +Outer Silver Sandstone Brick Stair=Tangga Tembok Batu Pasir Perak Luar +Silver Sandstone Brick Slab=Lempengan Tembok Batu Pasir Perak +Silver Sandstone Block Stair=Tangga Balok Batu Pasir Perak +Inner Silver Sandstone Block Stair=Tangga Balok Batu Pasir Perak Dalam +Outer Silver Sandstone Block Stair=Tangga Balok Batu Pasir Perak Luar +Silver Sandstone Block Slab=Lempengan Balok Batu Pasir Perak +Obsidian Stair=Tangga Obsidian +Inner Obsidian Stair=Tangga Obsidian Dalam +Outer Obsidian Stair=Tangga Obsidian Luar +Obsidian Slab=Lempengan Obsidian +Obsidian Brick Stair=Tangga Tembok Obsidian +Inner Obsidian Brick Stair=Tangga Tembok Obsidian Dalam +Outer Obsidian Brick Stair=Tangga Tembok Obsidian Luar +Obsidian Brick Slab=Lempengan Tembok Obsidian +Obsidian Block Stair=Tangga Balok Obsidian +Inner Obsidian Block Stair=Tangga Balok Obsidian Dalam +Outer Obsidian Block Stair=Tangga Balok Obsidian Luar +Obsidian Block Slab=Lempengan Balok Obsidian +Brick Stair=Tangga Bata +Inner Brick Stair=Tangga Bata Dalam +Outer Brick Stair=Tangga Bata Luar +Brick Slab=Lempengan Bata +Steel Block Stair=Tangga Balok Baja +Inner Steel Block Stair=Tangga Balok Baja Dalam +Outer Steel Block Stair=Tangga Balok Baja Luar +Steel Block Slab=Lempengan Balok Baja +Tin Block Stair=Tangga Balok Timah +Inner Tin Block Stair=Tangga Balok Timah Dalam +Outer Tin Block Stair=Tangga Balok Timah Luar +Tin Block Slab=Lempengan Balok Timah +Copper Block Stair=Tangga Balok Tembaga +Inner Copper Block Stair=Tangga Balok Tembaga Dalam +Outer Copper Block Stair=Tangga Balok Tembaga Luar +Copper Block Slab=Lempengan Balok Tembaga +Bronze Block Stair=Tangga Balok Perunggu +Inner Bronze Block Stair=Tangga Balok Perunggu Dalam +Outer Bronze Block Stair=Tangga Balok Perunggu Luar +Bronze Block Slab=Lempengan Balok Perunggu +Gold Block Stair=Tangga Balok Emas +Inner Gold Block Stair=Tangga Balok Emas Dalam +Outer Gold Block Stair=Tangga Balok Emas Luar +Gold Block Slab=Lempengan Balok Emas +Ice Stair=Tangga Es +Inner Ice Stair=Tangga Es Dalam +Outer Ice Stair=Tangga Es Luar +Ice Slab=Lempengan Es +Snow Block Stair=Tangga Balok Salju +Inner Snow Block Stair=Tangga Balok Salju Dalam +Outer Snow Block Stair=Tangga Balok Salju Luar +Snow Block Slab=Lempengan Balok Salju diff --git a/mods/stairs/locale/stairs.it.tr b/mods/stairs/locale/stairs.it.tr new file mode 100644 index 00000000..16945ec6 --- /dev/null +++ b/mods/stairs/locale/stairs.it.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Scala di vetro +Glass Slab=Lastra di vetro +Inner Glass Stair=Scala di vetro interna +Outer Glass Stair=Scala di vetro esterna +Obsidian Glass Stair=Scala di vetro d'ossidiana +Obsidian Glass Slab=Lastra di vetro d'ossidiana +Inner Obsidian Glass Stair=Scala di vetro d'ossidiana interna +Outer Obsidian Glass Stair=Scala di vetro d'ossidiana esterna +Wooden Stair=Scala di legno +Inner Wooden Stair=Scala di legno interna +Outer Wooden Stair=Scala di legno esterna +Wooden Slab=Lastra di legno +Jungle Wood Stair=Scala di legno della giungla +Inner Jungle Wood Stair=Scala di legno della giungla interna +Outer Jungle Wood Stair=Scala di legno della giungla esterna +Jungle Wood Slab=Lastra di legno della giungla +Pine Wood Stair=Scala di legno di pino +Inner Pine Wood Stair=Scala di legno di pino interna +Outer Pine Wood Stair=Scala di legno di pino esterna +Pine Wood Slab=Lastra di legno di pino +Acacia Wood Stair=Scala di legno d'acacia +Inner Acacia Wood Stair=Scala di legno d'acacia interna +Outer Acacia Wood Stair=Scala di legno d'acacia esterna +Acacia Wood Slab=Lastra di legno d'acacia +Aspen Wood Stair=Scala di legno di pioppo +Inner Aspen Wood Stair=Scala di legno di pioppo interna +Outer Aspen Wood Stair=Scala di legno di pioppo esterna +Aspen Wood Slab=Lastra di legno di pioppo +Stone Stair=Scala di pietra +Inner Stone Stair=Scala di pietra interna +Outer Stone Stair=Scala di pietra esterna +Stone Slab=Lastra di pietra +Cobblestone Stair=Scala di ciottoli +Inner Cobblestone Stair=Scala di ciottoli interna +Outer Cobblestone Stair=Scala di ciottoli esterna +Cobblestone Slab=Lastra di ciottoli +Mossy Cobblestone Stair=Scala di ciottoli muschiosi +Inner Mossy Cobblestone Stair=Scala di ciottoli muschiosi interna +Outer Mossy Cobblestone Stair=Scala di ciottoli muschiosi esterna +Mossy Cobblestone Slab=Lastra di ciottoli muschiosi +Stone Brick Stair=Scala di mattone di pietra +Inner Stone Brick Stair=Scala di mattone di pietra interna +Outer Stone Brick Stair=Scala di mattone di pietra esterna +Stone Brick Slab=Lastra di mattone di pietra +Stone Block Stair=Scala di blocco di pietra +Inner Stone Block Stair=Scala di blocco di pietra interna +Outer Stone Block Stair=Scala di blocco di pietra esterna +Stone Block Slab=Lastra di blocco di pietra +Desert Stone Stair=Scala di pietra del deserto +Inner Desert Stone Stair=Scala di pietra del deserto interna +Outer Desert Stone Stair=Scala di pietra del deserto esterna +Desert Stone Slab=Lastra di pietra del deserto +Desert Cobblestone Stair=Scala di ciottoli del deserto +Inner Desert Cobblestone Stair=Scala di ciottoli del deserto interna +Outer Desert Cobblestone Stair=Scala di ciottoli del deserto esterna +Desert Cobblestone Slab=Lastra di ciottoli del deserto +Desert Stone Brick Stair=Scala di mattone di pietra del deserto +Inner Desert Stone Brick Stair=Scala di mattone di pietra del deserto interna +Outer Desert Stone Brick Stair=Scala di mattone di pietra del deserto esterna +Desert Stone Brick Slab=Lastra di mattone di pietra del deserto +Desert Stone Block Stair=Scala di blocco di pietra del deserto +Inner Desert Stone Block Stair=Scala di blocco di pietra del deserto interna +Outer Desert Stone Block Stair=Scala di blocco di pietra del deserto esterna +Desert Stone Block Slab=Lastra di blocco di pietra del deserto +Sandstone Stair=Scala d'arenaria +Inner Sandstone Stair=Scala d'arenaria interna +Outer Sandstone Stair=Scala d'arenaria esterna +Sandstone Slab=Lastra d'arenaria +Sandstone Brick Stair=Scala di mattone d'arenaria +Inner Sandstone Brick Stair=Scala di mattone d'arenaria interna +Outer Sandstone Brick Stair=Scala di mattone d'arenaria esterna +Sandstone Brick Slab=Lastra di mattone d'arenaria +Sandstone Block Stair=Scala di blocco d'arenaria +Inner Sandstone Block Stair=Scala di blocco d'arenaria interna +Outer Sandstone Block Stair=Scala di blocco d'arenaria esterna +Sandstone Block Slab=Lastra di blocco d'arenaria +Desert Sandstone Stair=Scala d'arenaria del deserto +Inner Desert Sandstone Stair=Scala d'arenaria del deserto interna +Outer Desert Sandstone Stair=Scala d'arenaria del deserto esterna +Desert Sandstone Slab=Lastra d'arenaria del deserto +Desert Sandstone Brick Stair=Scala di mattone d'arenaria del deserto +Inner Desert Sandstone Brick Stair=Scala di mattone d'arenaria del deserto interna +Outer Desert Sandstone Brick Stair=Scala di mattone d'arenaria del deserto esterna +Desert Sandstone Brick Slab=Lastra di mattone d'arenaria del deserto +Desert Sandstone Block Stair=Scala di blocco d'arenaria del deserto +Inner Desert Sandstone Block Stair=Scala di blocco d'arenaria del deserto interna +Outer Desert Sandstone Block Stair=Scala di blocco d'arenaria del deserto esterna +Desert Sandstone Block Slab=Lastra di blocco d'arenaria del deserto +Silver Sandstone Stair=Scala d'arenaria argentata +Inner Silver Sandstone Stair=Scala d'arenaria argentata interna +Outer Silver Sandstone Stair=Scala d'arenaria argentata esterna +Silver Sandstone Slab=Lastra d'arenaria argentata +Silver Sandstone Brick Stair=Scala di mattone d'arenaria argentata +Inner Silver Sandstone Brick Stair=Scala di mattone d'arenaria argentata interna +Outer Silver Sandstone Brick Stair=Scala di mattone d'arenaria argentata esterna +Silver Sandstone Brick Slab=Lastra di mattone d'arenaria argentata +Silver Sandstone Block Stair=Scala di blocco d'arenaria argentata +Inner Silver Sandstone Block Stair=Scala di blocco d'arenaria argentata interna +Outer Silver Sandstone Block Stair=Scala di blocco d'arenaria argentata esterna +Silver Sandstone Block Slab=Lastra di blocco d'arenaria argentata +Obsidian Stair=Scala d'ossidiana +Inner Obsidian Stair=Scala d'ossidiana interna +Outer Obsidian Stair=Scala d'ossidiana esterna +Obsidian Slab=Lastra d'ossidiana +Obsidian Brick Stair=Scala di mattone d'ossidiana +Inner Obsidian Brick Stair=Scala di mattone d'ossidiana interna +Outer Obsidian Brick Stair=Scala di mattone d'ossidiana esterna +Obsidian Brick Slab=Lastra di mattone d'ossidiana +Obsidian Block Stair=Scala di blocco d'ossidiana +Inner Obsidian Block Stair=Scala di blocco d'ossidiana interna +Outer Obsidian Block Stair=Scala di blocco d'ossidiana esterna +Obsidian Block Slab=Lastra di blocco d'ossidiana +Brick Stair=Scala di mattone +Inner Brick Stair=Scala di mattone interna +Outer Brick Stair=Scala di mattone esterna +Brick Slab=Lastra di mattone +Steel Block Stair=Scala di blocco d'acciaio +Inner Steel Block Stair=Scala di blocco d'acciaio interna +Outer Steel Block Stair=Scala di blocco d'acciaio esterna +Steel Block Slab=Lastra di blocco d'acciaio +Tin Block Stair=Scala di blocco di stagno +Inner Tin Block Stair=Scala di blocco di stagno interna +Outer Tin Block Stair=Scala di blocco di stagno esterna +Tin Block Slab=Lastra di blocco di stagno +Copper Block Stair=Scala di blocco di rame +Inner Copper Block Stair=Scala di blocco di rame interna +Outer Copper Block Stair=Scala di blocco di rame esterna +Copper Block Slab=Lastra di blocco di rame +Bronze Block Stair=Scala di blocco di bronzo +Inner Bronze Block Stair=Scala di blocco di bronzo interna +Outer Bronze Block Stair=Scala di blocco di bronzo esterna +Bronze Block Slab=Lastra di blocco di bronzo +Gold Block Stair=Scala di blocco d'oro +Inner Gold Block Stair=Scala di blocco d'oro interna +Outer Gold Block Stair=Scala di blocco d'oro esterna +Gold Block Slab=Lastra di blocco d'oro +Ice Stair=Scala di ghiaccio +Inner Ice Stair=Scala di ghiaccio interna +Outer Ice Stair=Scala di ghiaccio esterna +Ice Slab=Lastra di ghiaccio +Snow Block Stair=Scala di blocco di neve +Inner Snow Block Stair=Scala di blocco di neve interna +Outer Snow Block Stair=Scala di blocco di neve esterna +Snow Block Slab=Lastra di blocco di neve diff --git a/mods/stairs/locale/stairs.ja.tr b/mods/stairs/locale/stairs.ja.tr new file mode 100644 index 00000000..73e2703c --- /dev/null +++ b/mods/stairs/locale/stairs.ja.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=ガラスの階段 +Glass Slab=ガラスのハーフブロック +Inner Glass Stair=へっこんだガラスの階段 +Outer Glass Stair=でっぱったガラスの階段 +Obsidian Glass Stair=黒曜石ガラスの階段 +Obsidian Glass Slab=黒曜石ガラスのハーフブロック +Inner Obsidian Glass Stair=へっこんだ黒曜石ガラスの階段 +Outer Obsidian Glass Stair=でっぱった黒曜石ガラスの階段 +Wooden Stair=木の階段 +Inner Wooden Stair=へっこんだ木の階段 +Outer Wooden Stair=でっぱった木の階段 +Wooden Slab=木のハーフブロック +Jungle Wood Stair=ジャングルの階段 +Inner Jungle Wood Stair=へっこんだジャングルの階段 +Outer Jungle Wood Stair=でっぱったジャングルの階段 +Jungle Wood Slab=ジャングルのハーフブロック +Pine Wood Stair=マツの木の階段 +Inner Pine Wood Stair=へっこんだマツの階段 +Outer Pine Wood Stair=でっぱったマツの階段 +Pine Wood Slab=マツのハーフブロック +Acacia Wood Stair=アカシアの階段 +Inner Acacia Wood Stair=へっこんだアカシアの階段 +Outer Acacia Wood Stair=でっぱったアカシアの階段 +Acacia Wood Slab=アカシアのハーフブロック +Aspen Wood Stair=ポプラの階段 +Inner Aspen Wood Stair=へっこんだポプラの階段 +Outer Aspen Wood Stair=でっぱったポプラの階段 +Aspen Wood Slab=ポプラのハーフブロック +Stone Stair=石の階段 +Inner Stone Stair=へっこんだ石の階段 +Outer Stone Stair=でっぱった石の階段 +Stone Slab=石のハーフブロック +Cobblestone Stair=丸石の階段 +Inner Cobblestone Stair=へっこんだ丸石の階段 +Outer Cobblestone Stair=でっぱった丸石の階段 +Cobblestone Slab=丸石のハーフブロック +Mossy Cobblestone Stair=苔むした丸石の階段 +Inner Mossy Cobblestone Stair=へっこんだ苔むした丸石の階段 +Outer Mossy Cobblestone Stair=でっぱった苔むした丸石の階段 +Mossy Cobblestone Slab=苔むした丸石のハーフブロック +Stone Brick Stair=石レンガの階段 +Inner Stone Brick Stair=へっこんだ石レンガの階段 +Outer Stone Brick Stair=でっぱった石レンガの階段 +Stone Brick Slab=石レンガのハーフブロック +Stone Block Stair=石ブロックの階段 +Inner Stone Block Stair=へっこんだ石ブロックの階段 +Outer Stone Block Stair=でっぱった石ブロックの階段 +Stone Block Slab=石ブロックのハーフブロック +Desert Stone Stair=砂漠の石の階段 +Inner Desert Stone Stair=へっこんだ砂漠の石の階段 +Outer Desert Stone Stair=でっぱった砂漠の石の階段 +Desert Stone Slab=砂漠の石のハーフブロック +Desert Cobblestone Stair=砂漠の丸石の階段 +Inner Desert Cobblestone Stair=へっこんだ砂漠の丸石の階段 +Outer Desert Cobblestone Stair=でっぱった砂漠の丸石の階段 +Desert Cobblestone Slab=砂漠の丸石のハーフブロック +Desert Stone Brick Stair=砂漠の石レンガの階段 +Inner Desert Stone Brick Stair=へっこんだ砂漠の石レンガの階段 +Outer Desert Stone Brick Stair=でっぱった砂漠の石レンガの階段 +Desert Stone Brick Slab=砂漠の石レンガのハーフブロック +Desert Stone Block Stair=砂漠の石ブロックの階段 +Inner Desert Stone Block Stair=へっこんだ砂漠の石ブロックの階段 +Outer Desert Stone Block Stair=でっぱった砂漠の石ブロックの階段 +Desert Stone Block Slab=砂漠の石ブロックのハーフブロック +Sandstone Stair=砂岩の階段 +Inner Sandstone Stair=へっこんだ砂岩の階段 +Outer Sandstone Stair=でっぱった砂岩の階段 +Sandstone Slab=砂岩のハーフブロック +Sandstone Brick Stair=砂岩レンガの階段 +Inner Sandstone Brick Stair=へっこんだ砂岩レンガの階段 +Outer Sandstone Brick Stair=でっぱった砂岩レンガの階段 +Sandstone Brick Slab=砂岩レンガのハーフブロック +Sandstone Block Stair=砂岩ブロックの階段 +Inner Sandstone Block Stair=へっこんだ砂岩ブロックの階段 +Outer Sandstone Block Stair=でっぱった砂岩ブロックの階段 +Sandstone Block Slab=砂岩ブロックのハーフブロック +Desert Sandstone Stair=砂漠の砂岩の階段 +Inner Desert Sandstone Stair=へっこんだ砂漠の砂岩の階段 +Outer Desert Sandstone Stair=でっぱった砂漠の砂岩の階段 +Desert Sandstone Slab=砂漠の砂岩のハーフブロック +Desert Sandstone Brick Stair=砂漠の砂岩レンガの階段 +Inner Desert Sandstone Brick Stair=へっこんだ砂漠の砂岩レンガの階段 +Outer Desert Sandstone Brick Stair=でっぱった砂漠の砂岩レンガの階段 +Desert Sandstone Brick Slab=砂漠の砂岩レンガのハーフブロック +Desert Sandstone Block Stair=砂漠の砂岩ブロックの階段 +Inner Desert Sandstone Block Stair=へっこんだ砂漠の砂岩ブロックの階段 +Outer Desert Sandstone Block Stair=でっぱった砂漠の砂岩ブロックの階段 +Desert Sandstone Block Slab=砂漠の砂岩ブロックのハーフブロック +Silver Sandstone Stair=銀の砂岩の階段 +Inner Silver Sandstone Stair=へっこんだ銀の砂岩の階段 +Outer Silver Sandstone Stair=でっぱった銀の砂岩の階段 +Silver Sandstone Slab=銀の砂岩のハーフブロック +Silver Sandstone Brick Stair=銀の砂岩レンガの階段 +Inner Silver Sandstone Brick Stair=へっこんだ銀の砂岩レンガの階段 +Outer Silver Sandstone Brick Stair=でっぱった銀の砂岩レンガの階段 +Silver Sandstone Brick Slab=銀の砂岩レンガのハーフブロック +Silver Sandstone Block Stair=銀の砂岩ブロックの階段 +Inner Silver Sandstone Block Stair=へっこんだ銀の砂岩ブロックの階段 +Outer Silver Sandstone Block Stair=でっぱった銀の砂岩ブロックの階段 +Silver Sandstone Block Slab=銀の砂岩ブロックのハーフブロック +Obsidian Stair=黒曜石の階段 +Inner Obsidian Stair=へっこんだ黒曜石の階段 +Outer Obsidian Stair=でっぱった黒曜石の階段 +Obsidian Slab=黒曜石のハーフブロック +Obsidian Brick Stair=黒曜石レンガの階段 +Inner Obsidian Brick Stair=へっこんだ黒曜石レンガの階段 +Outer Obsidian Brick Stair=でっぱった黒曜石レンガの階段 +Obsidian Brick Slab=黒曜石レンガのハーフブロック +Obsidian Block Stair=黒曜石ブロックの階段 +Inner Obsidian Block Stair=へっこんだ黒曜石ブロックの階段 +Outer Obsidian Block Stair=でっぱった黒曜石ブロックの階段 +Obsidian Block Slab=黒曜石ブロックのハーフブロック +Brick Stair=レンガの階段 +Inner Brick Stair=へっこんだレンガの階段 +Outer Brick Stair=でっぱったレンガの階段 +Brick Slab=レンガのハーフブロック +Steel Block Stair=鉄ブロックの階段 +Inner Steel Block Stair=へっこんだ鉄ブロックの階段 +Outer Steel Block Stair=でっぱった鉄ブロックの階段 +Steel Block Slab=鉄ブロックのハーフブロック +Tin Block Stair=スズの階段 +Inner Tin Block Stair=へっこんだスズの階段 +Outer Tin Block Stair=でっぱったスズの階段 +Tin Block Slab=スズのハーフブロック +Copper Block Stair=銅ブロックの階段 +Inner Copper Block Stair=へっこんだ銅ブロックの階段 +Outer Copper Block Stair=でっぱった銅ブロックの階段 +Copper Block Slab=銅ブロックのハーフブロック +Bronze Block Stair=青銅ブロックの階段 +Inner Bronze Block Stair=へっこんだ青銅ブロックの階段 +Outer Bronze Block Stair=でっぱった青銅ブロックの階段 +Bronze Block Slab=青銅ブロックのハーフブロック +Gold Block Stair=金ブロックの階段 +Inner Gold Block Stair=へっこんだ金ブロックの階段 +Outer Gold Block Stair=でっぱった金ブロックの階段 +Gold Block Slab=金ブロックのハーフブロック +Ice Stair=氷の階段 +Inner Ice Stair=へっこんだ氷の階段 +Outer Ice Stair=でっぱった氷の階段 +Ice Slab=氷のハーフブロック +Snow Block Stair=雪の階段 +Inner Snow Block Stair=へっこんだ雪の階段 +Outer Snow Block Stair=でっぱった雪の階段 +Snow Block Slab=雪のハーフブロック diff --git a/mods/stairs/locale/stairs.jbo.tr b/mods/stairs/locale/stairs.jbo.tr new file mode 100644 index 00000000..76c3bac7 --- /dev/null +++ b/mods/stairs/locale/stairs.jbo.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=lo blaci serti +Glass Slab=lo blaci xadba bliku +Inner Glass Stair=lo zo'i blaci serti +Outer Glass Stair=lo ze'o blaci serti +Obsidian Glass Stair=lo je'erma'ablaci blaci serti +Obsidian Glass Slab=lo je'erma'ablaci blaci ke xadba bliku +Inner Obsidian Glass Stair=lo zo'i je'erma'ablaci blaci serti +Outer Obsidian Glass Stair=lo ze'o je'erma'ablaci blaci serti +Wooden Stair=lo mudri serti +Inner Wooden Stair=lo zo'i blaci serti +Outer Wooden Stair=lo ze'o blaci serti +Wooden Slab=lo mudri ke xadba bliku +Jungle Wood Stair=lo glatimdemricfoi mudri serti +Inner Jungle Wood Stair=lo zo'i glatimdemricfoi mudri serti +Outer Jungle Wood Stair=lo ze'o glatimdemricfoi mudri serti +Jungle Wood Slab=lo glatimdemricfoi mudri ke xadba bliku +Pine Wood Stair=lo ckunu mudri serti +Inner Pine Wood Stair=lo zo'i ckunu mudri serti +Outer Pine Wood Stair=lo ze'o ckunu mudri serti +Pine Wood Slab=lo ckunu mudri ke xadba bliku +Acacia Wood Stair=lo atkaci,ia mudri serti +Inner Acacia Wood Stair=lo zo'i atkaci,ia mudri serti +Outer Acacia Wood Stair=lo ze'o atkaci,ia mudri serti +Acacia Wood Slab=lo atkaci,ia mudri ke xadba bliku +Aspen Wood Stair=lo mudrpopulu serti +Inner Aspen Wood Stair=lo zo'i mudrpopulu serti +Outer Aspen Wood Stair=lo ze'o mudrpopulu serti +Aspen Wood Slab=lo mudrpopulu ke xadba bliku +Stone Stair=lo rokci serti +Inner Stone Stair=lo zo'i rokci serti +Outer Stone Stair=lo ze'o rokci serti +Stone Slab=lo rokci ke xadba bliku +Cobblestone Stair=lo lolro'iboi serti +Inner Cobblestone Stair=lo zo'i lolro'iboi serti +Outer Cobblestone Stair=lo ze'o lolro'iboi serti +Cobblestone Slab=lo lolro'iboi xadba bliku +Mossy Cobblestone Stair=lo clika lolro'iboi serti +Inner Mossy Cobblestone Stair=lo zo'i clika lolro'iboi serti +Outer Mossy Cobblestone Stair=lo ze'o clika lolro'iboi serti +Mossy Cobblestone Slab=lo clika lolro'iboi ke xadba bliku +Stone Brick Stair=lo morna rokci serti +Inner Stone Brick Stair=lo zo'i morna rokci serti +Outer Stone Brick Stair=lo ze'o morna rokci serti +Stone Brick Slab=lo morna rokci ke xadba bliku +Stone Block Stair=lo rokci bliku serti +Inner Stone Block Stair=lo zo'i rokci bliku serti +Outer Stone Block Stair=lo ze'o rokci bliku serti +Stone Block Slab=lo rokci bliku ke xadba bliku +Desert Stone Stair=lo cantu'a rokci serti +Inner Desert Stone Stair=lo zo'i cantu'a rokci serti +Outer Desert Stone Stair=lo ze'o cantu'a rokci serti +Desert Stone Slab=lo cantu'a rokci ke xadba bliku +Desert Cobblestone Stair=lo cantu'a lolro'iboi serti +Inner Desert Cobblestone Stair=lo zo'i cantu'a lolro'iboi serti +Outer Desert Cobblestone Stair=lo ze'o cantu'a lolro'iboi serti +Desert Cobblestone Slab=lo cantu'a lolro'iboi ke xadba bliku +Desert Stone Brick Stair=lo morna ke cantu'a rokci serti +Inner Desert Stone Brick Stair=lo zo'i morna ke cantu'a rokci serti +Outer Desert Stone Brick Stair=lo ze'o morna ke cantu'a rokci serti +Desert Stone Brick Slab=lo morna ke cantu'a rokci ke xadba bliku +Desert Stone Block Stair=lo cantu'a rokci bliku serti +Inner Desert Stone Block Stair=lo zo'i cantu'a rokci bliku serti +Outer Desert Stone Block Stair=lo ze'o cantu'a rokci bliku serti +Desert Stone Block Slab=lo cantu'a rokci bliku ke xadba bliku +Sandstone Stair=lo canro'i serti +Inner Sandstone Stair=lo zo'i canro'i serti +Outer Sandstone Stair=lo ze'o canro'i serti +Sandstone Slab=lo canro'i ke xadba bliku +Sandstone Brick Stair=lo morna ke canro'i serti +Inner Sandstone Brick Stair=lo zo'i morna ke canro'i serti +Outer Sandstone Brick Stair=lo ze'o morna ke canro'i serti +Sandstone Brick Slab=lo morna canro'i ke xadba bliku +Sandstone Block Stair=lo canro'i bliku serti +Inner Sandstone Block Stair=lo zo'i canro'i bliku serti +Outer Sandstone Block Stair=lo ze'o canro'i bliku serti +Sandstone Block Slab=lo canro'i bliku ke xadba bliku +Desert Sandstone Stair=lo cantu'a canro'i serti +Inner Desert Sandstone Stair=lo zo'i cantu'a canro'i serti +Outer Desert Sandstone Stair=lo ze'o cantu'a canro'i serti +Desert Sandstone Slab=lo cantu'a canro'i ke xadba bliku +Desert Sandstone Brick Stair=lo morna ke cantu'a canro'i serti +Inner Desert Sandstone Brick Stair=lo zo'i morna ke cantu'a canro'i serti +Outer Desert Sandstone Brick Stair=lo ze'o morna ke cantu'a canro'i serti +Desert Sandstone Brick Slab=lo morna ke cantu'a canro'i ke xadba bliku +Desert Sandstone Block Stair=lo cantu'a canro'i bliku serti +Inner Desert Sandstone Block Stair=lo zo'i cantu'a canro'i bliku serti +Outer Desert Sandstone Block Stair=lo ze'o cantu'a canro'i bliku serti +Desert Sandstone Block Slab=lo cantu'a canro'i ke xadba bliku +Silver Sandstone Stair=lo rijyska canro'i serti +Inner Silver Sandstone Stair=lo zo'i rijyska canro'i serti +Outer Silver Sandstone Stair=lo ze'o rijyska canro'i serti +Silver Sandstone Slab=lo rijyska canro'i ke xadba bliku +Silver Sandstone Brick Stair=lo morna ke rijyska canro'i serti +Inner Silver Sandstone Brick Stair=lo zo'i morna ke rijyska canro'i serti +Outer Silver Sandstone Brick Stair=lo ze'o morna ke rijyska canro'i serti +Silver Sandstone Brick Slab=lo morna ke rijyska canro'i ke xadba bliku +Silver Sandstone Block Stair=lo rijyska canro'i bliku serti +Inner Silver Sandstone Block Stair=lo zo'i rijyska canro'i bliku serti +Outer Silver Sandstone Block Stair=lo ze'o rijyska canro'i bliku serti +Silver Sandstone Block Slab=lo rijyska canro'i bliku ke xadba bliku +Obsidian Stair=lo je'erma'ablaci serti +Inner Obsidian Stair=lo zo'i je'erma'ablaci serti +Outer Obsidian Stair=lo ze'o je'erma'ablaci serti +Obsidian Slab=lo je'erma'ablaci ke xadba bliku +Obsidian Brick Stair=lo morna ke je'erma'ablaci serti +Inner Obsidian Brick Stair=lo zo'i morna ke je'erma'ablaci serti +Outer Obsidian Brick Stair=lo ze'o morna ke je'erma'ablaci serti +Obsidian Brick Slab=lo morna je'erma'ablaci ke xadba bliku +Obsidian Block Stair=lo je'erma'ablaci bliku serti +Inner Obsidian Block Stair=lo zo'i je'erma'ablaci bliku serti +Outer Obsidian Block Stair=lo ze'o je'erma'ablaci bliku serti +Obsidian Block Slab=lo je'erma'ablaci bliku ke xadba bliku +Brick Stair=lo kitybli serti +Inner Brick Stair=lo zo'i kitybli serti +Outer Brick Stair=lo ze'o kitybli serti +Brick Slab=lo kitybli xadba bliku +Steel Block Stair=lo gasta bliku serti +Inner Steel Block Stair=lo zo'i gasta bliku serti +Outer Steel Block Stair=lo ze'o gasta bliku serti +Steel Block Slab=lo gasta bliku ke xadba bliku +Tin Block Stair=lo tinci bliku serti +Inner Tin Block Stair=lo zo'i tinci bliku serti +Outer Tin Block Stair=lo ze'o tinci bliku serti +Tin Block Slab=lo tinci bliku ke xadba bliku +Copper Block Stair=lo tunka bliku serti +Inner Copper Block Stair=lo zo'i tunka bliku serti +Outer Copper Block Stair=lo ze'o tunka bliku serti +Copper Block Slab=lo tunka xadba bliku +Bronze Block Stair=lo ransu bliku serti +Inner Bronze Block Stair=lo zo'i ransu bliku serti +Outer Bronze Block Stair=lo ze'o ransu bliku serti +Bronze Block Slab=lo ransu xadba bliku +Gold Block Stair=lo solji bliku serti +Inner Gold Block Stair=lo zo'i solji bliku serti +Outer Gold Block Stair=lo ze'o solji bliku serti +Gold Block Slab=lo solji bliku ke xadba bliku +Ice Stair=lo bisli serti +Inner Ice Stair=lo zo'i bisli serti +Outer Ice Stair=lo ze'o bisli serti +Ice Slab=lo bisli ke xadba bliku +Snow Block Stair=lo snime bliku serti +Inner Snow Block Stair=lo zo'i snime bliku serti +Outer Snow Block Stair=lo ze'o snime bliku serti +Snow Block Slab=lo snime bliku ke xadba bliku diff --git a/mods/stairs/locale/stairs.ms.tr b/mods/stairs/locale/stairs.ms.tr new file mode 100644 index 00000000..a39c7f63 --- /dev/null +++ b/mods/stairs/locale/stairs.ms.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Tangga Kaca +Glass Slab=Papak Kaca +Inner Glass Stair=Tangga Kaca Dalaman +Outer Glass Stair=Tangga Kaca Luaran +Obsidian Glass Stair=Tangga Obsidia +Obsidian Glass Slab=Papak Obsidia +Inner Obsidian Glass Stair=Tangga Obsidia Dalaman +Outer Obsidian Glass Stair=Tangga Obsidia Luaran +Wooden Stair=Tangga Kayu +Inner Wooden Stair=Tangga Kayu Dalaman +Outer Wooden Stair=Tangga Kayu Luaran +Wooden Slab=Papak Kayu +Jungle Wood Stair=Tangga Kayu Hutan +Inner Jungle Wood Stair=Tangga Kayu Hutan Dalaman +Outer Jungle Wood Stair=Tangga Kayu Hutan Luaran +Jungle Wood Slab=Papak Kayu Hutan +Pine Wood Stair=Tangga Kayu Pain +Inner Pine Wood Stair=Tangga Kayu Pain Dalaman +Outer Pine Wood Stair=Tangga Kayu Pain Luaran +Pine Wood Slab=Papak Kayu Pain +Acacia Wood Stair=Tangga Kayu Akasia +Inner Acacia Wood Stair=Tangga Kayu Akasia Dalaman +Outer Acacia Wood Stair=Tangga Kayu Akasia Luaran +Acacia Wood Slab=Papak Kayu Akasia +Aspen Wood Stair=Tangga Kayu Aspen +Inner Aspen Wood Stair=Tangga Kayu Aspen Dalaman +Outer Aspen Wood Stair=Tangga Kayu Aspen Luaran +Aspen Wood Slab=Papak Kayu Aspen +Stone Stair=Tangga Batu +Inner Stone Stair=Tangga Batu Dalaman +Outer Stone Stair=Tangga Batu Luaran +Stone Slab=Papak Batu +Cobblestone Stair=Tangga Batu Buntar +Inner Cobblestone Stair=Tangga Batu Buntar Dalaman +Outer Cobblestone Stair=Tangga Batu Buntar Luaran +Cobblestone Slab=Papak Batu Buntar +Mossy Cobblestone Stair=Tangga Batu Buntar Berlumut +Inner Mossy Cobblestone Stair=Tangga Batu Buntar Berlumut Dalaman +Outer Mossy Cobblestone Stair=Tangga Batu Buntar Berlumut Luaran +Mossy Cobblestone Slab=Papak Batu Buntar Berlumut +Stone Brick Stair=Tangga Bata Batu +Inner Stone Brick Stair=Tangga Bata Batu Dalaman +Outer Stone Brick Stair=Tangga Bata Batu Luaran +Stone Brick Slab=Papak Bata Batu +Stone Block Stair=Tangga Bongkah Batu +Inner Stone Block Stair=Tangga Bongkah Batu Dalaman +Outer Stone Block Stair=Tangga Bongkah Batu Luaran +Stone Block Slab=Papak Bongkah Batu +Desert Stone Stair=Tangga Batu Gurun +Inner Desert Stone Stair=Tangga Batu Gurun Dalaman +Outer Desert Stone Stair=Tangga Batu Gurun Luaran +Desert Stone Slab=Papak Batu Gurun +Desert Cobblestone Stair=Tangga Batu Buntar Gurun +Inner Desert Cobblestone Stair=Tangga Batu Buntar Gurun Dalaman +Outer Desert Cobblestone Stair=Tangga Batu Buntar Gurun Luaran +Desert Cobblestone Slab=Papak Batu Buntar Gurun +Desert Stone Brick Stair=Tangga Bata Batu Gurun +Inner Desert Stone Brick Stair=Tangga Bata Batu Gurun Dalaman +Outer Desert Stone Brick Stair=Tangga Bata Batu Gurun Luaran +Desert Stone Brick Slab=Papak Bata Batu Gurun +Desert Stone Block Stair=Tangga Bongkah Batu Gurun +Inner Desert Stone Block Stair=Tangga Bongkah Batu Gurun Dalaman +Outer Desert Stone Block Stair=Tangga Bongkah Batu Gurun Luaran +Desert Stone Block Slab=Papak Bongkah Batu Gurun +Sandstone Stair=Tangga Batu Pasir +Inner Sandstone Stair=Tangga Batu Pasir Dalaman +Outer Sandstone Stair=Tangga Batu Pasir Luaran +Sandstone Slab=Papak Batu Pasir +Sandstone Brick Stair=Tangga Bata Batu Pasir +Inner Sandstone Brick Stair=Tangga Bata Batu Pasir Dalaman +Outer Sandstone Brick Stair=Tangga Bata Batu Pasir Luaran +Sandstone Brick Slab=Papak Bata Batu Pasir +Sandstone Block Stair=Tangga Bongkah Batu Pasir +Inner Sandstone Block Stair=Tangga Bongkah Batu Pasir Dalaman +Outer Sandstone Block Stair=Tangga Bongkah Batu Pasir Luaran +Sandstone Block Slab=Papak Bongkah Batu Pasir +Desert Sandstone Stair=Tangga Batu Pasir Gurun +Inner Desert Sandstone Stair=Tangga Batu Pasir Gurun Dalaman +Outer Desert Sandstone Stair=Tangga Batu Pasir Gurun Luaran +Desert Sandstone Slab=Papak Batu Pasir Gurun +Desert Sandstone Brick Stair=Tangga Bata Batu Pasir Gurun +Inner Desert Sandstone Brick Stair=Tangga Bata Batu Pasir Gurun Dalaman +Outer Desert Sandstone Brick Stair=Tangga Bata Batu Pasir Gurun Luaran +Desert Sandstone Brick Slab=Papak Bata Batu Pasir Gurun +Desert Sandstone Block Stair=Tangga Bongkah Batu Pasir Gurun +Inner Desert Sandstone Block Stair=Tangga Bongkah Batu Pasir Gurun Dalaman +Outer Desert Sandstone Block Stair=Tangga Bongkah Batu Pasir Gurun Luaran +Desert Sandstone Block Slab=Papak Bongkah Batu Pasir Gurun +Silver Sandstone Stair=Tangga Batu Pasir Perak +Inner Silver Sandstone Stair=Tangga Batu Pasir Perak Dalaman +Outer Silver Sandstone Stair=Tangga Batu Pasir Perak Luaran +Silver Sandstone Slab=Papak Batu Pasir Perak +Silver Sandstone Brick Stair=Tangga Bata Batu Pasir Perak +Inner Silver Sandstone Brick Stair=Tangga Bata Batu Pasir Perak Dalaman +Outer Silver Sandstone Brick Stair=Tangga Bata Batu Pasir Perak Luaran +Silver Sandstone Brick Slab=Papak Bata Batu Pasir Perak +Silver Sandstone Block Stair=Tangga Bongkah Batu Pasir Perak +Inner Silver Sandstone Block Stair=Tangga Bongkah Batu Pasir Perak Dalaman +Outer Silver Sandstone Block Stair=Tangga Bongkah Batu Pasir Perak Luaran +Silver Sandstone Block Slab=Papak Bongkah Batu Pasir Perak +Obsidian Stair=Tangga Obsidia +Inner Obsidian Stair=Tangga Obsidia Dalaman +Outer Obsidian Stair=Tangga Obsidia Luaran +Obsidian Slab=Papak Obsidia +Obsidian Brick Stair=Tangga Bata Obsidia +Inner Obsidian Brick Stair=Tangga Bata Obsidia Dalaman +Outer Obsidian Brick Stair=Tangga Bata Obsidia Luaran +Obsidian Brick Slab=Papak Bata Obsidia +Obsidian Block Stair=Tangga Bongkah Obsidia +Inner Obsidian Block Stair=Tangga Bongkah Obsidia Dalaman +Outer Obsidian Block Stair=Tangga Bongkah Obsidia Luaran +Obsidian Block Slab=Papak Bongkah Obsidia +Brick Stair=Tangga Bata +Inner Brick Stair=Tangga Bata Dalaman +Outer Brick Stair=Tangga Bata Luaran +Brick Slab=Papak Bata +Steel Block Stair=Tangga Bongkah Keluli +Inner Steel Block Stair=Tangga Bongkah Keluli Dalaman +Outer Steel Block Stair=Tangga Bongkah Keluli Luaran +Steel Block Slab=Papak Bongkah Keluli +Tin Block Stair=Tangga Bongkah Timah +Inner Tin Block Stair=Tangga Bongkah Timah Dalaman +Outer Tin Block Stair=Tangga Bongkah Timah Luaran +Tin Block Slab=Papak Bongkah Timah +Copper Block Stair=Tangga Bongkah Tembaga +Inner Copper Block Stair=Tangga Bongkah Tembaga Dalaman +Outer Copper Block Stair=Tangga Bongkah Tembaga Luaran +Copper Block Slab=Papak Bongkah Tembaga +Bronze Block Stair=Tangga Bongkah Gangsa +Inner Bronze Block Stair=Tangga Bongkah Gangsa Dalaman +Outer Bronze Block Stair=Tangga Bongkah Gangsa Luaran +Bronze Block Slab=Papak Bongkah Gangsa +Gold Block Stair=Tangga Bongkah Emas +Inner Gold Block Stair=Tangga Bongkah Emas Dalaman +Outer Gold Block Stair=Tangga Bongkah Emas Luaran +Gold Block Slab=Papak Bongkah Emas +Ice Stair=Tangga Ais +Inner Ice Stair=Tangga Ais Dalaman +Outer Ice Stair=Tangga Ais Luaran +Ice Slab=Papak Ais +Snow Block Stair=Tangga Bongkah Salji +Inner Snow Block Stair=Tangga Bongkah Salji Dalaman +Outer Snow Block Stair=Tangga Bongkah Salji Luaran +Snow Block Slab=Papak Bongkah Salji diff --git a/mods/stairs/locale/stairs.pt_BR.tr b/mods/stairs/locale/stairs.pt_BR.tr new file mode 100644 index 00000000..41777a81 --- /dev/null +++ b/mods/stairs/locale/stairs.pt_BR.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Escada de vidro +Glass Slab=Placa de vidro +Inner Glass Stair=Escada interior de vidro +Outer Glass Stair=Escada exterior de vidro +Obsidian Glass Stair=Escada de vidro de obsidiana +Obsidian Glass Slab=Placa de vidro de obsidiana +Inner Obsidian Glass Stair=Escada interior de vidro de obsidiana +Outer Obsidian Glass Stair=Escada exterior de vidro de obsidiana +Wooden Stair=Escada de madeira +Inner Wooden Stair=Escada interior de madeira +Outer Wooden Stair=Escada exterior de madeira +Wooden Slab=Laje de madeira +Jungle Wood Stair=Escada de madeira da selva +Inner Jungle Wood Stair=Escada interior de madeira da selva +Outer Jungle Wood Stair=Escada exterior de madeira da selva +Jungle Wood Slab=Laje de madeira da selva +Pine Wood Stair=Escada de madeira de pinho +Inner Pine Wood Stair=Escada interior de madeira de pinho +Outer Pine Wood Stair=Escada exterior de madeira de pinho +Pine Wood Slab=Laje de madeira de pinho +Acacia Wood Stair=Escada de madeira de acácia +Inner Acacia Wood Stair=Escada interior de madeira de acácia +Outer Acacia Wood Stair=Escada exterior de madeira de acácia +Acacia Wood Slab=Placa de madeira de acácia +Aspen Wood Stair=Escada de Álamo +Inner Aspen Wood Stair=Escada interior de Álamo +Outer Aspen Wood Stair=Escada exterior de Álamo +Aspen Wood Slab=Laje de Álamo +Stone Stair=Escada de Pedra +Inner Stone Stair=Escada interior de Pedra +Outer Stone Stair=Escada exterior de Pedra +Stone Slab=Laje de pedra +Cobblestone Stair=Escada de paralelepípedo +Inner Cobblestone Stair=Escada interior de paralelepípedo +Outer Cobblestone Stair=Escada exterior de paralelepípedo +Cobblestone Slab=Laje de paralelepípedo +Mossy Cobblestone Stair=Escada de paralelepípedo com musgo +Inner Mossy Cobblestone Stair=Escada interior de paralelepípedo com musgo +Outer Mossy Cobblestone Stair=Escada exterior de paralelepípedo com musgo +Mossy Cobblestone Slab=Laje de paralelepípedo com musgo +Stone Brick Stair=Escada de tijolo de pedra +Inner Stone Brick Stair=Escada interior de tijolo de pedra +Outer Stone Brick Stair=Escada exterior de tijolo de pedra +Stone Brick Slab=Laje de tijolo de pedra +Stone Block Stair=Escada Bloco de Pedra +Inner Stone Block Stair=Escada Interna de Bloco de Pedra +Outer Stone Block Stair=Escada Externa de Bloco de Pedra +Stone Block Slab=Laje de bloco de pedra +Desert Stone Stair=Escada de Pedra do Deserto +Inner Desert Stone Stair=Escada Interior de Pedra do Deserto +Outer Desert Stone Stair=Escada Exterior de Pedra do Deserto +Desert Stone Slab=Laje de pedra do deserto +Desert Cobblestone Stair=Escada de paralelepípedo do deserto +Inner Desert Cobblestone Stair=Escada interior de paralelepípedo do deserto +Outer Desert Cobblestone Stair=Escada exterior de paralelepípedo do deserto +Desert Cobblestone Slab=Laje de paralelepípedo do deserto +Desert Stone Brick Stair=Escada de tijolo de pedra do deserto +Inner Desert Stone Brick Stair=Escada interior de tijolos de pedra do deserto +Outer Desert Stone Brick Stair=Escada exterior de tijolos de pedra do deserto +Desert Stone Brick Slab=Laje de tijolo de pedra do deserto +Desert Stone Block Stair=Escada de Bloco de Pedra do Deserto +Inner Desert Stone Block Stair=Escada interior de bloco de pedra do deserto +Outer Desert Stone Block Stair=Escada exterior de Bloco de Pedra do Deserto +Desert Stone Block Slab=Laje do bloco de pedra do deserto +Sandstone Stair=Escada de arenito +Inner Sandstone Stair=Escada interior de arenito +Outer Sandstone Stair=Escada Exterior de Arenito +Sandstone Slab=Laje de arenito +Sandstone Brick Stair=Escada de tijolo de arenito +Inner Sandstone Brick Stair=Escada interior de tijolos de arenito +Outer Sandstone Brick Stair=Escada Exterior de Tijolo de Arenito +Sandstone Brick Slab=Laje de tijolo de arenito +Sandstone Block Stair=Escada do Bloco de Arenito +Inner Sandstone Block Stair=Escada interior de bloco de arenito +Outer Sandstone Block Stair=Escada exterior de bloco de arenito +Sandstone Block Slab=Laje de bloco de arenito +Desert Sandstone Stair=Escada de arenito do deserto +Inner Desert Sandstone Stair=Escada interior de arenito do deserto +Outer Desert Sandstone Stair=Escada exterior de arenito do deserto +Desert Sandstone Slab=Laje de arenito do deserto +Desert Sandstone Brick Stair=Escada de tijolos de arenito do deserto +Inner Desert Sandstone Brick Stair=Escada interior de tijolos de arenito do deserto +Outer Desert Sandstone Brick Stair=Escada exterior de tijolos de arenito do deserto +Desert Sandstone Brick Slab=Laje de tijolo de arenito do deserto +Desert Sandstone Block Stair=Escada do bloco de arenito do deserto +Inner Desert Sandstone Block Stair=Escada interior do bloco de arenito do deserto +Outer Desert Sandstone Block Stair=Escada exterior de bloco de arenito do deserto +Desert Sandstone Block Slab=Laje de bloco de arenito do deserto +Silver Sandstone Stair=Escada de arenito prateado +Inner Silver Sandstone Stair=Escada interior de Arenito Prateado +Outer Silver Sandstone Stair=Escada exterior de Arenito Prateado +Silver Sandstone Slab=Laje de arenito prateado +Silver Sandstone Brick Stair=Escada de tijolos de arenito prateado +Inner Silver Sandstone Brick Stair=Escada interior de tijolos de arenito prateado +Outer Silver Sandstone Brick Stair=Escada exterior de tijolos de arenito prateado +Silver Sandstone Brick Slab=Laje de tijolo de arenito prateado +Silver Sandstone Block Stair=Escada de blocos de arenito prateado +Inner Silver Sandstone Block Stair=Escada interior de bloco de arenito prateado +Outer Silver Sandstone Block Stair=Escada exterior de bloco de arenito prateado +Silver Sandstone Block Slab=Laje de bloco de arenito prateado +Obsidian Stair=Escada de Obsidiana +Inner Obsidian Stair=Escada interior de Obsidiana +Outer Obsidian Stair=Escada exterior de Obsidiana +Obsidian Slab=Laje de Obsidiana +Obsidian Brick Stair=Escada de Tijolos de Obsidiana +Inner Obsidian Brick Stair=Escada interna de Tijolos de Obsidiana +Outer Obsidian Brick Stair=Escada externa de Tijolos de Obsidiana +Obsidian Brick Slab=Laje de tijolos de obsidiana +Obsidian Block Stair=Escada de Bloco de Obsidiana +Inner Obsidian Block Stair=Escada interior de Bloco de obsidiana +Outer Obsidian Block Stair=Escada exterior de Bloco de obsidiana +Obsidian Block Slab=Laje de bloco de obsidiana +Brick Stair=Escada de Tijolos +Inner Brick Stair=Escada interior de Tijolos +Outer Brick Stair=Escada exterior de Tijolos +Brick Slab=Laje de tijolos +Steel Block Stair=Escada de bloco de aço +Inner Steel Block Stair=Escada interior de bloco de aço +Outer Steel Block Stair=Escada exterior de bloco de aço +Steel Block Slab=Laje de bloco de aço +Tin Block Stair=Escada de bloco de estanho +Inner Tin Block Stair=Escada interior de bloco de estanho +Outer Tin Block Stair=Escada exterior de bloco de lata +Tin Block Slab=Laje de bloco de estanho +Copper Block Stair=Escada de bloco de cobre +Inner Copper Block Stair=Escada interior de Bloco de Cobre +Outer Copper Block Stair=Escada exterior do Bloco de Cobre +Copper Block Slab=Laje de bloco de cobre +Bronze Block Stair=Escada Bloco de Bronze +Inner Bronze Block Stair=Escada interior de bloco de bronze +Outer Bronze Block Stair=Escada exterior de Bloco de Bronze +Bronze Block Slab=Laje de bloco de bronze +Gold Block Stair=Escada Bloco de Ouro +Inner Gold Block Stair=Escada interior de Bloco de Ouro +Outer Gold Block Stair=Escada exterior de Bloco de Ouro +Gold Block Slab=Laje de Bloco de Ouro +Ice Stair=Escada de gelo +Inner Ice Stair=Escada de gelo interior +Outer Ice Stair=Escada de gelo exterior +Ice Slab=Laje de gelo +Snow Block Stair=Escada Bloco de Neve +Inner Snow Block Stair=Escada de bloco de neve interior +Outer Snow Block Stair=Escada de bloco de neve exterior +Snow Block Slab=Laje de bloco de neve diff --git a/mods/stairs/locale/stairs.ru.tr b/mods/stairs/locale/stairs.ru.tr new file mode 100644 index 00000000..2d5850ea --- /dev/null +++ b/mods/stairs/locale/stairs.ru.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Стеклянная Ступень +Glass Slab=Стеклянная Плита +Inner Glass Stair=Угловая Стеклянная Ступень (Внутренний Угол) +Outer Glass Stair=Угловая Стеклянная Ступень (Внешний Угол) +Obsidian Glass Stair=Стеклянная Ступень Из Обсидиана +Obsidian Glass Slab=Стеклянная Плита Из Обсидиана +Inner Obsidian Glass Stair=Угловая Стеклянная Ступень Из Обсидиана (Внутренний Угол) +Outer Obsidian Glass Stair=Угловая Стеклянная Ступень Из Обсидиана (Внешний Угол) +Wooden Stair=Яблоневая Деревянная Ступень +Inner Wooden Stair=Угловая Яблоневая Деревянная Ступень (Внутренний Угол) +Outer Wooden Stair=Угловая Яблоневая Деревянная Ступень (Внешний Угол) +Wooden Slab=Яблоневая Деревянная Плита +Jungle Wood Stair=Тропическая Деревянная Ступень +Inner Jungle Wood Stair=Угловая Тропическая Деревянная Ступень (Внутренний Угол) +Outer Jungle Wood Stair=Угловая Тропическая Деревянная Ступень (Внешний Угол) +Jungle Wood Slab=Тропическая Деревянная Плита +Pine Wood Stair=Сосновая Деревянная Ступень +Inner Pine Wood Stair=Угловая Сосновая Деревянная Ступень (Внутренний Угол) +Outer Pine Wood Stair=Угловая Сосновая Деревянная Ступень (Внешний Угол) +Pine Wood Slab=Сосновая Деревянная Плита +Acacia Wood Stair=Деревянная Ступень Из Акации +Inner Acacia Wood Stair=Угловая Деревянная Ступень Из Акации (Внутренний Угол) +Outer Acacia Wood Stair=Угловая Деревянная Ступень Из Акации (Внешний Угол) +Acacia Wood Slab=Деревянная Плита Из Акации +Aspen Wood Stair=Осиновая Деревянная Ступень +Inner Aspen Wood Stair=Угловая Осиновая Деревянная Ступень (Внутренний Угол) +Outer Aspen Wood Stair=Угловая осиновая Деревянная Ступень (Внешний Угол) +Aspen Wood Slab=Осиновая Деревянная Плита +Stone Stair=Каменная Ступень +Inner Stone Stair=Угловая Каменная Ступень (Внутренний Угол) +Outer Stone Stair=Угловая Каменная Ступень (Внешний Угол) +Stone Slab=Каменная Плита +Cobblestone Stair=Булыжниковая Ступень +Inner Cobblestone Stair=Угловая Булыжниковая Ступень (Внутренний Угол) +Outer Cobblestone Stair=Угловая Булыжниковая Ступень (Внешний Угол) +Cobblestone Slab=Булыжниковая Плита +Mossy Cobblestone Stair=Мшистая Булыжниковая Ступень +Inner Mossy Cobblestone Stair=Угловая Мшистая Булыжниковая Ступень (Внутренний Угол) +Outer Mossy Cobblestone Stair=Угловая Мшистая Булыжниковая Ступень (Внешний Угол) +Mossy Cobblestone Slab=Мшистая Булыжниковая Плита +Stone Brick Stair=Cтупень Из Каменных Кирпичей +Inner Stone Brick Stair=Угловая Ступень Из Каменных Кирпичей (Внутренний Угол) +Outer Stone Brick Stair=Угловая Ступень Из Каменных Кирпичей (Внешний Угол) +Stone Brick Slab=Плита Из Каменных Кирпичей +Stone Block Stair=Ступень Из Каменного Блока +Inner Stone Block Stair=Угловая Ступень Из Каменного Блока (Внутренний Угол) +Outer Stone Block Stair=Угловая Ступень Из Каменного Блока (Внешний Угол) +Stone Block Slab=Плита Из Каменного Блока +Desert Stone Stair=Ступень Из Пустынного Камня +Inner Desert Stone Stair=Угловая Ступень Из Пустынного Камня (Внутренний Угол) +Outer Desert Stone Stair=Угловая Ступень Из Пустынного Камня (Внешний Угол) +Desert Stone Slab=Плита Из Пустынного Камня +Desert Cobblestone Stair=Ступень Из Пустынного Булыжника +Inner Desert Cobblestone Stair=Угловая Ступень Из Пустынного Булыжника (Внутренний Угол) +Outer Desert Cobblestone Stair=Угловая Ступень Из Пустынного Булыжника (Внешний Угол) +Desert Cobblestone Slab=Плита Из Пустынного Камня +Desert Stone Brick Stair=Ступень Из Кирпичей Пустынного Камня +Inner Desert Stone Brick Stair=Угловая Ступень Из Кирпичей Пустынного Камня (Внутренний Угол) +Outer Desert Stone Brick Stair=Угловая Ступень Из Кирпичей Пустынного Камня (Внешний Угол) +Desert Stone Brick Slab=Плита Из Кирпичей Пустынного Камня +Desert Stone Block Stair=Ступень Из Пустынного Каменного Блока +Inner Desert Stone Block Stair=Угловая Ступень Из Пустынного Каменного Блока (Внутренний Угол) +Outer Desert Stone Block Stair=Угловая Ступень Из Пустынного Каменного Блока (Внешний Угол) +Desert Stone Block Slab=Плита Из Пустынного Каменного Блока +Sandstone Stair=Песчаниковая Ступень +Inner Sandstone Stair=Угловая Песчаниковая Ступень (Внутренний Угол) +Outer Sandstone Stair=Угловая Песчаниковая Ступень (Внешний Угол) +Sandstone Slab=Песчаниковая Плита +Sandstone Brick Stair=Ступень Из Песчаниковых Кирпичей +Inner Sandstone Brick Stair=Угловая Ступень Из Песчаниковых Кирпичей (Внутренний Угол) +Outer Sandstone Brick Stair=Угловая Ступень Из Песчаниковых Кирпичей (Внешний Угол) +Sandstone Brick Slab=Плита Из Песчаниковых Кирпичей +Sandstone Block Stair=Ступень Из Песчаникового Блока +Inner Sandstone Block Stair=Угловая Ступень Из Песчаникового Блока (Внутренний Угол) +Outer Sandstone Block Stair=Угловая Ступень Из Песчаникового Блока (Внешний Угол) +Sandstone Block Slab=Плита Из Песчаникового Блока +Desert Sandstone Stair=Ступень Из Пустынного Песчаника +Inner Desert Sandstone Stair=Угловая Ступень Из Пустынного Песчаника (Внутренний Угол) +Outer Desert Sandstone Stair=Угловая Ступень Из Пустынного Песчаника (Внешний Угол) +Desert Sandstone Slab=Плита Из Пустынного Песчаника +Desert Sandstone Brick Stair=Ступень Из Кирпичей Пустынного Песчаника +Inner Desert Sandstone Brick Stair=Угловая Ступень Из Кирпичей Пустынного Песчаника (Внутренний Угол) +Outer Desert Sandstone Brick Stair=Угловая Ступень Из Кирпичей Пустынного Песчаника (Внешний Угол) +Desert Sandstone Brick Slab=Плита Из Кирпичей Пустынного Песчаника +Desert Sandstone Block Stair=Ступень Из Пустынного Песчаникового Блока +Inner Desert Sandstone Block Stair=Угловая Ступень Из Пустынного Песчаникового Блока (Внутренний Угол) +Outer Desert Sandstone Block Stair=Угловая Ступень Из Пустынного Песчаникового Блока (Внешний Угол) +Desert Sandstone Block Slab=Плита Из Пустынного Песчаникового Блока +Silver Sandstone Stair=Ступень Из Серебрянного Песчаника +Inner Silver Sandstone Stair=Угловая Ступень Из Серебряного Песчаника (Внутренний Угол) +Outer Silver Sandstone Stair=Угловая Ступень Из Серебряного Песчаника (Внешний Угол) +Silver Sandstone Slab=Плита Из Серебряного Песчаника +Silver Sandstone Brick Stair=Ступень Из Кирпичей Серебряного Песчаника +Inner Silver Sandstone Brick Stair=Угловая Ступень Из Кирпичей Серебряного Песчаника (Внутренний Угол) +Outer Silver Sandstone Brick Stair=Угловая Ступень Из Кирпичей Серебряного Песчаника (Внешний Угол) +Silver Sandstone Brick Slab=Плита Из Кирпичей Серебряного Песчаника +Silver Sandstone Block Stair=Ступень Из Серебряного Песчаникового Блока +Inner Silver Sandstone Block Stair=Угловая Ступень Из Серебряного Песчаникового Блока (Внутренний Угол) +Outer Silver Sandstone Block Stair=Угловая Ступень Из Серебряного Песчаникового Блока (Внешний Угол) +Silver Sandstone Block Slab=Плита Из Серебряного Песчаникового Блока +Obsidian Stair=Обсидиановая Ступень +Inner Obsidian Stair=Угловая Обсидиановая Ступень (Внутренний Угол) +Outer Obsidian Stair=Угловая Обсидиановая Ступень (Внешний Угол) +Obsidian Slab=Обсидиановая Плита +Obsidian Brick Stair=Ступень Из Обсидиановых Кирпичей +Inner Obsidian Brick Stair=Угловая Ступень Из Обсидиановых Кирпичей (Внутренний Угол) +Outer Obsidian Brick Stair=Угловая Ступень Из Обсидиановых Кирпичей (Внешний Угол) +Obsidian Brick Slab=Плита Из Обсидиановых Кирпичей +Obsidian Block Stair=Ступень Из Обсидианового Блока +Inner Obsidian Block Stair=Угловая Ступень Из Обсидианового Блока (Внутренний Угол) +Outer Obsidian Block Stair=Угловая Ступень Из Обсидианового Блока (Внешний Угол) +Obsidian Block Slab=Плита Из Обсидианового Блока +Brick Stair=Ступень Из Кирпичей +Inner Brick Stair=Угловая Ступень Из Кирпичей (Внутренний Угол) +Outer Brick Stair=Угловая Ступень Из Кирпичей (Внешний Угол) +Brick Slab=Плита Из Кирпичей +Steel Block Stair=Ступень Из Стального Блока +Inner Steel Block Stair=Угловая Ступень Из Стального Блока (Внутренний Угол) +Outer Steel Block Stair=Угловая Ступень Из Стального Блока (Внешний Угол) +Steel Block Slab=Плита Из Стального Блока +Tin Block Stair=Ступень Из Оловянного Блока +Inner Tin Block Stair=Угловая Ступень Из Оловянного Блока (Внутренний Угол) +Outer Tin Block Stair=Угловая Ступень Из Оловянного Блока (Внешний Угол) +Tin Block Slab=Плита Из Оловянного Блока +Copper Block Stair=Ступень Из Медного Блока +Inner Copper Block Stair=Угловая Ступень Из Медного Блока (Внутренний Угол) +Outer Copper Block Stair=Угловая Ступень Из Медного Блока (Внешний Угол) +Copper Block Slab=Плита Из Медного Блока +Bronze Block Stair=Ступень Из Бронзового Блока +Inner Bronze Block Stair=Угловая Ступень Из Бронзового Блока (Внутренний Угол) +Outer Bronze Block Stair=Угловая Ступень Из Бронзового Блока (Внешний Угол) +Bronze Block Slab=Плита Из Бронзового Блока +Gold Block Stair=Ступень Из Золотого Блока +Inner Gold Block Stair=Угловая Ступень Из Золотого Блока (Внутренний Угол) +Outer Gold Block Stair=Угловая Ступень Из Золотого Блока (Внешний Угол) +Gold Block Slab=Плита Из Золотого Блока +Ice Stair=Ледяная Ступень +Inner Ice Stair=Угловая Ледяная Ступень (Внутренний Угол) +Outer Ice Stair=Угловая Ледяная Ступень (Внешний Угол) +Ice Slab=Ледяная Плита +Snow Block Stair=Ступень Из Снежного Блока +Inner Snow Block Stair=Угловая Ступень Из Снежного Блока (Внутренний Угол) +Outer Snow Block Stair=Угловая Ступень Из Снежного Блока (Внешний Угол) +Snow Block Slab=Плита Из Снежного Блока diff --git a/mods/stairs/locale/stairs.sk.tr b/mods/stairs/locale/stairs.sk.tr new file mode 100644 index 00000000..b006fdb5 --- /dev/null +++ b/mods/stairs/locale/stairs.sk.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Sklenené schod +Glass Slab=Sklenený stupienok +Inner Glass Stair=Vnútorný sklenené schod +Outer Glass Stair=Vonkajší sklenené schod +Obsidian Glass Stair=Obsidiánové sklenené schod +Obsidian Glass Slab=Obsidiánový sklenený stupienok +Inner Obsidian Glass Stair=Vnútorný obsidiánové sklenené schod +Outer Obsidian Glass Stair=Vonkajší obsidiánové sklenené schod +Wooden Stair=Drevené schod +Inner Wooden Stair=Vnútorný drevené schod +Outer Wooden Stair=Vonkajší drevené schod +Wooden Slab=Drevený stupienok +Jungle Wood Stair=Drevené schod z džungľového dreva +Inner Jungle Wood Stair=Vnútorný drevené schod z džungľového dreva +Outer Jungle Wood Stair=Vonkajší drevené schod z džungľového dreva +Jungle Wood Slab=Stupienok z džungľového dreva +Pine Wood Stair=Drevené schod z borovicového dreva +Inner Pine Wood Stair=Vnútorný drevené schod z borovicového dreva +Outer Pine Wood Stair=Vonkajší drevené schod z borovicového dreva +Pine Wood Slab=Stupienok z borovicového dreva +Acacia Wood Stair=Drevené schod z akáciového dreva +Inner Acacia Wood Stair=Vnútorný drevené schod z akáciového dreva +Outer Acacia Wood Stair=Vonkajší drevené schod z akáciového dreva +Acacia Wood Slab=Stupienok z akáciového dreva +Aspen Wood Stair=Drevené schod z osiky +Inner Aspen Wood Stair=Vnútorný drevené schod z osiky +Outer Aspen Wood Stair=Vonkajší drevené schod z osiky +Aspen Wood Slab=Stupienok z osiky +Stone Stair=Kamenné schod +Inner Stone Stair=Vnútorný kamenné schod +Outer Stone Stair=Vonkajší kamenné schod +Stone Slab=Kamenný stupienok +Cobblestone Stair=Schod z dlažbového kameňa +Inner Cobblestone Stair=Vnútorný schod z dlažbového kameňa +Outer Cobblestone Stair=Vonkajší schod z dlažbového kameňa +Cobblestone Slab=Stupienok z dlažbového kameňa +Mossy Cobblestone Stair=Schod dlažbového kameňa obrastené machom +Inner Mossy Cobblestone Stair=Vnútorný schod dlažbového kameňa obrastené machom +Outer Mossy Cobblestone Stair=Vonkajší schod dlažbového kameňa obrastené machom +Mossy Cobblestone Slab=Stupienok z dlažbového kameňa obrastený machom +Stone Brick Stair=Schod z kamenných tehál +Inner Stone Brick Stair=Vnútorný schod z kamenných tehál +Outer Stone Brick Stair=Vonkajší schod z kamenných tehál +Stone Brick Slab=Stupienok z kamenných tehál +Stone Block Stair=Schod z kameňa +Inner Stone Block Stair=Vnútorný schod z kameňa +Outer Stone Block Stair=Vonkajší schod z kameňa +Stone Block Slab=Stupienok z kameňa +Desert Stone Stair=Schod z púštneho kameňa +Inner Desert Stone Stair=Vnútorný schod z púštneho kameňa +Outer Desert Stone Stair=Vonkajší schod z púštneho kameňa +Desert Stone Slab=Stupienok z púštneho kameňa +Desert Cobblestone Stair=Schod z púštneho dlažbového kameňa +Inner Desert Cobblestone Stair=Vnútorný schod z púštneho dlažbového kameňa +Outer Desert Cobblestone Stair=Vonkajší schod z púštneho dlažbového kameňa +Desert Cobblestone Slab=Stupienok z púštneho dlažbového kameňa +Desert Stone Brick Stair=Schod z tehiel z púštneho kameňa +Inner Desert Stone Brick Stair=Vnútorný schod z tehiel z púštneho kameňa +Outer Desert Stone Brick Stair=Vonkajší schod z tehiel z púštneho kameňa +Desert Stone Brick Slab=Stupienok z tehiel z púštneho kameňa +Desert Stone Block Stair=Schod z blokov púštneho kameňa +Inner Desert Stone Block Stair=Vnútorný schod z blokov púštneho kameňa +Outer Desert Stone Block Stair=Vonkajší schod z blokov púštneho kameňa +Desert Stone Block Slab=Stupienok z blokov púštneho kameňa +Sandstone Stair=Schod z pieskovca +Inner Sandstone Stair=Vnútorný schod z pieskovca +Outer Sandstone Stair=Vonkajší schod z pieskovca +Sandstone Slab=Stupienok z pieskovca +Sandstone Brick Stair=Schod z tehál pieskovca +Inner Sandstone Brick Stair=Vnútorný schod z tehál pieskovca +Outer Sandstone Brick Stair=Vonkajší schod z tehál pieskovca +Sandstone Brick Slab=Stupienok z tehál pieskovca +Sandstone Block Stair=Schod z blokov pieskovca +Inner Sandstone Block Stair=Vnútorný schod z blokov pieskovca +Outer Sandstone Block Stair=Vonkajší schod z blokov pieskovca +Sandstone Block Slab=Stupienok z blokov pieskovca +Desert Sandstone Stair=Schod z púštneho pieskovca +Inner Desert Sandstone Stair=Vnútorný schod z púštneho pieskovca +Outer Desert Sandstone Stair=Vonkajší schod z púštneho pieskovca +Desert Sandstone Slab=Stupienok z púštneho pieskovca +Desert Sandstone Brick Stair=Schod z tehál z púštneho pieskovca +Inner Desert Sandstone Brick Stair=Vnútorný schod z tehál z púštneho pieskovca +Outer Desert Sandstone Brick Stair=Vonkajší schod z tehál z púštneho pieskovca +Desert Sandstone Brick Slab=Stupienok z tehál z púštneho pieskovca +Desert Sandstone Block Stair=Schod z blokov púštneho pieskovca +Inner Desert Sandstone Block Stair=Vnútorný schod z blokov púštneho pieskovca +Outer Desert Sandstone Block Stair=Vonkajší schod z blokov púštneho pieskovca +Desert Sandstone Block Slab=Stupienok z blokov púštneho pieskovca +Silver Sandstone Stair=Schod zo strieborného pieskovca +Inner Silver Sandstone Stair=Vnútorný schod zo strieborného pieskovca +Outer Silver Sandstone Stair=Vonkajší schod zo strieborného pieskovca +Silver Sandstone Slab=Stupienok zo strieborného pieskovca +Silver Sandstone Brick Stair=Schod z tehál zo strieborného pieskovca +Inner Silver Sandstone Brick Stair=Vnútorný schod z tehál zo strieborného pieskovca +Outer Silver Sandstone Brick Stair=Vonkajší schod z tehál zo strieborného pieskovca +Silver Sandstone Brick Slab=Stupienok z tehál zo strieborného pieskovca +Silver Sandstone Block Stair=Schod z blokov strieborného pieskovca +Inner Silver Sandstone Block Stair=Vnútorný schod z blokov strieborného pieskovca +Outer Silver Sandstone Block Stair=Vonkajší schod z blokov strieborného pieskovca +Silver Sandstone Block Slab=Stupienok z blokov strieborného pieskovca +Obsidian Stair=Schod z obsidiánu +Inner Obsidian Stair=Vnútorný schod z obsidiánu +Outer Obsidian Stair=Vonkajší schod z obsidiánu +Obsidian Slab=Stupienok z obsidiánu +Obsidian Brick Stair=Schod z tehál obsidiánu +Inner Obsidian Brick Stair=Vnútorný schod z tehál obsidiánu +Outer Obsidian Brick Stair=Vonkajší schod z tehál obsidiánu +Obsidian Brick Slab=Stupienok z tehál obsidiánu +Obsidian Block Stair=Schod z bloku obsidiánu +Inner Obsidian Block Stair=Vnútorný schod z bloku obsidiánu +Outer Obsidian Block Stair=Vonkajší schod z bloku obsidiánu +Obsidian Block Slab=Stupienok z bloku obsidiánu +Brick Stair=Schod z tehál +Inner Brick Stair=Vnútorný schod z tehál +Outer Brick Stair=Vonkajší schod z tehál +Brick Slab=Stupienok z tehál +Steel Block Stair=Oceľový schod +Inner Steel Block Stair=Vnútorný oceľový schod +Outer Steel Block Stair=Vonkajší oceľový schod +Steel Block Slab=Oceľový stupienok +Tin Block Stair=Cínový schod +Inner Tin Block Stair=Vnútorný cínový schod +Outer Tin Block Stair=Vonkajší cínový schod +Tin Block Slab=Cínový stupienok +Copper Block Stair=Medený schod +Inner Copper Block Stair=Vnútorný medený schod +Outer Copper Block Stair=Vonkajší medený schod +Copper Block Slab=Medený stupienok +Bronze Block Stair=Bronzový schod +Inner Bronze Block Stair=Vnútorný bronzový schod +Outer Bronze Block Stair=Vonkajší bronzový schod +Bronze Block Slab=Bronzový stupienok +Gold Block Stair=Zlatý schod +Inner Gold Block Stair=Vnútorný zlatý schod +Outer Gold Block Stair=Vonkajší zlatý schod +Gold Block Slab=Zlatý stupienok +Ice Stair=Ľadový schod +Inner Ice Stair=Vnútorný ľadový schod +Outer Ice Stair=Vonkajší ľadový schod +Ice Slab=Ľadový stupienok +Snow Block Stair=Snehový schod +Inner Snow Block Stair=Vnútorný snehový schod +Outer Snow Block Stair=Vonkajší snehový schod +Snow Block Slab=Snehový stupienok diff --git a/mods/stairs/locale/stairs.sv.tr b/mods/stairs/locale/stairs.sv.tr new file mode 100644 index 00000000..8044af81 --- /dev/null +++ b/mods/stairs/locale/stairs.sv.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Glastrappa +Glass Slab=Glasplatta +Inner Glass Stair=Inre glasstrappa +Outer Glass Stair=Yttre glasstrappa +Obsidian Glass Stair=Obsidianglasstrappa +Obsidian Glass Slab=Obsidianglasplatta +Inner Obsidian Glass Stair=Inre obsidianglastrappa +Outer Obsidian Glass Stair=Yttre obsidianglastrappa +Wooden Stair=Trätrappa +Inner Wooden Stair=Inre trätrappa +Outer Wooden Stair=Yttre trätrappa +Wooden Slab=Träplatta +Jungle Wood Stair=Djungelträtrappa +Inner Jungle Wood Stair=Inre djungelträtrappa +Outer Jungle Wood Stair=Ytter djungelträtrappa +Jungle Wood Slab=Djungelträplatta +Pine Wood Stair=Tallträplatta +Inner Pine Wood Stair=Inre tallträplatta +Outer Pine Wood Stair=Ytter tallträplatta +Pine Wood Slab=Tallskiva +Acacia Wood Stair=Acaciatrappa +Inner Acacia Wood Stair=Inre acaciatrappa +Outer Acacia Wood Stair=Yttre acaciatrappa +Acacia Wood Slab=Acaciaplatta +Aspen Wood Stair=Aspträtrappa +Inner Aspen Wood Stair=Inre aspträtrappa +Outer Aspen Wood Stair=Yttre aspträtrappa +Aspen Wood Slab=Aspträplatta +Stone Stair=Stentrappa +Inner Stone Stair=Inre stentrappa +Outer Stone Stair=Yttre stentrappa +Stone Slab=Stenplatta +Cobblestone Stair=Kullerstenstrappa +Inner Cobblestone Stair=Inre kullerstenstrappa +Outer Cobblestone Stair=Yttre kullerstenstrappa +Cobblestone Slab=Kullerstenplatta +Mossy Cobblestone Stair=Mossig kullerstenstrappa +Inner Mossy Cobblestone Stair=Inre mossig kullerstenstrappa +Outer Mossy Cobblestone Stair=Yttre mossig kullerstenstrappa +Mossy Cobblestone Slab=Mossig kullerstenplatta +Stone Brick Stair=Stentegeltrappa +Inner Stone Brick Stair=Inre stentegeltrappa +Outer Stone Brick Stair=Yttre stentegeltrappa +Stone Brick Slab=Stentegelplatta +Stone Block Stair=Stenblockstrappa +Inner Stone Block Stair=Inre stenblockstrappa +Outer Stone Block Stair=Yttre stenblockstrappa +Stone Block Slab=Stenblocksplatta +Desert Stone Stair=Ökenstentrappa +Inner Desert Stone Stair=Inre ökenstentrappa +Outer Desert Stone Stair=Yttre ökenstentrappa +Desert Stone Slab=Ökenstenplatta +Desert Cobblestone Stair=Ökenkullerstenstrappa +Inner Desert Cobblestone Stair=Inre ökenkullerstenstrappa +Outer Desert Cobblestone Stair=Yttre ökenkullerstenstrappa +Desert Cobblestone Slab=Ökenkullerstensplatta +Desert Stone Brick Stair=Ökentegelstenstrappa +Inner Desert Stone Brick Stair=Inre Ökentegelstenstrappa +Outer Desert Stone Brick Stair=Yttre Ökentegelstenstrappa +Desert Stone Brick Slab=Ökentegelstensplatta +Desert Stone Block Stair=Ökenstenblockstrappa +Inner Desert Stone Block Stair=Inre ökenstenblockstrappa +Outer Desert Stone Block Stair=Yttre ökenstenblockstrappa +Desert Stone Block Slab=Ökenstenblocksplatta +Sandstone Stair=Sandstenstrappa +Inner Sandstone Stair=Inre Sandstenstrappa +Outer Sandstone Stair=Yttre Sandstenstrappa +Sandstone Slab=Sandstenplatta +Sandstone Brick Stair=Sandstentegeltrappa +Inner Sandstone Brick Stair=Inre Sandstentegeltrappa +Outer Sandstone Brick Stair=Yttre Sandstentegeltrappa +Sandstone Brick Slab=Sandstentegelplatta +Sandstone Block Stair=Sandstenblockstrappa +Inner Sandstone Block Stair=Inre Sandstenblockstrappa +Outer Sandstone Block Stair=Yttre Sandstenblockstrappa +Sandstone Block Slab=Sandstenblocksplatta +Desert Sandstone Stair=Ökensandstenstrappa +Inner Desert Sandstone Stair=Inre ökensandstenstrappa +Outer Desert Sandstone Stair=Yttre ökensandstenstrappa +Desert Sandstone Slab=Ökensandstensplatta +Desert Sandstone Brick Stair=Ökensandstentegeltrappa +Inner Desert Sandstone Brick Stair=Inre ökensandstentegeltrappa +Outer Desert Sandstone Brick Stair=Yttre ökensandstentegeltrappa +Desert Sandstone Brick Slab=Ökensandstentegelplatta +Desert Sandstone Block Stair=Ökensandstentegeltrappa +Inner Desert Sandstone Block Stair=Inre ökensandstentegeltrappa +Outer Desert Sandstone Block Stair=Yttre ökensandstentegeltrappa +Desert Sandstone Block Slab=Ökensandstentegelplatta +Silver Sandstone Stair=Silversandstenstrappa +Inner Silver Sandstone Stair=Inre silversandstenstrappa +Outer Silver Sandstone Stair=Yttre silversandstenstrappa +Silver Sandstone Slab=Silversandstenstrappa +Silver Sandstone Brick Stair=Silversandstenstegeltrappa +Inner Silver Sandstone Brick Stair=Inre silversandstenstegeltrappa +Outer Silver Sandstone Brick Stair=Yttre silversandstenstegeltrappa +Silver Sandstone Brick Slab=Silversandstenstegelplatta +Silver Sandstone Block Stair=Silversandstenblockstrappa +Inner Silver Sandstone Block Stair=Inre silversandstenblockstrappa +Outer Silver Sandstone Block Stair=Yttre silversandstenblockstrappa +Silver Sandstone Block Slab=Silversandstenblocksplatta +Obsidian Stair=Obsidiantrappa +Inner Obsidian Stair=Inre obsidiantrappa +Outer Obsidian Stair=Yttre obsidiantrappa +Obsidian Slab=Obsidianplatta +Obsidian Brick Stair=Obsidiantegeltrappa +Inner Obsidian Brick Stair=Inre obsidiantegeltrappa +Outer Obsidian Brick Stair=Yttre obsidiantegeltrappa +Obsidian Brick Slab=Obsidiantegelplatta +Obsidian Block Stair=Obsidianblocktrappa +Inner Obsidian Block Stair=Inre Obsidianblocktrappa +Outer Obsidian Block Stair=Yttre Obsidianblocktrappa +Obsidian Block Slab=Obsidianblockplatta +Brick Stair=Tegeltrappa +Inner Brick Stair=Inre tegeltrappa +Outer Brick Stair=Yttre tegeltrappa +Brick Slab=Tegelplatta +Steel Block Stair=Ståltrappa +Inner Steel Block Stair=Inre ståltrappa +Outer Steel Block Stair=Yttre ståltrappa +Steel Block Slab=Stålplatta +Tin Block Stair=Tenntrappa +Inner Tin Block Stair=Inre tenntrappa +Outer Tin Block Stair=Yttre tenntrappa +Tin Block Slab=Tennplatta +Copper Block Stair=Koppartrappa +Inner Copper Block Stair=Inre koppartrappa +Outer Copper Block Stair=Yttre koppartrappa +Copper Block Slab=Kopparplatta +Bronze Block Stair=Bronstrappa +Inner Bronze Block Stair=Inre bronstrappa +Outer Bronze Block Stair=Yttre bronstrappa +Bronze Block Slab=Bronsplatta +Gold Block Stair=Guldtrappa +Inner Gold Block Stair=Inre guldtrappa +Outer Gold Block Stair=Yttre guldtrappa +Gold Block Slab=Guldplatta +Ice Stair=Istrappa +Inner Ice Stair=Inre istrappa +Outer Ice Stair=Yttre istrappa +Ice Slab=Isplatta +Snow Block Stair=Snöblockstrappa +Inner Snow Block Stair=Inre snöblockstrappa +Outer Snow Block Stair=Yttre snöblockstrappa +Snow Block Slab=Snöblocksplatta diff --git a/mods/stairs/locale/stairs.uk.tr b/mods/stairs/locale/stairs.uk.tr new file mode 100644 index 00000000..fe8a57c3 --- /dev/null +++ b/mods/stairs/locale/stairs.uk.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Скляна Сходинка +Glass Slab=Скляна Плита +Inner Glass Stair=Кутова Скляна Сходинка (Внутрішній Кут) +Outer Glass Stair=Кутова Скляна Сходинка (Зовнішній Кут) +Obsidian Glass Stair=Скляна Сходинка З Обсидіану +Obsidian Glass Slab=Скляна Плита З Обсидіану +Inner Obsidian Glass Stair=Кутова Скляна Сходинка З Обсидіану (Внутрішній Кут) +Outer Obsidian Glass Stair=Кутова Скляна Сходинка З Обсидіану (Зовнішній Кут) +Wooden Stair=Яблунева Дерев'яна Сходинка +Inner Wooden Stair=Кутова Яблунева Дерев'яна Сходинка (Внутрішній Кут) +Outer Wooden Stair=Кутова Яблунева Дерев'яна Сходинка (Внутрішній Кут) +Wooden Slab=Яблунева Дерев'яна Плита +Jungle Wood Stair=Дерев'яна Сходинка З Тропічного Дерева +Inner Jungle Wood Stair=Кутова Дерев'яна Сходинка З Тропічного Дерева (Внутрішній Кут) +Outer Jungle Wood Stair=Кутова Дерев'яна Сходинка З Тропічного Дерева (Зовнішній Кут) +Jungle Wood Slab=Дерев'яна Плита З Тропічного Дерева +Pine Wood Stair=Дерев'яна Сходинка З Сосни +Inner Pine Wood Stair=Кутова Дерев'яна Сходинка З Сосни (Внутрішній Кут) +Outer Pine Wood Stair=Кутова Дерев'яна Сходинка З Сосни (Зовнішній Кут) +Pine Wood Slab=Дерев'яна Плита З Сосни +Acacia Wood Stair=Дерев'яна Сходинка З Акації +Inner Acacia Wood Stair=Кутова Дерев'яна Сходинка З Акації (Внутрішній Кут) +Outer Acacia Wood Stair=Кутова Дерев'яна Сходинка З Акації (Зовнішній Кут) +Acacia Wood Slab=Дерев'яна Плита З Акації +Aspen Wood Stair=Дерев'яна Сходинка З Осики +Inner Aspen Wood Stair=Кутова Дерев'яна Сходинка З Осики (Внутрішній Кут) +Outer Aspen Wood Stair=Кутова Дерев'яна Сходинка З Осики (Зовнішній Кут) +Aspen Wood Slab=Дерев'яна Плита З Осики +Stone Stair=Кам'яна Сходинка +Inner Stone Stair=Кутова Кам'яна Сходинка (Внутрішній Кут) +Outer Stone Stair=Кутова Кам'яна Сходинка (Зовнішній Кут) +Stone Slab=Кам'яна Плита +Cobblestone Stair=Сходинка З Кругляку +Inner Cobblestone Stair=Кутова Сходинка З Кругляку (Внутрішній Кут) +Outer Cobblestone Stair=Кутова Сходинка З Кругляку (Зовнішній Кут) +Cobblestone Slab=Плита З Кругляку +Mossy Cobblestone Stair=Мохова Сходинка З Кругляку +Inner Mossy Cobblestone Stair=Кутова Мохова Сходинка З Кругляку (Внутрішній Кут) +Outer Mossy Cobblestone Stair=Кутова Мохова Сходинка З Кругляку (Зовнішній Кут) +Mossy Cobblestone Slab=Мохова Плита З Кругляку +Stone Brick Stair=Сходинка З Кам'яної Цегли +Inner Stone Brick Stair=Кутова Сходинка З Кам'яної Цегли (Внутрішній Кут) +Outer Stone Brick Stair=Кутова Сходинка З Кам'яної Цегли (Зовнішній Кут) +Stone Brick Slab=Плита З Кам'яної Цегли +Stone Block Stair=Сходинка З Кам'яного Блока +Inner Stone Block Stair=Кутова Сходинка З Кам'яного Блока (Внутрішній Кут) +Outer Stone Block Stair=Кутова Сходинка З Кам'яного Блока (Зовнішній Кут) +Stone Block Slab=Плита З Кам'яного Блока +Desert Stone Stair=Сходинка З Пустельного Каменю +Inner Desert Stone Stair=Кутова Сходинка З Пустельного Каменю (Внутрішній Кут) +Outer Desert Stone Stair=Кутова Сходинка З Пустельного Каменю (Зовнішній Кут) +Desert Stone Slab=Плита З Пустельного Каменю +Desert Cobblestone Stair=Сходинка З Пустельного Кругляку +Inner Desert Cobblestone Stair=Кутова Сходинка З Пустельного Кругляку (Внутрішній Кут) +Outer Desert Cobblestone Stair=Кутова Сходинка З Пустельного Кругляку (Зовнішній Кут) +Desert Cobblestone Slab=Плита З Пустельного Каменю +Desert Stone Brick Stair=Сходинка З Цегли Із Пустельного Каменю +Inner Desert Stone Brick Stair=Кутова Сходинка З Цегли Із Пустельного Каменю (Внутрішній Кут) +Outer Desert Stone Brick Stair=Кутова Сходинка З Цегли Із Пустельного Каменю (Зовнішній Кут) +Desert Stone Brick Slab=Плита З Цегли Із Пустельного Каменю +Desert Stone Block Stair=Сходинка З Пустельного Кам'яного Блоку +Inner Desert Stone Block Stair=Кутова Сходинка З Пустельного Кам'яного Блоку (Внутрішній Кут) +Outer Desert Stone Block Stair=Кутова Сходинка З Пустельного Кам'яного Блоку (Зовнішній Кут) +Desert Stone Block Slab=Плита З Пустельного Кам'яного Блоку +Sandstone Stair=Сходинка З Піщанику +Inner Sandstone Stair=Кутова Сходинка З Піщанику (Внутрішній Кут) +Outer Sandstone Stair=Кутова Сходинка З Піщанику (Зовнішній Кут) +Sandstone Slab=Плита З Піщанику +Sandstone Brick Stair=Сходинка З Цегли Із Піщанику +Inner Sandstone Brick Stair=Кутова Сходинка З Цегли Із Піщанику (Внутрішній Кут) +Outer Sandstone Brick Stair=Кутова Сходинка З Цегли Із Піщанику (Зовнішній Кут) +Sandstone Brick Slab=Плита З Цегли Із Піщанику +Sandstone Block Stair=Сходинка З Блоку Із Піщанику +Inner Sandstone Block Stair=Кутова Сходинка З Блоку Із Піщанику (Внутрішній Кут) +Outer Sandstone Block Stair=Кутова Сходинка З Блоку Із Піщанику (Зовнішній Кут) +Sandstone Block Slab=Плита З Блоку Із Піщанику +Desert Sandstone Stair=Сходинка З Пустельного Піщанику +Inner Desert Sandstone Stair=Кутова Сходинка З Пустельного Піщанику (Внутрішній Кут) +Outer Desert Sandstone Stair=Кутова Сходинка З Пустельного Піщанику (Зовнішній Кут) +Desert Sandstone Slab=Плита З Пустельного Піщанику +Desert Sandstone Brick Stair=Сходинка З Пустельного Піщанику +Inner Desert Sandstone Brick Stair=Кутова Сходинка З Пустельного Піщанику (Внутрішній Кут) +Outer Desert Sandstone Brick Stair=Кутова Сходинка З Пустельного Піщанику (Зовнішній Кут) +Desert Sandstone Brick Slab=Плита З Цегли Із Пустельного Піщанику +Desert Sandstone Block Stair=Сходинка З Блоку Із Пустельного Піщанику +Inner Desert Sandstone Block Stair=Кутова Сходинка З Блоку Із Пустельного Піщанику (Внутрішній Кут) +Outer Desert Sandstone Block Stair=Кутова Сходинка З Блоку Із Пустельного Піщанику (Зовнішній Кут) +Desert Sandstone Block Slab=Плита З Блоку Із Пустельного Піщанику +Silver Sandstone Stair=Сходинка З Срібного Піщанику +Inner Silver Sandstone Stair=Кутова Сходинка З Срібного Піщанику (Внутрішній Кут) +Outer Silver Sandstone Stair=Кутова Сходинка З Срібного Піщанику (Зовнішній Кут) +Silver Sandstone Slab=Плита З Срібного Піщанику +Silver Sandstone Brick Stair=Сходинка З Цегли Із Срібного Піщанику +Inner Silver Sandstone Brick Stair=Кутова Сходинка З Цегли Із Срібного Піщанику (Внутрішній Кут) +Outer Silver Sandstone Brick Stair=Кутова Сходинка З Цегли Із Срібного Піщанику (Зовнішній Кут) +Silver Sandstone Brick Slab=Плита З Цегли Із Срібного Піщанику +Silver Sandstone Block Stair=Сходинка З Блоку Із Срібного Піщанику +Inner Silver Sandstone Block Stair=Кутова Сходинка З Блоку Із Срібного Піщанику (Внутрішній Кут) +Outer Silver Sandstone Block Stair=Кутова Сходинка З Блоку Із Срібного Піщанику (Зовнішній Кут) +Silver Sandstone Block Slab=Плита З Блоку Із Срібного Піщанику +Obsidian Stair=Обсидіанова Сходинка +Inner Obsidian Stair=Кутова Обсидіанова Сходинка (Внутрішній Кут) +Outer Obsidian Stair=Кутова Обсидіанова Сходинка (Зовнішній Кут) +Obsidian Slab=Обсидіанова Плита +Obsidian Brick Stair=Сходинка З Обсидіанової Цегли +Inner Obsidian Brick Stair=Кутова Сходинка З Обсидіанової Цегли (Внутрішній Кут) +Outer Obsidian Brick Stair=Кутова Сходинка З Обсидіанової Цегли (Зовнішній Кут) +Obsidian Brick Slab=Плита З Обсидіанової Цегли +Obsidian Block Stair=Сходинка З Обсидіанового Блоку +Inner Obsidian Block Stair=Кутова Сходинка З Обсидіанового Блоку (Внутрішній Кут) +Outer Obsidian Block Stair=Кутова Сходинка З Обсидіанового Блоку (Зовнішній Кут) +Obsidian Block Slab=Плита З Обсидіанового Блоку +Brick Stair=Сходинка З Цегли +Inner Brick Stair=Кутова Сходинка З Цегли (Внутрішній Кут) +Outer Brick Stair=Кутова Сходинка З Цегли (Зовнішній Кут) +Brick Slab=Плита З Цегли +Steel Block Stair=Сходинка Із Сталевого Блоку +Inner Steel Block Stair=Кутова Сходинка Із Сталевого Блоку (Внутрішній Кут) +Outer Steel Block Stair=Кутова Сходинка Із Сталевого Блоку (Зовнішній Кут) +Steel Block Slab=Плита Із Сталевого Блоку +Tin Block Stair=Сходинка З Олов'яного Блоку +Inner Tin Block Stair=Кутова Сходинка З Олов'яного Блоку (Внутрішній Кут) +Outer Tin Block Stair=Кутова Сходинка З Олов'яного Блоку (Зовнішній Кут) +Tin Block Slab=Плита З Олов'яного Блоку +Copper Block Stair=Сходинка З Мідного Блоку +Inner Copper Block Stair=Кутова Сходинка З Мідного Блоку (Внутрішній Кут) +Outer Copper Block Stair=Кутова Сходинка З Мідного Блоку (Зовнішній Кут) +Copper Block Slab=Плита З Мідного Блоку +Bronze Block Stair=Сходинка З Бронзового Блоку +Inner Bronze Block Stair=Кутова Сходинка З Бронзового Блоку (Внутрішній Кут) +Outer Bronze Block Stair=Кутова Сходинка З Бронзового Блоку (Зовнішній Кут) +Bronze Block Slab=Плита З Бронзового Блоку +Gold Block Stair=Сходинка З Золотого Блоку +Inner Gold Block Stair=Сходинка З Золотого Блоку (Внутрішній Кут) +Outer Gold Block Stair=Сходинка З Золотого Блоку (Зовнішній Кут) +Gold Block Slab=Плита З Золотого Блоку +Ice Stair=Крижана Сходинка +Inner Ice Stair=Кутова Крижана Сходинка (Внутрішній Кут) +Outer Ice Stair=Кутова Крижана Сходинка (Зовнішній Кут) +Ice Slab=Крижана Плита +Snow Block Stair=Ступінь З Крижаного Блоку +Inner Snow Block Stair=Кутова Ступінь З Крижаного Блоку (Внутрішній Кут) +Outer Snow Block Stair=Кутова Ступінь З Крижаного Блоку (Зовнішній Кут) +Snow Block Slab=Плита З Крижаного Блоку diff --git a/mods/stairs/locale/stairs.zh_CN.tr b/mods/stairs/locale/stairs.zh_CN.tr new file mode 100644 index 00000000..e37ebcbb --- /dev/null +++ b/mods/stairs/locale/stairs.zh_CN.tr @@ -0,0 +1,153 @@ +# textdomain: stairs +Glass Stair=玻璃楼梯 +Glass Slab=玻璃台阶 +Inner Glass Stair=玻璃楼梯(内) +Outer Glass Stair=玻璃楼梯(外) +Obsidian Glass Stair=黑曜石玻璃楼梯 +Obsidian Glass Slab=黑曜石玻璃台阶 +Inner Obsidian Glass Stair=黑曜石玻璃楼梯(内) +Outer Obsidian Glass Stair=黑曜石玻璃楼梯(外) +Wooden Stair=木楼梯 +Inner Wooden Stair=木楼梯(内) +Outer Wooden Stair=木楼梯(外) +Wooden Slab=木台阶 +Jungle Wood Stair=丛林木楼梯 +Inner Jungle Wood Stair=丛林木楼梯(内) +Outer Jungle Wood Stair=丛林木楼梯(外) +Jungle Wood Slab=丛林木台阶 +Pine Wood Stair=松木楼梯 +Inner Pine Wood Stair=松木楼梯(内) +Outer Pine Wood Stair=松木楼梯(外) +Pine Wood Slab=松木台阶 +Acacia Wood Stair=金合欢木楼梯 +Inner Acacia Wood Stair=金合欢木楼梯(内) +Outer Acacia Wood Stair=金合欢木楼梯(外) +Acacia Wood Slab=金合欢木台阶 +Aspen Wood Stair=白杨木楼梯 +Inner Aspen Wood Stair=白杨木楼梯(内) +Outer Aspen Wood Stair=白杨木楼梯(外) +Aspen Wood Slab=白杨木台阶 +Stone Stair=石楼梯 +Inner Stone Stair=石楼梯(内) +Outer Stone Stair=石楼梯(外) +Stone Slab=石台阶 +Cobblestone Stair=鹅卵石楼梯 +Inner Cobblestone Stair=鹅卵石楼梯(内) +Outer Cobblestone Stair=鹅卵石楼梯(外) +Cobblestone Slab=鹅卵石台阶 +Mossy Cobblestone Stair=苔藓覆盖的鹅卵石楼梯 +Inner Mossy Cobblestone Stair=苔藓覆盖的鹅卵石楼梯(内) +Outer Mossy Cobblestone Stair=苔藓覆盖的鹅卵石楼梯(外) +Mossy Cobblestone Slab=苔藓覆盖的鹅卵石台阶 +Stone Brick Stair=石砖楼梯 +Inner Stone Brick Stair=石砖楼梯(内) +Outer Stone Brick Stair=石砖楼梯(外) +Stone Brick Slab=石砖台阶 +Stone Block Stair=石块楼梯 +Inner Stone Block Stair=石块楼梯(内) +Outer Stone Block Stair=石块楼梯(外) +Stone Block Slab=石块台阶 +Desert Stone Stair=沙漠石楼梯 +Inner Desert Stone Stair=沙漠石楼梯(内) +Outer Desert Stone Stair=沙漠石楼梯(外) +Desert Stone Slab=沙漠石台阶 +Desert Cobblestone Stair=沙漠鹅卵石楼梯 +Inner Desert Cobblestone Stair=沙漠鹅卵石楼梯(内) +Outer Desert Cobblestone Stair=沙漠鹅卵石楼梯(外) +Desert Cobblestone Slab=沙漠鹅卵石台阶 +Desert Stone Brick Stair=沙漠石砖楼梯 +Inner Desert Stone Brick Stair=沙漠石砖楼梯(内) +Outer Desert Stone Brick Stair=沙漠石砖楼梯(外) +Desert Stone Brick Slab=沙漠石砖台阶 +Desert Stone Block Stair=沙漠石块楼梯 +Inner Desert Stone Block Stair=沙漠石块楼梯(内) +Outer Desert Stone Block Stair=沙漠石块楼梯(外) +Desert Stone Block Slab=沙漠石块台阶 +Sandstone Stair=沙石楼梯 +Inner Sandstone Stair=沙石楼梯(内) +Outer Sandstone Stair=沙石楼梯(外) +Sandstone Slab=沙石台阶 +Sandstone Brick Stair=沙石砖楼梯 +Inner Sandstone Brick Stair=沙石砖楼梯(内) +Outer Sandstone Brick Stair=沙石砖楼梯(外) +Sandstone Brick Slab=沙石砖台阶 +Sandstone Block Stair=沙石块楼梯 +Inner Sandstone Block Stair=沙石块楼梯(内) +Outer Sandstone Block Stair=沙石块楼梯(外) +Sandstone Block Slab=沙石块台阶 +Desert Sandstone Stair=沙漠沙石楼梯 +Inner Desert Sandstone Stair=沙漠沙石楼梯(内) +Outer Desert Sandstone Stair=沙漠沙石楼梯(外) +Desert Sandstone Slab=沙漠沙石台阶 +Desert Sandstone Brick Stair=沙漠沙石砖楼梯 +Inner Desert Sandstone Brick Stair=沙漠沙石砖楼梯(内) +Outer Desert Sandstone Brick Stair=沙漠沙石砖楼梯(外) +Desert Sandstone Brick Slab=沙漠沙石砖台阶 +Desert Sandstone Block Stair=沙漠沙石块楼梯 +Inner Desert Sandstone Block Stair=沙漠沙石块楼梯(内) +Outer Desert Sandstone Block Stair=沙漠沙石块楼梯(外) +Desert Sandstone Block Slab=沙漠沙石块台阶 +Silver Sandstone Stair=银沙石楼梯 +Inner Silver Sandstone Stair=银沙石楼梯(内) +Outer Silver Sandstone Stair=银沙石楼梯(外) +Silver Sandstone Slab=银沙石台阶 +Silver Sandstone Brick Stair=银沙石砖楼梯 +Inner Silver Sandstone Brick Stair=银沙石砖楼梯(内) +Outer Silver Sandstone Brick Stair=银沙石砖楼梯(外) +Silver Sandstone Brick Slab=银沙石砖台阶 +Silver Sandstone Block Stair=银沙石块楼梯 +Inner Silver Sandstone Block Stair=银沙石块楼梯(内) +Outer Silver Sandstone Block Stair=银沙石块楼梯(外) +Silver Sandstone Block Slab=银沙石块台阶 +Obsidian Stair=黑曜石楼梯 +Inner Obsidian Stair=黑曜石楼梯(内) +Outer Obsidian Stair=黑曜石楼梯(外) +Obsidian Slab=黑曜石台阶 +Obsidian Brick Stair=黑曜石砖楼梯 +Inner Obsidian Brick Stair=黑曜石砖楼梯(内) +Outer Obsidian Brick Stair=黑曜石砖楼梯(外) +Obsidian Brick Slab=黑曜石砖台阶 +Obsidian Block Stair=黑曜石块楼梯 +Inner Obsidian Block Stair=黑曜石块楼梯(内) +Outer Obsidian Block Stair=黑曜石块楼梯(外) +Obsidian Block Slab=黑曜石块台阶 +Brick Stair=砖楼梯 +Inner Brick Stair=砖楼梯(内) +Outer Brick Stair=砖楼梯(外) +Brick Slab=砖台阶 +Steel Block Stair=铁块楼梯 +Inner Steel Block Stair=铁块楼梯(内) +Outer Steel Block Stair=铁块楼梯(外) +Steel Block Slab=铁块台阶 +Tin Block Stair=锡块楼梯 +Inner Tin Block Stair=锡块楼梯(内) +Outer Tin Block Stair=锡块楼梯(外) +Tin Block Slab=锡块台阶 +Copper Block Stair=铜块楼梯 +Inner Copper Block Stair=铜块楼梯(内) +Outer Copper Block Stair=铜块楼梯(外) +Copper Block Slab=铜块台阶 +Bronze Block Stair=青铜块楼梯 +Inner Bronze Block Stair=青铜块楼梯(内) +Outer Bronze Block Stair=青铜块楼梯(外) +Bronze Block Slab=青铜块台阶 +Gold Block Stair=金块楼梯 +Inner Gold Block Stair=金块楼梯(内) +Outer Gold Block Stair=金块楼梯(外) +Gold Block Slab=金块台阶 +Ice Stair=冰楼梯 +Inner Ice Stair=冰块楼梯(内) +Outer Ice Stair=冰块楼梯(外) +Ice Slab=冰台阶 +Snow Block Stair=雪块楼梯 +Inner Snow Block Stair=雪块楼梯(内) +Outer Snow Block Stair=雪块楼梯(外) +Snow Block Slab=雪块台阶 + + +##### not used anymore ##### + +Blue Stained Stair=蓝木楼梯 +Inner Blue Stained Stair=蓝木楼梯(内) +Outer Blue Stained Stair=蓝木楼梯(外) +Blue Stained Slab=蓝木台阶 diff --git a/mods/stairs/locale/stairs.zh_TW.tr b/mods/stairs/locale/stairs.zh_TW.tr new file mode 100644 index 00000000..eaed61f9 --- /dev/null +++ b/mods/stairs/locale/stairs.zh_TW.tr @@ -0,0 +1,153 @@ +# textdomain: stairs +Glass Stair=玻璃樓梯 +Glass Slab=玻璃臺階 +Inner Glass Stair=玻璃樓梯(內) +Outer Glass Stair=玻璃樓梯(外) +Obsidian Glass Stair=黑曜石玻璃樓梯 +Obsidian Glass Slab=黑曜石玻璃臺階 +Inner Obsidian Glass Stair=黑曜石玻璃樓梯(內) +Outer Obsidian Glass Stair=黑曜石玻璃樓梯(外) +Wooden Stair=木製樓梯 +Inner Wooden Stair=木樓梯(內) +Outer Wooden Stair=木樓梯(外) +Wooden Slab=木製臺階 +Jungle Wood Stair=叢林木樓梯 +Inner Jungle Wood Stair=叢林木樓梯(內) +Outer Jungle Wood Stair=叢林木樓梯(外) +Jungle Wood Slab=叢林木臺階 +Pine Wood Stair=松木樓梯 +Inner Pine Wood Stair=松木樓梯(內) +Outer Pine Wood Stair=松木樓梯(外) +Pine Wood Slab=松木臺階 +Acacia Wood Stair=金合歡木樓梯 +Inner Acacia Wood Stair=金合歡木樓梯(內) +Outer Acacia Wood Stair=金合歡木樓梯(外) +Acacia Wood Slab=金合歡木臺階 +Aspen Wood Stair=白楊木樓梯 +Inner Aspen Wood Stair=白楊木樓梯(內) +Outer Aspen Wood Stair=白楊木樓梯(外) +Aspen Wood Slab=白楊木臺階 +Stone Stair=石樓梯 +Inner Stone Stair=石樓梯(內) +Outer Stone Stair=石樓梯(外) +Stone Slab=石臺階 +Cobblestone Stair=圓石樓梯 +Inner Cobblestone Stair=圓石樓梯(內) +Outer Cobblestone Stair=圓石樓梯(外) +Cobblestone Slab=圓石臺階 +Mossy Cobblestone Stair=苔石樓梯 +Inner Mossy Cobblestone Stair=苔石樓梯(內) +Outer Mossy Cobblestone Stair=苔石樓梯(外) +Mossy Cobblestone Slab=苔石臺階 +Stone Brick Stair=石磚樓梯 +Inner Stone Brick Stair=石磚樓梯(內) +Outer Stone Brick Stair=石磚樓梯(外) +Stone Brick Slab=石磚臺階 +Stone Block Stair=石塊樓梯 +Inner Stone Block Stair=石塊樓梯(內) +Outer Stone Block Stair=石塊樓梯(外) +Stone Block Slab=石塊臺階 +Desert Stone Stair=沙漠石樓梯 +Inner Desert Stone Stair=沙漠石樓梯(內) +Outer Desert Stone Stair=沙漠石樓梯(外) +Desert Stone Slab=沙漠石臺階 +Desert Cobblestone Stair=沙漠圓石樓梯 +Inner Desert Cobblestone Stair=沙漠圓石樓梯(內) +Outer Desert Cobblestone Stair=沙漠圓石樓梯(外) +Desert Cobblestone Slab=沙漠圓石臺階 +Desert Stone Brick Stair=沙漠石磚樓梯 +Inner Desert Stone Brick Stair=沙漠石磚樓梯(內) +Outer Desert Stone Brick Stair=沙漠石磚樓梯(外) +Desert Stone Brick Slab=沙漠石磚臺階 +Desert Stone Block Stair=沙漠石塊樓梯 +Inner Desert Stone Block Stair=沙漠石塊樓梯(內) +Outer Desert Stone Block Stair=沙漠石塊樓梯(外) +Desert Stone Block Slab=沙漠石塊臺階 +Sandstone Stair=沙石樓梯 +Inner Sandstone Stair=沙石樓梯(內) +Outer Sandstone Stair=沙石樓梯(外) +Sandstone Slab=沙石臺階 +Sandstone Brick Stair=沙石磚樓梯 +Inner Sandstone Brick Stair=沙石磚樓梯(內) +Outer Sandstone Brick Stair=沙石磚樓梯(外) +Sandstone Brick Slab=沙石磚臺階 +Sandstone Block Stair=沙石塊樓梯 +Inner Sandstone Block Stair=沙石塊樓梯(內) +Outer Sandstone Block Stair=沙石塊樓梯(外) +Sandstone Block Slab=沙石塊臺階 +Desert Sandstone Stair=沙漠沙石樓梯 +Inner Desert Sandstone Stair=沙漠沙石樓梯(內) +Outer Desert Sandstone Stair=沙漠沙石樓梯(外) +Desert Sandstone Slab=沙漠沙石臺階 +Desert Sandstone Brick Stair=沙漠沙石磚樓梯 +Inner Desert Sandstone Brick Stair=沙漠沙石磚樓梯(內) +Outer Desert Sandstone Brick Stair=沙漠沙石磚樓梯(外) +Desert Sandstone Brick Slab=沙漠沙石磚臺階 +Desert Sandstone Block Stair=沙漠沙石塊樓梯 +Inner Desert Sandstone Block Stair=沙漠沙石塊樓梯(內) +Outer Desert Sandstone Block Stair=沙漠沙石塊樓梯(外) +Desert Sandstone Block Slab=沙漠沙石塊臺階 +Silver Sandstone Stair=銀沙石樓梯 +Inner Silver Sandstone Stair=銀沙石樓梯(內) +Outer Silver Sandstone Stair=銀沙石樓梯(外) +Silver Sandstone Slab=銀沙石臺階 +Silver Sandstone Brick Stair=銀沙石磚樓梯 +Inner Silver Sandstone Brick Stair=銀沙石磚樓梯(內) +Outer Silver Sandstone Brick Stair=銀沙石磚樓梯(外) +Silver Sandstone Brick Slab=銀沙石磚臺階 +Silver Sandstone Block Stair=銀沙石塊樓梯 +Inner Silver Sandstone Block Stair=銀沙石塊樓梯(內) +Outer Silver Sandstone Block Stair=銀沙石塊樓梯(外) +Silver Sandstone Block Slab=銀沙石塊臺階 +Obsidian Stair=黑曜石樓梯 +Inner Obsidian Stair=黑曜石樓梯(內) +Outer Obsidian Stair=黑曜石樓梯(外) +Obsidian Slab=黑曜石臺階 +Obsidian Brick Stair=黑曜石磚樓梯 +Inner Obsidian Brick Stair=黑曜石磚樓梯(內) +Outer Obsidian Brick Stair=黑曜石磚樓梯(外) +Obsidian Brick Slab=黑曜石磚臺階 +Obsidian Block Stair=黑曜石塊樓梯 +Inner Obsidian Block Stair=黑曜石塊樓梯(內) +Outer Obsidian Block Stair=黑曜石塊樓梯(外) +Obsidian Block Slab=黑曜石塊臺階 +Brick Stair=磚樓梯 +Inner Brick Stair=磚樓梯(內) +Outer Brick Stair=磚樓梯(外) +Brick Slab=磚制臺階 +Steel Block Stair=鐵塊樓梯 +Inner Steel Block Stair=鐵塊樓梯(內) +Outer Steel Block Stair=鐵塊樓梯(外) +Steel Block Slab=鐵塊臺階 +Tin Block Stair=錫塊樓梯 +Inner Tin Block Stair=錫塊樓梯(內) +Outer Tin Block Stair=錫塊樓梯(外) +Tin Block Slab=錫塊臺階 +Copper Block Stair=銅塊樓梯 +Inner Copper Block Stair=銅塊樓梯(內) +Outer Copper Block Stair=銅塊樓梯(外) +Copper Block Slab=銅塊臺階 +Bronze Block Stair=青銅塊樓梯 +Inner Bronze Block Stair=青銅塊樓梯(內) +Outer Bronze Block Stair=青銅塊樓梯(外) +Bronze Block Slab=青銅塊臺階 +Gold Block Stair=金塊樓梯 +Inner Gold Block Stair=金塊樓梯(內) +Outer Gold Block Stair=金塊樓梯(外) +Gold Block Slab=金塊臺階 +Ice Stair=冰階梯 +Inner Ice Stair=冰塊樓梯(內) +Outer Ice Stair=冰塊樓梯(外) +Ice Slab=冰臺階 +Snow Block Stair=雪塊樓梯 +Inner Snow Block Stair=雪塊樓梯(內) +Outer Snow Block Stair=雪塊樓梯(外) +Snow Block Slab=雪塊臺階 + + +##### not used anymore ##### + +Blue Stained Stair=藍木樓梯 +Inner Blue Stained Stair=藍木樓梯(內) +Outer Blue Stained Stair=藍木樓梯(外) +Blue Stained Slab=藍木臺階 diff --git a/mods/stairs/textures/stairs_obsidian_glass_outer_stairside.png b/mods/stairs/textures/stairs_obsidian_glass_outer_stairside.png index 63db4a2d..0098f683 100644 Binary files a/mods/stairs/textures/stairs_obsidian_glass_outer_stairside.png and b/mods/stairs/textures/stairs_obsidian_glass_outer_stairside.png differ diff --git a/mods/stairs/textures/stairs_obsidian_glass_stairside.png b/mods/stairs/textures/stairs_obsidian_glass_stairside.png index 850f4c61..40b17545 100644 Binary files a/mods/stairs/textures/stairs_obsidian_glass_stairside.png and b/mods/stairs/textures/stairs_obsidian_glass_stairside.png differ diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua index 0e061fa6..19fe330c 100644 --- a/mods/tnt/init.lua +++ b/mods/tnt/init.lua @@ -22,7 +22,7 @@ local tnt_radius = tonumber(minetest.settings:get("tnt_radius") or 3) -- Fill a list with data for content IDs, after all nodes are registered local cid_data = {} -minetest.after(0, function() +minetest.register_on_mods_loaded(function() for name, def in pairs(minetest.registered_nodes) do cid_data[minetest.get_content_id(name)] = { name = name, @@ -163,42 +163,41 @@ local function entity_physics(pos, radius, drops) local damage = (4 / dist) * radius if obj:is_player() then - -- currently the engine has no method to set - -- player velocity. See #2960 - -- instead, we knock the player back 1.0 node, and slightly upwards local dir = vector.normalize(vector.subtract(obj_pos, pos)) - local moveoff = vector.multiply(dir, dist + 1.0) - local newpos = vector.add(pos, moveoff) - newpos = vector.add(newpos, {x = 0, y = 0.2, z = 0}) - obj:set_pos(newpos) + local moveoff = vector.multiply(dir, 2 / dist * radius) + obj:add_velocity(moveoff) obj:set_hp(obj:get_hp() - damage) else - local do_damage = true - local do_knockback = true - local entity_drops = {} local luaobj = obj:get_luaentity() - local objdef = minetest.registered_entities[luaobj.name] - if objdef and objdef.on_blast then - do_damage, do_knockback, entity_drops = objdef.on_blast(luaobj, damage) - end + -- object might have disappeared somehow + if luaobj then + local do_damage = true + local do_knockback = true + local entity_drops = {} + local objdef = minetest.registered_entities[luaobj.name] - if do_knockback then - local obj_vel = obj:get_velocity() - obj:set_velocity(calc_velocity(pos, obj_pos, - obj_vel, radius * 10)) - end - if do_damage then - if not obj:get_armor_groups().immortal then - obj:punch(obj, 1.0, { - full_punch_interval = 1.0, - damage_groups = {fleshy = damage}, - }, nil) + if objdef and objdef.on_blast then + do_damage, do_knockback, entity_drops = objdef.on_blast(luaobj, damage) + end + + if do_knockback then + local obj_vel = obj:get_velocity() + obj:set_velocity(calc_velocity(pos, obj_pos, + obj_vel, radius * 10)) + end + if do_damage then + if not obj:get_armor_groups().immortal then + obj:punch(obj, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = damage}, + }, nil) + end + end + for _, item in pairs(entity_drops) do + add_drop(drops, item) end - end - for _, item in pairs(entity_drops) do - add_drop(drops, item) end end end @@ -235,12 +234,16 @@ local function add_effects(pos, radius, drops) -- we just dropped some items. Look at the items entities and pick -- one of them to use as texture local texture = "tnt_blast.png" --fallback texture + local node local most = 0 for name, stack in pairs(drops) do local count = stack:get_count() if count > most then most = count local def = minetest.registered_nodes[name] + if def then + node = { name = name } + end if def and def.tiles and def.tiles[1] then texture = def.tiles[1] end @@ -258,9 +261,11 @@ local function add_effects(pos, radius, drops) maxacc = {x = 0, y = -10, z = 0}, minexptime = 0.8, maxexptime = 2.0, - minsize = radius * 0.66, - maxsize = radius * 2, + minsize = radius * 0.33, + maxsize = radius, texture = texture, + -- ^ only as fallback for clients without support for `node` parameter + node = node, collisiondetection = true, }) end @@ -274,7 +279,7 @@ function tnt.burn(pos, nodename) def.on_ignite(pos) elseif minetest.get_item_group(name, "tnt") > 0 then minetest.swap_node(pos, {name = name .. "_burning"}) - minetest.sound_play("tnt_ignite", {pos = pos}) + minetest.sound_play("tnt_ignite", {pos = pos, gain = 1.0}, true) minetest.get_node_timer(pos):start(1) end end @@ -289,10 +294,15 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owne local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) local data = vm1:get_data() local count = 0 - local c_tnt = minetest.get_content_id("tnt:tnt") + local c_tnt local c_tnt_burning = minetest.get_content_id("tnt:tnt_burning") local c_tnt_boom = minetest.get_content_id("tnt:boom") local c_air = minetest.get_content_id("air") + if enable_tnt then + c_tnt = minetest.get_content_id("tnt:tnt") + else + c_tnt = c_tnt_burning -- tnt is not registered if disabled + end -- make sure we still have explosion even when centre node isnt tnt related if explode_center then count = 1 @@ -398,12 +408,12 @@ function tnt.boom(pos, def) def.damage_radius = def.damage_radius or def.radius * 2 local meta = minetest.get_meta(pos) local owner = meta:get_string("owner") - if not def.explode_center then + if not def.explode_center and def.ignore_protection ~= true then minetest.set_node(pos, {name = "tnt:boom"}) end local sound = def.sound or "tnt_explode" minetest.sound_play(sound, {pos = pos, gain = 2.5, - max_hear_distance = math.min(def.radius * 20, 128)}) + max_hear_distance = math.min(def.radius * 20, 128)}, true) local drops, radius = tnt_explode(pos, def.radius, def.ignore_protection, def.ignore_on_blast, owner, def.explode_center) -- append entity drops @@ -419,10 +429,12 @@ end minetest.register_node("tnt:boom", { drawtype = "airlike", + inventory_image = "tnt_boom.png", + wield_image = "tnt_boom.png", light_source = default.LIGHT_MAX, walkable = false, drop = "", - groups = {dig_immediate = 3}, + groups = {dig_immediate = 3, not_in_creative_inventory = 1}, -- unaffected by explosions on_blast = function() end, }) @@ -519,7 +531,8 @@ minetest.register_node("tnt:gunpowder_burning", { groups = { dig_immediate = 2, attached_node = 1, - connect_to_raillike = minetest.raillike_group("gunpowder") + connect_to_raillike = minetest.raillike_group("gunpowder"), + not_in_creative_inventory = 1 }, sounds = default.node_sound_leaves_defaults(), on_timer = function(pos, elapsed) @@ -541,7 +554,8 @@ minetest.register_node("tnt:gunpowder_burning", { -- unaffected by explosions on_blast = function() end, on_construct = function(pos) - minetest.sound_play("tnt_gunpowder_burning", {pos = pos, gain = 2}) + minetest.sound_play("tnt_gunpowder_burning", {pos = pos, + gain = 1.0}, true) minetest.get_node_timer(pos):start(1) end, }) @@ -665,14 +679,14 @@ function tnt.register_tnt(def) light_source = 5, drop = "", sounds = default.node_sound_wood_defaults(), - groups = {falling_node = 1}, + groups = {falling_node = 1, not_in_creative_inventory = 1}, on_timer = function(pos, elapsed) tnt.boom(pos, def) end, -- unaffected by explosions on_blast = function() end, on_construct = function(pos) - minetest.sound_play("tnt_ignite", {pos = pos}) + minetest.sound_play("tnt_ignite", {pos = pos}, true) minetest.get_node_timer(pos):start(4) minetest.check_for_falling(pos) end, diff --git a/mods/tnt/locale/tnt.eo.tr b/mods/tnt/locale/tnt.eo.tr new file mode 100644 index 00000000..86240914 --- /dev/null +++ b/mods/tnt/locale/tnt.eo.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Pulvo +TNT Stick=Dinamita Bastono +TNT=Dinamito diff --git a/mods/tnt/locale/tnt.es.tr b/mods/tnt/locale/tnt.es.tr new file mode 100644 index 00000000..d9f3f205 --- /dev/null +++ b/mods/tnt/locale/tnt.es.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Pólvora +TNT Stick=Cartucho de TNT +TNT=TNT diff --git a/mods/tnt/locale/tnt.fr.tr b/mods/tnt/locale/tnt.fr.tr new file mode 100644 index 00000000..3fe48fb0 --- /dev/null +++ b/mods/tnt/locale/tnt.fr.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Poudre à canon +TNT Stick=Bâton de TNT +TNT=TNT diff --git a/mods/tnt/locale/tnt.id.tr b/mods/tnt/locale/tnt.id.tr new file mode 100644 index 00000000..2652ae0c --- /dev/null +++ b/mods/tnt/locale/tnt.id.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Bubuk Mesiu +TNT Stick=Tongkat TNT +TNT=TNT diff --git a/mods/tnt/locale/tnt.it.tr b/mods/tnt/locale/tnt.it.tr new file mode 100644 index 00000000..6437c003 --- /dev/null +++ b/mods/tnt/locale/tnt.it.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Polvere da sparo +TNT Stick=Candelotto di TNT +TNT=TNT diff --git a/mods/tnt/locale/tnt.ja.tr b/mods/tnt/locale/tnt.ja.tr new file mode 100644 index 00000000..d7af9f58 --- /dev/null +++ b/mods/tnt/locale/tnt.ja.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=火薬 +TNT Stick=ダイナマイト +TNT=TNT diff --git a/mods/tnt/locale/tnt.jbo.tr b/mods/tnt/locale/tnt.jbo.tr new file mode 100644 index 00000000..b1b425ac --- /dev/null +++ b/mods/tnt/locale/tnt.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=lo tercelpu'o +TNT Stick=lo granrti'enti +TNT=lo bamrti'enti diff --git a/mods/tnt/locale/tnt.ms.tr b/mods/tnt/locale/tnt.ms.tr new file mode 100644 index 00000000..c4c5fddc --- /dev/null +++ b/mods/tnt/locale/tnt.ms.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Serbuk Senjata Api +TNT Stick=Batang TNT +TNT=TNT diff --git a/mods/tnt/locale/tnt.pt_BR.tr b/mods/tnt/locale/tnt.pt_BR.tr new file mode 100644 index 00000000..d4fc1742 --- /dev/null +++ b/mods/tnt/locale/tnt.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Pólvora +TNT Stick=Banana de Dinamite +TNT=Dinamite diff --git a/mods/tnt/locale/tnt.ru.tr b/mods/tnt/locale/tnt.ru.tr new file mode 100644 index 00000000..a8cee43b --- /dev/null +++ b/mods/tnt/locale/tnt.ru.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Порох +TNT Stick=Тротиловая Палка +TNT=Тротил diff --git a/mods/tnt/locale/tnt.sk.tr b/mods/tnt/locale/tnt.sk.tr new file mode 100644 index 00000000..639b8c87 --- /dev/null +++ b/mods/tnt/locale/tnt.sk.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Pušný prach +TNT Stick=Časť TNT +TNT=TNT diff --git a/mods/tnt/locale/tnt.sv.tr b/mods/tnt/locale/tnt.sv.tr new file mode 100644 index 00000000..fd08913f --- /dev/null +++ b/mods/tnt/locale/tnt.sv.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Krut +TNT Stick=Dynamitpinne +TNT=Dynamit diff --git a/mods/tnt/locale/tnt.uk.tr b/mods/tnt/locale/tnt.uk.tr new file mode 100644 index 00000000..684466d5 --- /dev/null +++ b/mods/tnt/locale/tnt.uk.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Порох +TNT Stick=Тротилова Паличка +TNT=Тротил diff --git a/mods/tnt/locale/tnt.zh_CN.tr b/mods/tnt/locale/tnt.zh_CN.tr new file mode 100644 index 00000000..4cb2e949 --- /dev/null +++ b/mods/tnt/locale/tnt.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=火药粉 +TNT Stick=三硝基甲苯棒 +TNT=三硝基甲苯 diff --git a/mods/tnt/locale/tnt.zh_TW.tr b/mods/tnt/locale/tnt.zh_TW.tr new file mode 100644 index 00000000..c1b3caf3 --- /dev/null +++ b/mods/tnt/locale/tnt.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=火藥粉 +TNT Stick=炸藥棒 +TNT=炸藥包 diff --git a/mods/tnt/textures/tnt_blast.png b/mods/tnt/textures/tnt_blast.png index bbb1096f..92be28ba 100644 Binary files a/mods/tnt/textures/tnt_blast.png and b/mods/tnt/textures/tnt_blast.png differ diff --git a/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png index a901f7bd..efab2a9e 100644 Binary files a/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png and b/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png differ diff --git a/mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png index bc018065..bd1437fe 100644 Binary files a/mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png and b/mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png differ diff --git a/mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png index c860acef..654e5396 100644 Binary files a/mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png and b/mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png differ diff --git a/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png b/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png index a556072c..5b567e38 100644 Binary files a/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png and b/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png differ diff --git a/mods/tnt/textures/tnt_gunpowder_crossing.png b/mods/tnt/textures/tnt_gunpowder_crossing.png index 916c84ee..c0487a09 100644 Binary files a/mods/tnt/textures/tnt_gunpowder_crossing.png and b/mods/tnt/textures/tnt_gunpowder_crossing.png differ diff --git a/mods/tnt/textures/tnt_gunpowder_curved.png b/mods/tnt/textures/tnt_gunpowder_curved.png index cb8b4eac..8ed01db8 100644 Binary files a/mods/tnt/textures/tnt_gunpowder_curved.png and b/mods/tnt/textures/tnt_gunpowder_curved.png differ diff --git a/mods/tnt/textures/tnt_gunpowder_straight.png b/mods/tnt/textures/tnt_gunpowder_straight.png index 8ab0e3c8..427feb90 100644 Binary files a/mods/tnt/textures/tnt_gunpowder_straight.png and b/mods/tnt/textures/tnt_gunpowder_straight.png differ diff --git a/mods/tnt/textures/tnt_gunpowder_t_junction.png b/mods/tnt/textures/tnt_gunpowder_t_junction.png index ac997a7a..b30c2b46 100644 Binary files a/mods/tnt/textures/tnt_gunpowder_t_junction.png and b/mods/tnt/textures/tnt_gunpowder_t_junction.png differ diff --git a/mods/tnt/textures/tnt_smoke.png b/mods/tnt/textures/tnt_smoke.png index 488b50fe..6788974a 100644 Binary files a/mods/tnt/textures/tnt_smoke.png and b/mods/tnt/textures/tnt_smoke.png differ diff --git a/mods/vessels/init.lua b/mods/vessels/init.lua index b330efc2..71a06893 100644 --- a/mods/vessels/init.lua +++ b/mods/vessels/init.lua @@ -228,3 +228,10 @@ minetest.register_craft({ recipe = "vessels:shelf", burntime = 30, }) + +-- Register glass fragments as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + name = "vessels:glass_fragments", chance = 0.35, count = {1, 4} + }) +end diff --git a/mods/vessels/locale/template.txt b/mods/vessels/locale/template.txt index f79c13e1..e6e5f69a 100644 --- a/mods/vessels/locale/template.txt +++ b/mods/vessels/locale/template.txt @@ -1,8 +1,8 @@ # textdomain: vessels +Empty Vessels Shelf= +Vessels Shelf (@1 items)= Vessels Shelf= Empty Glass Bottle= Empty Drinking Glass= Empty Heavy Steel Bottle= Glass Fragments= -Empty Vessel Shelf= -Vessel Shelf (@1 items)= diff --git a/mods/vessels/locale/vessels.de.tr b/mods/vessels/locale/vessels.de.tr index 14043fb0..162e3595 100644 --- a/mods/vessels/locale/vessels.de.tr +++ b/mods/vessels/locale/vessels.de.tr @@ -1,8 +1,8 @@ # textdomain: vessels +Empty Vessels Shelf=Leeres Gefäßregal +Vessels Shelf (@1 items)=Gefäßregal (@1 Gegenstände) Vessels Shelf=Gefäßregal Empty Glass Bottle=Leere Glasflasche Empty Drinking Glass=Leeres Trinkglas Empty Heavy Steel Bottle=Leere schwere Stahlflasche Glass Fragments=Glasfragmente -Empty Vessel Shelf=Leeres Gefäßregal -Vessel Shelf (@1 items)=Gefäßregal (@1 Gegenstände) diff --git a/mods/vessels/locale/vessels.eo.tr b/mods/vessels/locale/vessels.eo.tr new file mode 100644 index 00000000..c6f9af75 --- /dev/null +++ b/mods/vessels/locale/vessels.eo.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Malplena Vaza Plataĵo +Vessels Shelf (@1 items)=Vaza Plataĵo (@1 objektoj) +Vessels Shelf=Vaza Plataĵo +Empty Glass Bottle=Malplena Vitra Botelo +Empty Drinking Glass=Malplena Glaso por Trinkado +Empty Heavy Steel Bottle=Malplena Peza Ŝtala Botelo +Glass Fragments=Vitra Eroj diff --git a/mods/vessels/locale/vessels.es.tr b/mods/vessels/locale/vessels.es.tr new file mode 100644 index 00000000..d6131d89 --- /dev/null +++ b/mods/vessels/locale/vessels.es.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Estante de vasijas vacío +Vessels Shelf (@1 items)=Estante de vasijas (@1 objetos) +Vessels Shelf=Estante de vasijas +Empty Glass Bottle=Botella de vidrio vacía +Empty Drinking Glass=Vaso para beber vacío +Empty Heavy Steel Bottle=Botella de acero vacía +Glass Fragments=Fragmentos de vidrio diff --git a/mods/vessels/locale/vessels.fr.tr b/mods/vessels/locale/vessels.fr.tr new file mode 100644 index 00000000..f099c197 --- /dev/null +++ b/mods/vessels/locale/vessels.fr.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Etagère à récipient vide +Vessels Shelf (@1 items)=Etagère à récipient (@1 articles) +Vessels Shelf=Etagère à récipient +Empty Glass Bottle=Bouteille de verre vide +Empty Drinking Glass=Verre vide +Empty Heavy Steel Bottle=Bouteille d'acier lourde vide +Glass Fragments=Fragments de verre diff --git a/mods/vessels/locale/vessels.id.tr b/mods/vessels/locale/vessels.id.tr new file mode 100644 index 00000000..f80fbc3d --- /dev/null +++ b/mods/vessels/locale/vessels.id.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Rak Bejana Kosong +Vessels Shelf (@1 items)=Rak Bejana (@1 barang) +Vessels Shelf=Rak Bejana +Empty Glass Bottle=Botol Kaca Kosong +Empty Drinking Glass=Gelas Minum Kosong +Empty Heavy Steel Bottle=Botol Baja Berat Kosong +Glass Fragments=Pecahan Kaca diff --git a/mods/vessels/locale/vessels.it.tr b/mods/vessels/locale/vessels.it.tr new file mode 100644 index 00000000..70ea5759 --- /dev/null +++ b/mods/vessels/locale/vessels.it.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Scaffale per contenitori vuoto +Vessels Shelf (@1 items)=Scaffale per contenitori (@1 oggetti) +Vessels Shelf=Scaffale per contenitori +Empty Glass Bottle=Bottiglia di vetro vuota +Empty Drinking Glass=Bicchiere di vetro vuoto +Empty Heavy Steel Bottle=Bottigia di metallo pesante vuota +Glass Fragments=Frammenti di vetro diff --git a/mods/vessels/locale/vessels.ja.tr b/mods/vessels/locale/vessels.ja.tr new file mode 100644 index 00000000..451489a5 --- /dev/null +++ b/mods/vessels/locale/vessels.ja.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=空の瓶の棚 +Vessels Shelf (@1 items)=瓶の棚(@1 本) +Vessels Shelf=瓶の棚 +Empty Glass Bottle=空のガラス瓶 +Empty Drinking Glass=空のガラスコップ +Empty Heavy Steel Bottle=空の重い鉄瓶 +Glass Fragments=ガラスの破片 diff --git a/mods/vessels/locale/vessels.jbo.tr b/mods/vessels/locale/vessels.jbo.tr new file mode 100644 index 00000000..6e1145e6 --- /dev/null +++ b/mods/vessels/locale/vessels.jbo.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=.i ti kunti ke vasru kajna +Vessels Shelf (@1 items)=.i lo ti vasru kajna cu vasru lo @1 dacti +Vessels Shelf=lo vasru kajna +Empty Glass Bottle=lo blacybo'i be no da +Empty Drinking Glass=lo blacykabri be no da +Empty Heavy Steel Bottle=lo tilju ke gasta botpi be no da +Glass Fragments=lo derxi be lo blaci spisa diff --git a/mods/vessels/locale/vessels.ms.tr b/mods/vessels/locale/vessels.ms.tr new file mode 100644 index 00000000..da7a0f06 --- /dev/null +++ b/mods/vessels/locale/vessels.ms.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Rak Bekas Kaca Kosong +Vessels Shelf (@1 items)=Rak Bekas Kaca (@1 barang) +Vessels Shelf=Rak Bekas Kaca +Empty Glass Bottle=Botol Kaca Kosong +Empty Drinking Glass=Gelas Minuman Kosong +Empty Heavy Steel Bottle=Botol Keluli Berat Kosong +Glass Fragments=Serpihan Kaca diff --git a/mods/vessels/locale/vessels.pt_BR.tr b/mods/vessels/locale/vessels.pt_BR.tr new file mode 100644 index 00000000..c22cb062 --- /dev/null +++ b/mods/vessels/locale/vessels.pt_BR.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Prateleira de Vasos Vazia +Vessels Shelf (@1 items)=Prateleira de Vasos (@1 itens) +Vessels Shelf=Prateleira de Vasos +Empty Glass Bottle=Garrafa de Vidro Vazia +Empty Drinking Glass=Copo Vazio +Empty Heavy Steel Bottle=Garrafa de Aço Pesada Vazia +Glass Fragments=Cacos de Vidro diff --git a/mods/vessels/locale/vessels.ru.tr b/mods/vessels/locale/vessels.ru.tr new file mode 100644 index 00000000..070d884b --- /dev/null +++ b/mods/vessels/locale/vessels.ru.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Полка с Пустыми Сосудами +Vessels Shelf (@1 items)=Полка с Сосудами (@1 предметы) +Vessels Shelf=Полка с Сосудами +Empty Glass Bottle=Пустая Стеклянная Бутылка +Empty Drinking Glass=Пустая Питьевая Бутылка +Empty Heavy Steel Bottle=Пустая Стальная Бутылка +Glass Fragments=Стеклянные Осколки diff --git a/mods/vessels/locale/vessels.sk.tr b/mods/vessels/locale/vessels.sk.tr new file mode 100644 index 00000000..6ec640b1 --- /dev/null +++ b/mods/vessels/locale/vessels.sk.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Prázdna polica na fľašky +Vessels Shelf (@1 items)=Polica na fľašky (@1 položka/y) +Vessels Shelf=Polica na fľašky +Empty Glass Bottle=Prázdna sklenená fľaša +Empty Drinking Glass=Prázdny pohár na pitie +Empty Heavy Steel Bottle=Prázdna oceľová fľaša +Glass Fragments=Časti skla diff --git a/mods/vessels/locale/vessels.sv.tr b/mods/vessels/locale/vessels.sv.tr new file mode 100644 index 00000000..48e76e29 --- /dev/null +++ b/mods/vessels/locale/vessels.sv.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Tom kärlhylla +Vessels Shelf (@1 items)=Kärlhylla (@1 saker) +Vessels Shelf=Kärlhylla +Empty Glass Bottle=Tom glasflaska +Empty Drinking Glass=Tom drycksflaska +Empty Heavy Steel Bottle=Tom tungstålsflaska +Glass Fragments=Glasbitar diff --git a/mods/vessels/locale/vessels.uk.tr b/mods/vessels/locale/vessels.uk.tr new file mode 100644 index 00000000..172e356a --- /dev/null +++ b/mods/vessels/locale/vessels.uk.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Полиця з Пустим Посудом +Vessels Shelf (@1 items)=Полиця з Посудом (@1 предмета) +Vessels Shelf=Полиця з Посудом +Empty Glass Bottle=Порожня Скляна Пляшка +Empty Drinking Glass=Порожня Питна Пляшка +Empty Heavy Steel Bottle=Порожня Сталева Пляшка +Glass Fragments=Скляні Уламки diff --git a/mods/vessels/locale/vessels.zh_CN.tr b/mods/vessels/locale/vessels.zh_CN.tr new file mode 100644 index 00000000..e303e24f --- /dev/null +++ b/mods/vessels/locale/vessels.zh_CN.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=空容器架 +Vessels Shelf (@1 items)=容器架(@1项) +Vessels Shelf=容器架 +Empty Glass Bottle=空玻璃瓶 +Empty Drinking Glass=空水杯 +Empty Heavy Steel Bottle=空重型钢瓶 +Glass Fragments=玻璃碎片 diff --git a/mods/vessels/locale/vessels.zh_TW.tr b/mods/vessels/locale/vessels.zh_TW.tr new file mode 100644 index 00000000..6aecb357 --- /dev/null +++ b/mods/vessels/locale/vessels.zh_TW.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=空容器架 +Vessels Shelf (@1 items)=容器架(@1項) +Vessels Shelf=容器架 +Empty Glass Bottle=空玻璃瓶 +Empty Drinking Glass=空水杯 +Empty Heavy Steel Bottle=空重型鋼瓶 +Glass Fragments=玻璃碎片 diff --git a/mods/vessels/mod.conf b/mods/vessels/mod.conf index 7551b54a..eba9076f 100644 --- a/mods/vessels/mod.conf +++ b/mods/vessels/mod.conf @@ -1,3 +1,4 @@ name = vessels description = Minetest Game mod: vessels depends = default +optional_depends = dungeon_loot diff --git a/mods/vessels/textures/vessels_drinking_glass.png b/mods/vessels/textures/vessels_drinking_glass.png index d5037b85..aef73296 100644 Binary files a/mods/vessels/textures/vessels_drinking_glass.png and b/mods/vessels/textures/vessels_drinking_glass.png differ diff --git a/mods/vessels/textures/vessels_drinking_glass_inv.png b/mods/vessels/textures/vessels_drinking_glass_inv.png index 9992bd9c..e50c8c72 100644 Binary files a/mods/vessels/textures/vessels_drinking_glass_inv.png and b/mods/vessels/textures/vessels_drinking_glass_inv.png differ diff --git a/mods/vessels/textures/vessels_glass_bottle.png b/mods/vessels/textures/vessels_glass_bottle.png index 6ea37db6..2a46aafd 100644 Binary files a/mods/vessels/textures/vessels_glass_bottle.png and b/mods/vessels/textures/vessels_glass_bottle.png differ diff --git a/mods/vessels/textures/vessels_glass_fragments.png b/mods/vessels/textures/vessels_glass_fragments.png index 7c6c4888..acf2d380 100644 Binary files a/mods/vessels/textures/vessels_glass_fragments.png and b/mods/vessels/textures/vessels_glass_fragments.png differ diff --git a/mods/vessels/textures/vessels_shelf_slot.png b/mods/vessels/textures/vessels_shelf_slot.png index ff29082a..93a729e5 100644 Binary files a/mods/vessels/textures/vessels_shelf_slot.png and b/mods/vessels/textures/vessels_shelf_slot.png differ diff --git a/mods/vessels/textures/vessels_steel_bottle.png b/mods/vessels/textures/vessels_steel_bottle.png index 61d30719..169930a3 100644 Binary files a/mods/vessels/textures/vessels_steel_bottle.png and b/mods/vessels/textures/vessels_steel_bottle.png differ diff --git a/mods/walls/locale/walls.de.tr b/mods/walls/locale/walls.de.tr index 76449f6c..c31d4f67 100644 --- a/mods/walls/locale/walls.de.tr +++ b/mods/walls/locale/walls.de.tr @@ -1,4 +1,4 @@ # textdomain: walls Cobblestone Wall=Kopfsteinpflastermauer -Mossy Cobblestone Wall=Mosige Kopfsteinpflastermauer +Mossy Cobblestone Wall=Moosige Kopfsteinpflastermauer Desert Cobblestone Wall=Wüstenkopfsteinpflastermauer diff --git a/mods/walls/locale/walls.eo.tr b/mods/walls/locale/walls.eo.tr new file mode 100644 index 00000000..85efcbf5 --- /dev/null +++ b/mods/walls/locale/walls.eo.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Pavimŝtona Muro +Mossy Cobblestone Wall=Muska Pavimŝtona Muro +Desert Cobblestone Wall=Dezerta Pavimŝtona Muro diff --git a/mods/walls/locale/walls.es.tr b/mods/walls/locale/walls.es.tr new file mode 100644 index 00000000..796710fe --- /dev/null +++ b/mods/walls/locale/walls.es.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Pared de adoquines +Mossy Cobblestone Wall=Pared de adoquines musgosos +Desert Cobblestone Wall=Pared de adoquines desérticos diff --git a/mods/walls/locale/walls.fr.tr b/mods/walls/locale/walls.fr.tr new file mode 100644 index 00000000..8dcb6252 --- /dev/null +++ b/mods/walls/locale/walls.fr.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Mur en pavé +Mossy Cobblestone Wall=Mur en pavé moussu +Desert Cobblestone Wall=Mur en pavé du désert diff --git a/mods/walls/locale/walls.id.tr b/mods/walls/locale/walls.id.tr new file mode 100644 index 00000000..8bfd9c77 --- /dev/null +++ b/mods/walls/locale/walls.id.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Tembok Bongkahan Batu +Mossy Cobblestone Wall=Tembok Bongkahan Batu Berlumut +Desert Cobblestone Wall=Tembok Bongkahan Batu Gurun diff --git a/mods/walls/locale/walls.it.tr b/mods/walls/locale/walls.it.tr new file mode 100644 index 00000000..4babad23 --- /dev/null +++ b/mods/walls/locale/walls.it.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Muro di ciottoli +Mossy Cobblestone Wall=Muro di ciottoli muschiosi +Desert Cobblestone Wall=Muro di ciottoli del deserto diff --git a/mods/walls/locale/walls.ja.tr b/mods/walls/locale/walls.ja.tr new file mode 100644 index 00000000..66e497d0 --- /dev/null +++ b/mods/walls/locale/walls.ja.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=丸石の壁 +Mossy Cobblestone Wall=苔むした丸石の壁 +Desert Cobblestone Wall=砂漠の丸石の壁 diff --git a/mods/walls/locale/walls.jbo.tr b/mods/walls/locale/walls.jbo.tr new file mode 100644 index 00000000..aba765cf --- /dev/null +++ b/mods/walls/locale/walls.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=lo lolro'iboi bitmu +Mossy Cobblestone Wall=lo clika lolro'iboi bitmu +Desert Cobblestone Wall=lo cantu'a lolro'iboi bitmu diff --git a/mods/walls/locale/walls.ms.tr b/mods/walls/locale/walls.ms.tr new file mode 100644 index 00000000..93753429 --- /dev/null +++ b/mods/walls/locale/walls.ms.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Pagar Batu Buntar +Mossy Cobblestone Wall=Pagar Batu Buntar Berlumut +Desert Cobblestone Wall=Pagar Batu Buntar Gurun diff --git a/mods/walls/locale/walls.pt_BR.tr b/mods/walls/locale/walls.pt_BR.tr new file mode 100644 index 00000000..58c3d122 --- /dev/null +++ b/mods/walls/locale/walls.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Parede de Paralelepípedo +Mossy Cobblestone Wall=Parede de Paralelepípedo com Musgo +Desert Cobblestone Wall=Parede de Paralelepípedo do Deserto diff --git a/mods/walls/locale/walls.ru.tr b/mods/walls/locale/walls.ru.tr new file mode 100644 index 00000000..1ed653f0 --- /dev/null +++ b/mods/walls/locale/walls.ru.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Булыжниковая Ограда +Mossy Cobblestone Wall=Мшистая Булыжниковая Ограда +Desert Cobblestone Wall=Ограда Из Пустынного Булыжника diff --git a/mods/walls/locale/walls.sk.tr b/mods/walls/locale/walls.sk.tr new file mode 100644 index 00000000..69cf3a93 --- /dev/null +++ b/mods/walls/locale/walls.sk.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Múr z dlažbových kociek +Mossy Cobblestone Wall=Múr z dlažbových kociek obrastených machom +Desert Cobblestone Wall=Múr z púštnych dlažbových kociek diff --git a/mods/walls/locale/walls.sv.tr b/mods/walls/locale/walls.sv.tr new file mode 100644 index 00000000..1ad4a29e --- /dev/null +++ b/mods/walls/locale/walls.sv.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Kullerstensvägg +Mossy Cobblestone Wall=Mossig kullerstensvägg +Desert Cobblestone Wall=Ökenkullerstensvägg diff --git a/mods/walls/locale/walls.uk.tr b/mods/walls/locale/walls.uk.tr new file mode 100644 index 00000000..f92d7cc4 --- /dev/null +++ b/mods/walls/locale/walls.uk.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Паркан З Кругляку +Mossy Cobblestone Wall=Паркан З Мохового Кругляку +Desert Cobblestone Wall=Паркан З Пустельного Кругляку diff --git a/mods/walls/locale/walls.zh_CN.tr b/mods/walls/locale/walls.zh_CN.tr new file mode 100644 index 00000000..f590e825 --- /dev/null +++ b/mods/walls/locale/walls.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=鹅卵石墙 +Mossy Cobblestone Wall=苔藓覆盖的鹅卵石墙 +Desert Cobblestone Wall=沙漠鹅卵石墙 diff --git a/mods/walls/locale/walls.zh_TW.tr b/mods/walls/locale/walls.zh_TW.tr new file mode 100644 index 00000000..ba1285f6 --- /dev/null +++ b/mods/walls/locale/walls.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=鵝卵石牆 +Mossy Cobblestone Wall=苔蘚覆蓋的鵝卵石牆 +Desert Cobblestone Wall=沙漠鵝卵石牆 diff --git a/mods/weather/README.txt b/mods/weather/README.txt new file mode 100644 index 00000000..67334600 --- /dev/null +++ b/mods/weather/README.txt @@ -0,0 +1,4 @@ +Minetest Game mod: weather +========================== +See license.txt for license information. +Source code by paramat (MIT). diff --git a/mods/weather/init.lua b/mods/weather/init.lua new file mode 100644 index 00000000..9e10d893 --- /dev/null +++ b/mods/weather/init.lua @@ -0,0 +1,125 @@ +-- Disable by mapgen or setting + +local mg_name = minetest.get_mapgen_setting("mg_name") +if mg_name == "v6" or mg_name == "singlenode" or + minetest.settings:get_bool("enable_weather") == false then + return +end + + +-- Parameters + +local TSCALE = 600 -- Time scale of noise variation in seconds +local CYCLE = 8 -- Time period of cyclic clouds update in seconds + +local np_density = { + offset = 0.5, + scale = 0.5, + spread = {x = TSCALE, y = TSCALE, z = TSCALE}, + seed = 813, + octaves = 1, + persist = 0, + lacunarity = 2, +} + +local np_thickness = { + offset = 0.5, + scale = 0.5, + spread = {x = TSCALE, y = TSCALE, z = TSCALE}, + seed = 96, + octaves = 1, + persist = 0, + lacunarity = 2, +} + +local np_speedx = { + offset = 0, + scale = 1, + spread = {x = TSCALE, y = TSCALE, z = TSCALE}, + seed = 911923, + octaves = 1, + persist = 0, + lacunarity = 2, +} + +local np_speedz = { + offset = 0, + scale = 1, + spread = {x = TSCALE, y = TSCALE, z = TSCALE}, + seed = 5728, + octaves = 1, + persist = 0, + lacunarity = 2, +} + +-- End parameters + + +-- Initialise noise objects to nil + +local nobj_density = nil +local nobj_thickness = nil +local nobj_speedx = nil +local nobj_speedz = nil + + +-- Update clouds function + +local function rangelim(value, lower, upper) + return math.min(math.max(value, lower), upper) +end + +local os_time_0 = os.time() +local t_offset = math.random(0, 300000) + +local function update_clouds() + -- Time in seconds. + -- Add random time offset to avoid identical behaviour each server session. + local time = os.difftime(os.time(), os_time_0) - t_offset + + nobj_density = nobj_density or minetest.get_perlin(np_density) + nobj_thickness = nobj_thickness or minetest.get_perlin(np_thickness) + nobj_speedx = nobj_speedx or minetest.get_perlin(np_speedx) + nobj_speedz = nobj_speedz or minetest.get_perlin(np_speedz) + + local n_density = nobj_density:get_2d({x = time, y = 0}) -- 0 to 1 + local n_thickness = nobj_thickness:get_2d({x = time, y = 0}) -- 0 to 1 + local n_speedx = nobj_speedx:get_2d({x = time, y = 0}) -- -1 to 1 + local n_speedz = nobj_speedz:get_2d({x = time, y = 0}) -- -1 to 1 + + for _, player in ipairs(minetest.get_connected_players()) do + -- Fallback to mid-value 50 for very old worlds + local humid = minetest.get_humidity(player:get_pos()) or 50 + -- Default and classic density value is 0.4, make this happen + -- at humidity midvalue 50 when n_density is at midvalue 0.5. + -- density_max = 0.25 at humid = 0. + -- density_max = 0.8 at humid = 50. + -- density_max = 1.35 at humid = 100. + local density_max = 0.8 + ((humid - 50) / 50) * 0.55 + player:set_clouds({ + -- Range limit density_max to always have occasional + -- small scattered clouds at extreme low humidity. + density = rangelim(density_max, 0.2, 1.0) * n_density, + thickness = math.max(math.floor( + rangelim(32 * humid / 100, 8, 32) * n_thickness + ), 2), + speed = {x = n_speedx * 4, z = n_speedz * 4}, + }) + end +end + + +local function cyclic_update() + update_clouds() + minetest.after(CYCLE, cyclic_update) +end + + +minetest.after(0, cyclic_update) + + +-- Update on player join to instantly alter clouds from the default + +minetest.register_on_joinplayer(function(player) + update_clouds() +end) diff --git a/mods/weather/license.txt b/mods/weather/license.txt new file mode 100644 index 00000000..33baa06d --- /dev/null +++ b/mods/weather/license.txt @@ -0,0 +1,24 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2019 paramat + +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. + +For more details: +https://opensource.org/licenses/MIT diff --git a/mods/weather/mod.conf b/mods/weather/mod.conf new file mode 100644 index 00000000..436ce678 --- /dev/null +++ b/mods/weather/mod.conf @@ -0,0 +1,2 @@ +name = weather +description = Minetest Game mod: weather diff --git a/mods/wool/locale/wool.eo.tr b/mods/wool/locale/wool.eo.tr new file mode 100644 index 00000000..582ea2a9 --- /dev/null +++ b/mods/wool/locale/wool.eo.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Blanka Lano +Grey Wool=Griza Lano +Dark Grey Wool=Malhela Griza Lano +Black Wool=Nigra Lano +Violet Wool=Viola Lano +Blue Wool=Blua Lano +Cyan Wool=Bluverda Lano +Dark Green Wool=Malhela Verda Lano +Green Wool=Verda Lano +Yellow Wool=Flava Lano +Brown Wool=Bruna Lano +Orange Wool=Oranĝa Lano +Red Wool=Ruĝa Lano +Magenta Wool=Fuksina Lano +Pink Wool=Roza Lano diff --git a/mods/wool/locale/wool.es.tr b/mods/wool/locale/wool.es.tr new file mode 100644 index 00000000..ac155920 --- /dev/null +++ b/mods/wool/locale/wool.es.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Lana blanca +Grey Wool=Lana gris +Dark Grey Wool=Lana gris oscuro +Black Wool=Lana negra +Violet Wool=Lana violeta +Blue Wool=Lana azul +Cyan Wool=Lana cián +Dark Green Wool=Lana verde oscuro +Green Wool=Lana verde +Yellow Wool=Lana amarilla +Brown Wool=Lana marrón +Orange Wool=Lana naranja +Red Wool=Lana roja +Magenta Wool=Lana magenta +Pink Wool=Lana rosa diff --git a/mods/wool/locale/wool.fr.tr b/mods/wool/locale/wool.fr.tr new file mode 100644 index 00000000..48a60a7e --- /dev/null +++ b/mods/wool/locale/wool.fr.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Laine blanche +Grey Wool=Laine grise +Dark Grey Wool=Laine grise foncée +Black Wool=Laine noire +Violet Wool=Laine violette +Blue Wool=Laine bleue +Cyan Wool=Laine cyan +Dark Green Wool=Laine verte foncée +Green Wool=Laine verte +Yellow Wool=Laine jaune +Brown Wool=Laine marron +Orange Wool=Laine orange +Red Wool=Laine rouge +Magenta Wool=Laine magenta +Pink Wool=Laine rose diff --git a/mods/wool/locale/wool.id.tr b/mods/wool/locale/wool.id.tr new file mode 100644 index 00000000..2448e436 --- /dev/null +++ b/mods/wool/locale/wool.id.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Wol Putih +Grey Wool=Wol Abu +Dark Grey Wool=Wol Abu Tua +Black Wool=Wol Hitam +Violet Wool=Wol Ungu +Blue Wool=Wol Biru +Cyan Wool=Wol Sian +Dark Green Wool=Wol Hijau Tua +Green Wool=Wol Hijau +Yellow Wool=Wol Kuning +Brown Wool=Wol Cokelat +Orange Wool=Wol Oranye +Red Wool=Wol Merah +Magenta Wool=Wol Magenta +Pink Wool=Wol Merah Jambu diff --git a/mods/wool/locale/wool.it.tr b/mods/wool/locale/wool.it.tr new file mode 100644 index 00000000..8108f2fc --- /dev/null +++ b/mods/wool/locale/wool.it.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Lana bianca +Grey Wool=Lana grigia +Dark Grey Wool=Lana grigia scura +Black Wool=Lana nera +Violet Wool=Lana viola +Blue Wool=Lana blu +Cyan Wool=Lana ciano +Dark Green Wool=Lana verde scura +Green Wool=Lana verde +Yellow Wool=Lana gialla +Brown Wool=Lana marrone +Orange Wool=Lana arancione +Red Wool=Lana rossa +Magenta Wool=Lana magenta +Pink Wool=Lana rosa diff --git a/mods/wool/locale/wool.ja.tr b/mods/wool/locale/wool.ja.tr new file mode 100644 index 00000000..5051f9e7 --- /dev/null +++ b/mods/wool/locale/wool.ja.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=白色の羊毛 +Grey Wool=灰色の羊毛 +Dark Grey Wool=濃灰色の羊毛 +Black Wool=黒色の羊毛 +Violet Wool=紫色の羊毛 +Blue Wool=青色の羊毛 +Cyan Wool=青緑色の羊毛 +Dark Green Wool=濃緑色の羊毛 +Green Wool=緑色の羊毛 +Yellow Wool=黄色の羊毛 +Brown Wool=茶色の羊毛 +Orange Wool=橙色の羊毛 +Red Wool=赤色の羊毛 +Magenta Wool=赤紫色の羊毛 +Pink Wool=桃色の羊毛 diff --git a/mods/wool/locale/wool.jbo.tr b/mods/wool/locale/wool.jbo.tr new file mode 100644 index 00000000..4bf44ecf --- /dev/null +++ b/mods/wool/locale/wool.jbo.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=lo blabi sunla +Grey Wool=lo grusi sunla +Dark Grey Wool=lo xekri grusi sunla +Black Wool=lo xekri sunla +Violet Wool=lo zirpu sunla +Blue Wool=lo blanu sunla +Cyan Wool=lo cicna sunla +Dark Green Wool=lo xekri crino sunla +Green Wool=lo crino sunla +Yellow Wool=lo pelxu sunla +Brown Wool=lo bunre sunla +Orange Wool=lo narju sunla +Red Wool=lo xunre sunla +Magenta Wool=lo nukni sunla +Pink Wool=lo xunblabi sunla diff --git a/mods/wool/locale/wool.ms.tr b/mods/wool/locale/wool.ms.tr new file mode 100644 index 00000000..18b54805 --- /dev/null +++ b/mods/wool/locale/wool.ms.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Bulu Biri-Biri Putih +Grey Wool=Bulu Biri-Biri Kelabu +Dark Grey Wool=Bulu Biri-Biri Kelabu Gelap +Black Wool=Bulu Biri-Biri Hitam +Violet Wool=Bulu Biri-Biri Ungu +Blue Wool=Bulu Biri-Biri Biru +Cyan Wool=Bulu Biri-Biri Biru Kehijauan +Dark Green Wool=Bulu Biri-Biri Hijau Gelap +Green Wool=Bulu Biri-Biri Hijau +Yellow Wool=Bulu Biri-Biri Kuning +Brown Wool=Bulu Biri-Biri Perang +Orange Wool=Bulu Biri-Biri Jingga +Red Wool=Bulu Biri-Biri Merah +Magenta Wool=Bulu Biri-Biri Merah Lembayung +Pink Wool=Bulu Biri-Biri Merah Jambu diff --git a/mods/wool/locale/wool.pt_BR.tr b/mods/wool/locale/wool.pt_BR.tr new file mode 100644 index 00000000..7676191e --- /dev/null +++ b/mods/wool/locale/wool.pt_BR.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Lã Branca +Grey Wool=Lã Cinza +Dark Grey Wool=Lã Cinza-escuro +Black Wool=Lã Preta +Violet Wool=Lã Violeta +Blue Wool=Lã Azul +Cyan Wool=Lã Ciano +Dark Green Wool=Lã Verde-escuro +Green Wool=Lã Verde +Yellow Wool=Lã Amarela +Brown Wool=Lã Marrom +Orange Wool=Lã Laranja +Red Wool=Lã Vermelha +Magenta Wool=Lã Magenta +Pink Wool=Lã Rosa diff --git a/mods/wool/locale/wool.ru.tr b/mods/wool/locale/wool.ru.tr new file mode 100644 index 00000000..f5a98aa1 --- /dev/null +++ b/mods/wool/locale/wool.ru.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Белая Шерсть +Grey Wool=Серая Шерсть +Dark Grey Wool=Тёмно-Серая Шерсть +Black Wool=Чёрная Шерсть +Violet Wool=Фиолетовая Шерсть +Blue Wool=Синяя Шерсть +Cyan Wool=Голубая Шерсть +Dark Green Wool=Тёмно-Зелёная Шерсть +Green Wool=Зелёная Шерсть +Yellow Wool=Жёлтая Шерсть +Brown Wool=Коричневая Шерсть +Orange Wool=Оранжевая Шерсть +Red Wool=Красная Шерсть +Magenta Wool=Пурпурная Шерсть +Pink Wool=Розовая Шерсть diff --git a/mods/wool/locale/wool.sk.tr b/mods/wool/locale/wool.sk.tr new file mode 100644 index 00000000..755370e8 --- /dev/null +++ b/mods/wool/locale/wool.sk.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Biela vlna +Grey Wool=Šedá vlna +Dark Grey Wool=Tmavošedá vlna +Black Wool=Čierna vlna +Violet Wool=Fialová vlna +Blue Wool=Modrá vlna +Cyan Wool=Tyrkysová vlna +Dark Green Wool=Tmavozelená vlna +Green Wool=Zelená vlna +Yellow Wool=Žltá vlna +Brown Wool=Hnedá vlna +Orange Wool=Oranžová vlna +Red Wool=Červená vlna +Magenta Wool=Purpurová vlna +Pink Wool=Ružová vlna diff --git a/mods/wool/locale/wool.sv.tr b/mods/wool/locale/wool.sv.tr new file mode 100644 index 00000000..bfce2140 --- /dev/null +++ b/mods/wool/locale/wool.sv.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Vit ull +Grey Wool=Grå ull +Dark Grey Wool=Mörkgrå ull +Black Wool=Svart ull +Violet Wool=Violett ull +Blue Wool=Blå ull +Cyan Wool=Cyan ull +Dark Green Wool=Mörkgrön ull +Green Wool=Grön ull +Yellow Wool=Gul ull +Brown Wool=Brun ull +Orange Wool=Orange ull +Red Wool=Röd ull +Magenta Wool=Magenta ull +Pink Wool=Rosa ull diff --git a/mods/wool/locale/wool.uk.tr b/mods/wool/locale/wool.uk.tr new file mode 100644 index 00000000..b9a3f7a1 --- /dev/null +++ b/mods/wool/locale/wool.uk.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Біла Шерсть +Grey Wool=Сіра Шерсть +Dark Grey Wool=Темно-Сіра Шерсть +Black Wool=Чорна Шерсть +Violet Wool=Фіолетова Шерсть +Blue Wool=Синя Шерсть +Cyan Wool=Голуба Шерсть +Dark Green Wool=Темно-Зелена Шерсть +Green Wool=Зелена Шерсть +Yellow Wool=Жовта Шерсть +Brown Wool=Коричнева Шерсть +Orange Wool=Оранжева Шерсть +Red Wool=Червона Шерсть +Magenta Wool=Пурпурна Шерсть +Pink Wool=Рожева Шерсть diff --git a/mods/wool/locale/wool.zh_CN.tr b/mods/wool/locale/wool.zh_CN.tr new file mode 100644 index 00000000..caac9ee2 --- /dev/null +++ b/mods/wool/locale/wool.zh_CN.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=白羊毛 +Grey Wool=灰羊毛 +Dark Grey Wool=暗灰羊毛 +Black Wool=黑羊毛 +Violet Wool=紫羊毛 +Blue Wool=蓝羊毛 +Cyan Wool=青羊毛 +Dark Green Wool=暗绿羊毛 +Green Wool=绿羊毛 +Yellow Wool=黄羊毛 +Brown Wool=棕羊毛 +Orange Wool=橙羊毛 +Red Wool=红羊毛 +Magenta Wool=品红羊毛 +Pink Wool=粉红羊毛 diff --git a/mods/wool/locale/wool.zh_TW.tr b/mods/wool/locale/wool.zh_TW.tr new file mode 100644 index 00000000..290a1fed --- /dev/null +++ b/mods/wool/locale/wool.zh_TW.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=白羊毛 +Grey Wool=灰羊毛 +Dark Grey Wool=暗灰羊毛 +Black Wool=黑羊毛 +Violet Wool=紫羊毛 +Blue Wool=藍羊毛 +Cyan Wool=青羊毛 +Dark Green Wool=暗綠羊毛 +Green Wool=綠羊毛 +Yellow Wool=黃羊毛 +Brown Wool=棕羊毛 +Orange Wool=橙羊毛 +Red Wool=紅羊毛 +Magenta Wool=品紅羊毛 +Pink Wool=粉紅羊毛 diff --git a/mods/xpanes/README.txt b/mods/xpanes/README.txt index 2e0afe49..0e34d232 100644 --- a/mods/xpanes/README.txt +++ b/mods/xpanes/README.txt @@ -28,3 +28,5 @@ TumeniNodes (CC BY-SA 3.0): xpanes_item_steel_bar.png xpanes_trapdoor_steel_bar.png xpanes_trapdoor_steel_bar_side.png + xpanes_steel_bar_door_close.ogg + xpanes_steel_bar_door_open.ogg diff --git a/mods/xpanes/init.lua b/mods/xpanes/init.lua index 8dcbb5fa..a02dbfe4 100644 --- a/mods/xpanes/init.lua +++ b/mods/xpanes/init.lua @@ -105,11 +105,18 @@ function xpanes.register_pane(name, def) inventory_image = def.inventory_image, wield_image = def.wield_image, paramtype2 = "facedir", - tiles = {def.textures[3], def.textures[3], def.textures[1]}, + tiles = { + def.textures[3], + def.textures[3], + def.textures[3], + def.textures[3], + def.textures[1], + def.textures[1] + }, groups = flatgroups, drop = "xpanes:" .. name .. "_flat", sounds = def.sounds, - use_texture_alpha = def.use_texture_alpha or false, + use_texture_alpha = def.use_texture_alpha and "blend" or "clip", node_box = { type = "fixed", fixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}}, @@ -130,11 +137,15 @@ function xpanes.register_pane(name, def) is_ground_content = false, sunlight_propagates = true, description = def.description, - tiles = {def.textures[3], def.textures[3], def.textures[1]}, + tiles = { + def.textures[3], + def.textures[3], + def.textures[1] + }, groups = groups, drop = "xpanes:" .. name .. "_flat", sounds = def.sounds, - use_texture_alpha = def.use_texture_alpha or false, + use_texture_alpha = def.use_texture_alpha and "blend" or "clip", node_box = { type = "connected", fixed = {{-1/32, -1/2, -1/32, 1/32, 1/2, 1/32}}, @@ -154,7 +165,7 @@ end xpanes.register_pane("pane", { description = S("Glass Pane"), - textures = {"default_glass.png","xpanes_pane_half.png","xpanes_edge.png"}, + textures = {"default_glass.png", "", "xpanes_edge.png"}, inventory_image = "default_glass.png", wield_image = "default_glass.png", sounds = default.node_sound_glass_defaults(), @@ -167,7 +178,7 @@ xpanes.register_pane("pane", { xpanes.register_pane("obsidian_pane", { description = S("Obsidian Glass Pane"), - textures = {"default_obsidian_glass.png","xpanes_pane_half.png","xpanes_edge_obsidian.png"}, + textures = {"default_obsidian_glass.png", "", "xpanes_edge_obsidian.png"}, inventory_image = "default_obsidian_glass.png", wield_image = "default_obsidian_glass.png", sounds = default.node_sound_glass_defaults(), @@ -180,7 +191,7 @@ xpanes.register_pane("obsidian_pane", { xpanes.register_pane("bar", { description = S("Steel Bars"), - textures = {"xpanes_bar.png","xpanes_bar.png","xpanes_bar_top.png"}, + textures = {"xpanes_bar.png", "", "xpanes_bar_top.png"}, inventory_image = "xpanes_bar.png", wield_image = "xpanes_bar.png", groups = {cracky=2}, @@ -212,10 +223,12 @@ if minetest.get_modpath("doors") then description = S("Steel Bar Door"), inventory_image = "xpanes_item_steel_bar.png", protected = true, - groups = {cracky = 1, level = 2}, + groups = {node = 1, cracky = 1, level = 2}, sounds = default.node_sound_metal_defaults(), - sound_open = "doors_steel_door_open", - sound_close = "doors_steel_door_close", + sound_open = "xpanes_steel_bar_door_open", + sound_close = "xpanes_steel_bar_door_close", + gain_open = 0.15, + gain_close = 0.13, recipe = { {"xpanes:bar_flat", "xpanes:bar_flat"}, {"xpanes:bar_flat", "xpanes:bar_flat"}, @@ -230,10 +243,12 @@ if minetest.get_modpath("doors") then tile_front = "xpanes_trapdoor_steel_bar.png", tile_side = "xpanes_trapdoor_steel_bar_side.png", protected = true, - groups = {cracky = 1, level = 2, door = 1}, + groups = {node = 1, cracky = 1, level = 2, door = 1}, sounds = default.node_sound_metal_defaults(), - sound_open = "doors_steel_door_open", - sound_close = "doors_steel_door_close", + sound_open = "xpanes_steel_bar_door_open", + sound_close = "xpanes_steel_bar_door_close", + gain_open = 0.15, + gain_close = 0.13, }) minetest.register_craft({ diff --git a/mods/xpanes/locale/template.txt b/mods/xpanes/locale/template.txt index 365fd9c7..08dfbbae 100644 --- a/mods/xpanes/locale/template.txt +++ b/mods/xpanes/locale/template.txt @@ -2,3 +2,5 @@ Glass Pane= Obsidian Glass Pane= Steel Bars= +Steel Bar Door= +Steel Bar Trapdoor= diff --git a/mods/xpanes/locale/xpanes.de.tr b/mods/xpanes/locale/xpanes.de.tr index c9e14e0b..9852753f 100644 --- a/mods/xpanes/locale/xpanes.de.tr +++ b/mods/xpanes/locale/xpanes.de.tr @@ -2,3 +2,5 @@ Glass Pane=Glasscheibe Obsidian Glass Pane=Obsidianglasscheibe Steel Bars=Stahlgitter +Steel Bar Door=Stahlgittertür +Steel Bar Trapdoor=Stahlgitterfalltür diff --git a/mods/xpanes/locale/xpanes.eo.tr b/mods/xpanes/locale/xpanes.eo.tr new file mode 100644 index 00000000..5acbb1bf --- /dev/null +++ b/mods/xpanes/locale/xpanes.eo.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Vitra Vitraĵo +Obsidian Glass Pane=Obsidiana Vitra Vitraĵo +Steel Bars=Ŝtala Baraĵoj +Steel Bar Door=Ŝtala Baraĵa Pordo +Steel Bar Trapdoor=Ŝtala Baraĵa Plankpordo diff --git a/mods/xpanes/locale/xpanes.es.tr b/mods/xpanes/locale/xpanes.es.tr new file mode 100644 index 00000000..9902be70 --- /dev/null +++ b/mods/xpanes/locale/xpanes.es.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Panel de vidrio +Obsidian Glass Pane=Panel de vidrio de obsidiana +Steel Bars=Barras de acero +Steel Bar Door=Puerta de barras de acero +Steel Bar Trapdoor=Trampilla de barras de acero diff --git a/mods/xpanes/locale/xpanes.fr.tr b/mods/xpanes/locale/xpanes.fr.tr new file mode 100644 index 00000000..c7517996 --- /dev/null +++ b/mods/xpanes/locale/xpanes.fr.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Panneau de verre +Obsidian Glass Pane=Panneau de verre d'obsidienne +Steel Bars=Barreaux d'acier +Steel Bar Door=Porte en barreaux d'acier +Steel Bar Trapdoor=Trappe en barreaux d'acier diff --git a/mods/xpanes/locale/xpanes.id.tr b/mods/xpanes/locale/xpanes.id.tr new file mode 100644 index 00000000..906cc0f8 --- /dev/null +++ b/mods/xpanes/locale/xpanes.id.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Panel Kaca +Obsidian Glass Pane=Panel Kaca Obsidian +Steel Bars=Batang Baja +Steel Bar Door=Pintu Batang Baja +Steel Bar Trapdoor=Pintu Kolong Batang Baja diff --git a/mods/xpanes/locale/xpanes.it.tr b/mods/xpanes/locale/xpanes.it.tr new file mode 100644 index 00000000..63c8b62a --- /dev/null +++ b/mods/xpanes/locale/xpanes.it.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Pannello di vetro +Obsidian Glass Pane=Pannello di vetro d'ossidiana +Steel Bars=Sbarre d'acciaio +Steel Bar Door=Porta con sbarre d'acciaio +Steel Bar Trapdoor=Botola con sbarre d'acciaio diff --git a/mods/xpanes/locale/xpanes.ja.tr b/mods/xpanes/locale/xpanes.ja.tr new file mode 100644 index 00000000..06e0bed5 --- /dev/null +++ b/mods/xpanes/locale/xpanes.ja.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=板ガラス +Obsidian Glass Pane=黒曜石の板ガラス +Steel Bars=鉄棒の柵 +Steel Bar Door=鉄棒のドア +Steel Bar Trapdoor=鉄棒のトラップドア diff --git a/mods/xpanes/locale/xpanes.jbo.tr b/mods/xpanes/locale/xpanes.jbo.tr new file mode 100644 index 00000000..333b5313 --- /dev/null +++ b/mods/xpanes/locale/xpanes.jbo.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=lo blaci plita +Obsidian Glass Pane=lo je'erma'ablaci blaci plita +Steel Bars=lo gasta garna +Steel Bar Door=lo gasta garna vrogai +Steel Bar Trapdoor=lo gasta garna lolvrogai diff --git a/mods/xpanes/locale/xpanes.ms.tr b/mods/xpanes/locale/xpanes.ms.tr new file mode 100644 index 00000000..dedfefa8 --- /dev/null +++ b/mods/xpanes/locale/xpanes.ms.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Kaca Tingkap +Obsidian Glass Pane=Kaca Tingkap Obsidia +Steel Bars=Jeriji Keluli +Steel Bar Door=Pintu Jeriji Keluli +Steel Bar Trapdoor=Pintu Kolong Jeriji Keluli diff --git a/mods/xpanes/locale/xpanes.pt_BR.tr b/mods/xpanes/locale/xpanes.pt_BR.tr new file mode 100644 index 00000000..c1ca3b26 --- /dev/null +++ b/mods/xpanes/locale/xpanes.pt_BR.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Painel de Vidro +Obsidian Glass Pane=Painel de Vidro de Obsidiana +Steel Bars=Barras de Aço +Steel Bar Door=Porta de Barras de Aço +Steel Bar Trapdoor=Alçapão de Barras de Aço diff --git a/mods/xpanes/locale/xpanes.ru.tr b/mods/xpanes/locale/xpanes.ru.tr new file mode 100644 index 00000000..166c62de --- /dev/null +++ b/mods/xpanes/locale/xpanes.ru.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Стеклянная Панель +Obsidian Glass Pane=Стеклянная Панель Из Обсидиана +Steel Bars=Стальная Решётка +Steel Bar Door=Стальная Решётчатая Дверь +Steel Bar Trapdoor=Стальной Решётчатый Люк diff --git a/mods/xpanes/locale/xpanes.sk.tr b/mods/xpanes/locale/xpanes.sk.tr new file mode 100644 index 00000000..0d07e08a --- /dev/null +++ b/mods/xpanes/locale/xpanes.sk.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Tabuľa skla +Obsidian Glass Pane=Tabuľa obsidiánového skla +Steel Bars=Oceľové mreže +Steel Bar Door=Dvere z oceľových mreží +Steel Bar Trapdoor=Padajúce dvere z oceľových mreží diff --git a/mods/xpanes/locale/xpanes.sv.tr b/mods/xpanes/locale/xpanes.sv.tr new file mode 100644 index 00000000..7b615dd3 --- /dev/null +++ b/mods/xpanes/locale/xpanes.sv.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Glasruta +Obsidian Glass Pane=Obsidianglasruta +Steel Bars=Stålgaller +Steel Bar Door=Stålgallerdörr +Steel Bar Trapdoor=Stålgallerfallucka diff --git a/mods/xpanes/locale/xpanes.uk.tr b/mods/xpanes/locale/xpanes.uk.tr new file mode 100644 index 00000000..d4b4b5c8 --- /dev/null +++ b/mods/xpanes/locale/xpanes.uk.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Скляна Панель +Obsidian Glass Pane=Скляна Панель З Обсидіану +Steel Bars=Сталева Решітка +Steel Bar Door=Сталеві Двері З Решіткою +Steel Bar Trapdoor=Сталевий Люк З Решіткою diff --git a/mods/xpanes/locale/xpanes.zh_CN.tr b/mods/xpanes/locale/xpanes.zh_CN.tr new file mode 100644 index 00000000..7b1871c9 --- /dev/null +++ b/mods/xpanes/locale/xpanes.zh_CN.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=玻璃窗 +Obsidian Glass Pane=黑曜石玻璃窗 +Steel Bars=钢筋 +Steel Bar Door=钢筋门 +Steel Bar Trapdoor=钢筋活板门 diff --git a/mods/xpanes/locale/xpanes.zh_TW.tr b/mods/xpanes/locale/xpanes.zh_TW.tr new file mode 100644 index 00000000..97ee7a28 --- /dev/null +++ b/mods/xpanes/locale/xpanes.zh_TW.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=玻璃窗 +Obsidian Glass Pane=黑曜石玻璃窗 +Steel Bars=鋼筋 +Steel Bar Door=鋼筋門 +Steel Bar Trapdoor=鋼筋活板門 diff --git a/mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg b/mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg new file mode 100644 index 00000000..0620bfb8 Binary files /dev/null and b/mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg differ diff --git a/mods/xpanes/sounds/xpanes_steel_bar_door_open.ogg b/mods/xpanes/sounds/xpanes_steel_bar_door_open.ogg new file mode 100644 index 00000000..d159be9b Binary files /dev/null and b/mods/xpanes/sounds/xpanes_steel_bar_door_open.ogg differ diff --git a/mods/xpanes/textures/xpanes_bar_top.png b/mods/xpanes/textures/xpanes_bar_top.png index 7b74508f..2955d72c 100644 Binary files a/mods/xpanes/textures/xpanes_bar_top.png and b/mods/xpanes/textures/xpanes_bar_top.png differ diff --git a/mods/xpanes/textures/xpanes_door_steel_bar.png b/mods/xpanes/textures/xpanes_door_steel_bar.png index 435af148..39f45c30 100644 Binary files a/mods/xpanes/textures/xpanes_door_steel_bar.png and b/mods/xpanes/textures/xpanes_door_steel_bar.png differ diff --git a/mods/xpanes/textures/xpanes_item_steel_bar.png b/mods/xpanes/textures/xpanes_item_steel_bar.png index d1ddaddd..46e4d9c6 100644 Binary files a/mods/xpanes/textures/xpanes_item_steel_bar.png and b/mods/xpanes/textures/xpanes_item_steel_bar.png differ diff --git a/mods/xpanes/textures/xpanes_pane_half.png b/mods/xpanes/textures/xpanes_pane_half.png deleted file mode 100644 index 4e846dfa..00000000 Binary files a/mods/xpanes/textures/xpanes_pane_half.png and /dev/null differ diff --git a/mods/xpanes/textures/xpanes_space.png b/mods/xpanes/textures/xpanes_space.png deleted file mode 100644 index 331e3658..00000000 Binary files a/mods/xpanes/textures/xpanes_space.png and /dev/null differ diff --git a/mods/xpanes/textures/xpanes_trapdoor_steel_bar.png b/mods/xpanes/textures/xpanes_trapdoor_steel_bar.png index de4b4946..a56c5ee3 100644 Binary files a/mods/xpanes/textures/xpanes_trapdoor_steel_bar.png and b/mods/xpanes/textures/xpanes_trapdoor_steel_bar.png differ diff --git a/schematic_tables.txt b/schematic_tables.txt index a33300f7..eff2d359 100644 --- a/schematic_tables.txt +++ b/schematic_tables.txt @@ -2100,7 +2100,7 @@ mts_save("large_cactus", { -- Papyrus -mts_save("papyrus", { +mts_save("papyrus_on_dirt", { size = {x = 1, y = 7, z = 1}, data = { {name = "default:dirt", prob = 255, force_place = true}, @@ -2117,6 +2117,23 @@ mts_save("papyrus", { }, }) +mts_save("papyrus_on_dry_dirt", { + size = {x = 1, y = 7, z = 1}, + data = { + {name = "default:dry_dirt", prob = 255, force_place = true}, + {name = "default:dry_dirt", prob = 255, force_place = true}, + {name = "default:papyrus", prob = 255}, + {name = "default:papyrus", prob = 255}, + {name = "default:papyrus", prob = 255}, + {name = "default:papyrus", prob = 255}, + {name = "default:papyrus", prob = 255}, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + {ypos = 3, prob = 127}, + }, +}) + -- Bush diff --git a/screenshot.png b/screenshot.png index 5498b601..d648ea4b 100644 Binary files a/screenshot.png and b/screenshot.png differ diff --git a/settingtypes.txt b/settingtypes.txt index a0d5fead..eff1e902 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -71,3 +71,7 @@ engine_spawn (Use engine spawn search) bool false # Whether river water source nodes create flowing sounds. # Helps rivers create more sound, especially on level sections. river_source_sounds (River source node sounds) bool false + +# Enable cloud variation by the 'weather' mod. +# Non-functional in V6 or Singlenode mapgens. +enable_weather (Enable weather) bool true diff --git a/utils/optimize_textures.sh b/utils/optimize_textures.sh new file mode 100644 index 00000000..2f9a6da5 --- /dev/null +++ b/utils/optimize_textures.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Colors with 0 alpha need to be preserved, because opaque leaves ignore alpha. +# For that purpose, the use of indexed colors is disabled (-nc). + +find -name '../*.png' -print0 | xargs -0 optipng -o7 -zm1-9 -nc -strip all -clobber