Compare commits
76 Commits
Author | SHA1 | Date |
---|---|---|
Yves Quemener | 5baf5c1c51 | |
Yves Quemener | 2fd4c32ce7 | |
Yves Quemener | 2faa769a1f | |
Zweihorn | dad270a296 | |
Zweihorn | 592ed84831 | |
Zweihorn | 6c7f03ce0f | |
Zweihorn | 0f80116e97 | |
Zweihorn | bfc11fe83c | |
Zweihorn | 4d55f99548 | |
Zweihorn | 1d21646644 | |
Zweihorn | 835ac73e0a | |
Zweihorn | 1718494306 | |
Zweihorn | 97c2de8b79 | |
Zweihorn | 3e54b6e430 | |
Zweihorn | 5c82aa3d14 | |
Zweihorn | c32552f8ef | |
Zweihorn | 4b99c82c73 | |
Zweihorn | 4e12030bab | |
Zweihorn | cc3664cc82 | |
Zweihorn | f4d49861f5 | |
mbartlett21 | d99a176b69 | |
Panquesito7 | 7e16ec7a2f | |
Paramat | e8097c9e87 | |
Paramat | 5c3e4b1d20 | |
TumeniNodes | 553b0f9d72 | |
Paul Ouellette | 7269711911 | |
coil | 3a3f71aa50 | |
Paramat | fac8f390b1 | |
Paramat | 4eadf80634 | |
Paul Ouellette | e5ebb36cd5 | |
Paramat | 2063fcd075 | |
HybridDog | a2254bd0af | |
TumeniNodes | 7f830124f7 | |
TumeniNodes | a5bde8e9ba | |
Paramat | 6716fc74ec | |
TumeniNodes | c32b8adaa3 | |
TumeniNodes | 4282a93a02 | |
Paramat | d16612c1cb | |
Paramat | 9fe877ef99 | |
sfan5 | a81a7e0c78 | |
sfan5 | 9b226c7045 | |
sfan5 | 773011fd85 | |
sfan5 | c3403936d3 | |
sfan5 | b701e500aa | |
sfan5 | 37710866f0 | |
TumeniNodes | bfb84da39c | |
Paramat | 3bca295da8 | |
acmgit | 83fb6fe872 | |
SmallJoker | 95aaec6670 | |
bell07 | 5b1d5819e5 | |
luk3yx | 3d530e0c25 | |
Paramat | e7be81242b | |
rubenwardy | a6a719967a | |
t0ny2 | 54bb0afe7f | |
SmallJoker | 0f771a27c3 | |
Paramat | ca7c131133 | |
acmgit | 61bfac0fa2 | |
An0n3m0us | e19f42d648 | |
Zweihorn | 76a08a7058 | |
Paul Ouellette | 80c10cee15 | |
Paramat | aee5ba64f9 | |
Paramat | 5c48c76aa2 | |
Paramat | f21bab2ff9 | |
HybridDog | 0291c6b210 | |
HybridDog | b20725026e | |
tenplus1 | 88d79881b8 | |
HybridDog | efd090228d | |
Paramat | dfe6fd6560 | |
SmallJoker | dd3f3b2032 | |
Paramat | 8b5e0a914b | |
Paramat | e3cd961a15 | |
Niwla23 | eaf6eac723 | |
sfan5 | 02e2cab375 | |
sofar | b853c8a509 | |
acmgit | 891f00e9db | |
Hugo Locurcio | b38b5b2357 |
|
@ -1,5 +1,4 @@
|
||||||
language: generic
|
language: generic
|
||||||
sudo: false
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
|
@ -7,6 +6,6 @@ addons:
|
||||||
before_install:
|
before_install:
|
||||||
- luarocks install --local luacheck
|
- luarocks install --local luacheck
|
||||||
script:
|
script:
|
||||||
- $HOME/.luarocks/bin/luacheck --no-color ./mods
|
- $HOME/.luarocks/bin/luacheck ./mods
|
||||||
notifications:
|
notifications:
|
||||||
email: false
|
email: false
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
# Minetest Game
|
||||||
|
|
||||||
|
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).
|
||||||
|
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/
|
||||||
|
|
||||||
|
- 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).
|
||||||
|
|
||||||
|
For further information or help, see:
|
||||||
|
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.
|
||||||
|
|
||||||
|
When stable releases are made, Minetest Game and the Minetest engine is packaged and made available at
|
||||||
|
https://minetest.net/downloads/
|
||||||
|
|
||||||
|
## Licensing
|
||||||
|
|
||||||
|
See `LICENSE.txt`
|
28
README.txt
28
README.txt
|
@ -1,28 +0,0 @@
|
||||||
Minetest Game [minetest_game]
|
|
||||||
=============================
|
|
||||||
The main game for the Minetest engine
|
|
||||||
=====================================
|
|
||||||
|
|
||||||
To use this game with the Minetest engine, insert this repository as
|
|
||||||
/games/minetest_game
|
|
||||||
|
|
||||||
The Minetest engine can be found in:
|
|
||||||
https://github.com/minetest/minetest/
|
|
||||||
|
|
||||||
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 (eg.
|
|
||||||
0.4.10), Minetest Game is tagged with the version too.
|
|
||||||
|
|
||||||
When stable releases are made, Minetest Game is packaged and made available in
|
|
||||||
http://minetest.net/downloads/
|
|
||||||
and in case the repository has grown too much, it may be reset. In that sense,
|
|
||||||
this is not a "real" git repository. (Package maintainers please note!)
|
|
||||||
|
|
||||||
Licensing
|
|
||||||
---------
|
|
||||||
|
|
||||||
See LICENSE.txt
|
|
|
@ -1,3 +1,3 @@
|
||||||
name = Minetest Game
|
name = Minetest Game
|
||||||
author = minetest
|
author = Minetest
|
||||||
description = Bundled by default with Minetest, and aims to be lightweight, moddable, and fairly playable without mods.
|
description = Bundled by default with Minetest, and aims to be lightweight, moddable, and fairly playable without mods.
|
||||||
|
|
16
game_api.txt
16
game_api.txt
|
@ -214,6 +214,8 @@ The doors mod allows modders to register custom doors and trapdoors.
|
||||||
inventory_image = "mod_door_inv.png",
|
inventory_image = "mod_door_inv.png",
|
||||||
groups = {choppy = 2},
|
groups = {choppy = 2},
|
||||||
tiles = {"mod_door.png"}, -- UV map.
|
tiles = {"mod_door.png"}, -- UV map.
|
||||||
|
-- The front and back of the door must be identical in appearence as they swap on
|
||||||
|
-- open/close.
|
||||||
recipe = craftrecipe,
|
recipe = craftrecipe,
|
||||||
sounds = default.node_sound_wood_defaults(), -- optional
|
sounds = default.node_sound_wood_defaults(), -- optional
|
||||||
sound_open = sound play for open door, -- optional
|
sound_open = sound play for open door, -- optional
|
||||||
|
@ -228,7 +230,12 @@ The doors mod allows modders to register custom doors and trapdoors.
|
||||||
inventory_image = "mod_trapdoor_inv.png",
|
inventory_image = "mod_trapdoor_inv.png",
|
||||||
groups = {choppy = 2},
|
groups = {choppy = 2},
|
||||||
tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor
|
tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor
|
||||||
tile_side = "doors_trapdoor_side.png", -- the tiles of the four side parts of the trapdoor
|
tile_side = "doors_trapdoor_side.png",
|
||||||
|
-- The texture for the four sides of the trapdoor.
|
||||||
|
-- The texture should have the trapdoor side drawn twice, in the lowest and highest
|
||||||
|
-- 1/8ths of the texture, both upright. The area between is not used.
|
||||||
|
-- The lower 1/8th will be used for the closed trapdoor, the higher 1/8th will be used
|
||||||
|
-- for the open trapdoor.
|
||||||
sounds = default.node_sound_wood_defaults(), -- optional
|
sounds = default.node_sound_wood_defaults(), -- optional
|
||||||
sound_open = sound play for open door, -- optional
|
sound_open = sound play for open door, -- optional
|
||||||
sound_close = sound play for close door, -- optional
|
sound_close = sound play for close door, -- optional
|
||||||
|
@ -269,7 +276,7 @@ The mod that places chests with loot in dungeons provides an API to register add
|
||||||
name = "item:name",
|
name = "item:name",
|
||||||
chance = 0.5,
|
chance = 0.5,
|
||||||
-- ^ chance value from 0.0 to 1.0 that the item will appear in the chest when chosen
|
-- ^ chance value from 0.0 to 1.0 that the item will appear in the chest when chosen
|
||||||
-- due to an extra step in the selection process, 0.5 does not(!) mean that
|
-- Due to an extra step in the selection process, 0.5 does not(!) mean that
|
||||||
-- on average every second chest will have this item
|
-- on average every second chest will have this item
|
||||||
count = {1, 4},
|
count = {1, 4},
|
||||||
-- ^ table with minimum and maximum amounts of this item
|
-- ^ table with minimum and maximum amounts of this item
|
||||||
|
@ -279,7 +286,8 @@ The mod that places chests with loot in dungeons provides an API to register add
|
||||||
-- optional, defaults to no height restrictions
|
-- optional, defaults to no height restrictions
|
||||||
types = {"desert"},
|
types = {"desert"},
|
||||||
-- ^ table with types of dungeons this item can be found in
|
-- ^ table with types of dungeons this item can be found in
|
||||||
-- supported types: "normal" (the cobble/mossycobble one), "sandstone", "desert"
|
-- supported types: "normal" (the cobble/mossycobble one), "sandstone"
|
||||||
|
-- "desert" and "ice"
|
||||||
-- optional, defaults to no type restrictions
|
-- optional, defaults to no type restrictions
|
||||||
|
|
||||||
|
|
||||||
|
@ -362,6 +370,8 @@ The farming API allows you to easily register plants and hoes.
|
||||||
Fire API
|
Fire API
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
Add group flammable when registering a node to make fire seek for it.
|
||||||
|
Add it to an item to make it burn up when dropped in lava or fire.
|
||||||
New node def property:
|
New node def property:
|
||||||
|
|
||||||
`on_burn(pos)`
|
`on_burn(pos)`
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,63 @@
|
||||||
|
# Transforms the generic po file produced by weblate into a series of
|
||||||
|
# locale/[modname].ja.tr files.
|
||||||
|
|
||||||
|
# TODO: make it work for all languages!
|
||||||
|
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
|
strings=dict()
|
||||||
|
modstr=defaultdict(list)
|
||||||
|
for modname in os.listdir("../mods/"):
|
||||||
|
for fn in os.listdir("../mods/"+modname):
|
||||||
|
if fn.endswith(".lua"):
|
||||||
|
s=open("../mods/"+modname+"/"+fn).read()
|
||||||
|
for gtstring in re.findall("S\(.*\)", s):
|
||||||
|
k=gtstring[3:-2]
|
||||||
|
strings[k]=modname
|
||||||
|
modstr[modname].append(k)
|
||||||
|
"""
|
||||||
|
for m in modstr.keys():
|
||||||
|
print(m)
|
||||||
|
for v in modstr[m]:
|
||||||
|
print("\t"+v)
|
||||||
|
"""
|
||||||
|
locales = list()
|
||||||
|
for fn in os.listdir("."):
|
||||||
|
if fn .endswith(".po"):
|
||||||
|
locales.append(fn[:-3])
|
||||||
|
print(locales)
|
||||||
|
|
||||||
|
notused=set()
|
||||||
|
for loc in locales:
|
||||||
|
matches = 0
|
||||||
|
nom = 0
|
||||||
|
msgid = None
|
||||||
|
translation = dict()
|
||||||
|
for line in open(loc+".po"):
|
||||||
|
match = re.match('[^#]*msgstr[ \t]+"(.*)"', line)
|
||||||
|
if match and msgid is not None:
|
||||||
|
translation[msgid]=match.group(1)
|
||||||
|
match = re.match('[^#]*msgid[ \t]+"(.*)"', line)
|
||||||
|
if match:
|
||||||
|
msgid = match.group(1)
|
||||||
|
if msgid in strings:
|
||||||
|
matches+=1
|
||||||
|
else:
|
||||||
|
nom+=1
|
||||||
|
notused.add(msgid)
|
||||||
|
else:
|
||||||
|
msgid=None
|
||||||
|
|
||||||
|
print("{}: {}/{}".format(loc, matches, matches+nom))
|
||||||
|
|
||||||
|
for modname in os.listdir("../mods/"):
|
||||||
|
os.makedirs("../mods/{0}/locale".format(modname), exist_ok=True)
|
||||||
|
localefile = open("../mods/{0}/locale/{0}.{1}.tr".format(modname, loc), "w")
|
||||||
|
localefile.write("# textdomain: "+modname+"\n\n")
|
||||||
|
for k in modstr[modname]:
|
||||||
|
if k in translation:
|
||||||
|
localefile.write("{}={}\n\n".format(k,translation[k]))
|
||||||
|
localefile.close()
|
||||||
|
print(notused)
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,12 @@
|
||||||
|
-- beds/beds.lua
|
||||||
|
|
||||||
|
-- support for MT game translation.
|
||||||
|
local S = beds.get_translator
|
||||||
|
|
||||||
-- Fancy shaped bed
|
-- Fancy shaped bed
|
||||||
|
|
||||||
beds.register_bed("beds:fancy_bed", {
|
beds.register_bed("beds:fancy_bed", {
|
||||||
description = "Fancy Bed",
|
description = S("Fancy Bed"),
|
||||||
inventory_image = "beds_bed_fancy.png",
|
inventory_image = "beds_bed_fancy.png",
|
||||||
wield_image = "beds_bed_fancy.png",
|
wield_image = "beds_bed_fancy.png",
|
||||||
tiles = {
|
tiles = {
|
||||||
|
@ -52,7 +57,7 @@ beds.register_bed("beds:fancy_bed", {
|
||||||
-- Simple shaped bed
|
-- Simple shaped bed
|
||||||
|
|
||||||
beds.register_bed("beds:bed", {
|
beds.register_bed("beds:bed", {
|
||||||
description = "Simple Bed",
|
description = S("Simple Bed"),
|
||||||
inventory_image = "beds_bed.png",
|
inventory_image = "beds_bed.png",
|
||||||
wield_image = "beds_bed.png",
|
wield_image = "beds_bed.png",
|
||||||
tiles = {
|
tiles = {
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
default
|
|
||||||
wool
|
|
|
@ -1,5 +1,4 @@
|
||||||
local pi = math.pi
|
local pi = math.pi
|
||||||
local player_in_bed = 0
|
|
||||||
local is_sp = minetest.is_singleplayer()
|
local is_sp = minetest.is_singleplayer()
|
||||||
local enable_respawn = minetest.settings:get_bool("enable_bed_respawn")
|
local enable_respawn = minetest.settings:get_bool("enable_bed_respawn")
|
||||||
if enable_respawn == nil then
|
if enable_respawn == nil then
|
||||||
|
@ -59,11 +58,8 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||||
-- stand up
|
-- stand up
|
||||||
if state ~= nil and not state then
|
if state ~= nil and not state then
|
||||||
local p = beds.pos[name] or nil
|
local p = beds.pos[name] or nil
|
||||||
if beds.player[name] ~= nil then
|
|
||||||
beds.player[name] = nil
|
beds.player[name] = nil
|
||||||
beds.bed_position[name] = nil
|
beds.bed_position[name] = nil
|
||||||
player_in_bed = player_in_bed - 1
|
|
||||||
end
|
|
||||||
-- skip here to prevent sending player specific changes (used for leaving players)
|
-- skip here to prevent sending player specific changes (used for leaving players)
|
||||||
if skip then
|
if skip then
|
||||||
return
|
return
|
||||||
|
@ -82,10 +78,9 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||||
|
|
||||||
-- lay down
|
-- lay down
|
||||||
else
|
else
|
||||||
beds.player[name] = 1
|
|
||||||
beds.pos[name] = pos
|
beds.pos[name] = pos
|
||||||
beds.bed_position[name] = bed_pos
|
beds.bed_position[name] = bed_pos
|
||||||
player_in_bed = player_in_bed + 1
|
beds.player[name] = 1
|
||||||
|
|
||||||
-- physics, eye_offset, etc
|
-- physics, eye_offset, etc
|
||||||
player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0})
|
player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0})
|
||||||
|
@ -103,9 +98,18 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||||
player:hud_set_flags(hud_flags)
|
player:hud_set_flags(hud_flags)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function get_player_in_bed_count()
|
||||||
|
local c = 0
|
||||||
|
for _, _ in pairs(beds.player) do
|
||||||
|
c = c + 1
|
||||||
|
end
|
||||||
|
return c
|
||||||
|
end
|
||||||
|
|
||||||
local function update_formspecs(finished)
|
local function update_formspecs(finished)
|
||||||
local ges = #minetest.get_connected_players()
|
local ges = #minetest.get_connected_players()
|
||||||
local form_n
|
local form_n
|
||||||
|
local player_in_bed = get_player_in_bed_count()
|
||||||
local is_majority = (ges / 2) < player_in_bed
|
local is_majority = (ges / 2) < player_in_bed
|
||||||
|
|
||||||
if finished then
|
if finished then
|
||||||
|
@ -223,7 +227,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
-- Because "Force night skip" button is a button_exit, it will set fields.quit
|
-- Because "Force night skip" button is a button_exit, it will set fields.quit
|
||||||
-- and lay_down call will change value of player_in_bed, so it must be taken
|
-- and lay_down call will change value of player_in_bed, so it must be taken
|
||||||
-- earlier.
|
-- earlier.
|
||||||
local last_player_in_bed = player_in_bed
|
local last_player_in_bed = get_player_in_bed_count()
|
||||||
|
|
||||||
if fields.quit or fields.leave then
|
if fields.quit or fields.leave then
|
||||||
lay_down(player, nil, nil, false)
|
lay_down(player, nil, nil, false)
|
||||||
|
|
|
@ -1,13 +1,20 @@
|
||||||
|
-- beds/init.lua
|
||||||
|
|
||||||
|
-- Load support for MT game translation.
|
||||||
|
local S = minetest.get_translator("beds")
|
||||||
|
|
||||||
|
|
||||||
beds = {}
|
beds = {}
|
||||||
beds.player = {}
|
beds.player = {}
|
||||||
beds.bed_position = {}
|
beds.bed_position = {}
|
||||||
beds.pos = {}
|
beds.pos = {}
|
||||||
beds.spawn = {}
|
beds.spawn = {}
|
||||||
|
beds.get_translator = S
|
||||||
|
|
||||||
beds.formspec = "size[8,11;true]" ..
|
beds.formspec = "size[8,11;true]" ..
|
||||||
"no_prepend[]" ..
|
"no_prepend[]" ..
|
||||||
"bgcolor[#080808BB;true]" ..
|
"bgcolor[#080808BB;true]" ..
|
||||||
"button_exit[2,10;4,0.75;leave;Leave Bed]"
|
"button_exit[2,10;4,0.75;leave;" .. S("Leave Bed") .. "]"
|
||||||
|
|
||||||
local modpath = minetest.get_modpath("beds")
|
local modpath = minetest.get_modpath("beds")
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Незвычайны ложак
|
||||||
|
|
||||||
|
Simple Bed=Просты ложак
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Zdobená postel
|
||||||
|
|
||||||
|
Simple Bed=Prostá postel
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Schönes Bett
|
||||||
|
|
||||||
|
Simple Bed=Schlichtes Bett
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=
|
||||||
|
|
||||||
|
Simple Bed=
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Luksa lito
|
||||||
|
|
||||||
|
Simple Bed=Simpla lito
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Cama sofisticada
|
||||||
|
|
||||||
|
Simple Bed=Cama sencilla
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Lit fantaisie
|
||||||
|
|
||||||
|
Simple Bed=Lit Simple
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Csinos ágy
|
||||||
|
|
||||||
|
Simple Bed=Egyszerű ágy
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Dipan Mewah
|
||||||
|
|
||||||
|
Simple Bed=Dipan Sederhana
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Letto elegante
|
||||||
|
|
||||||
|
Simple Bed=Letto semplice
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=お洒落なベッド
|
||||||
|
|
||||||
|
Simple Bed=簡素なベッド
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=se jadni ckana
|
||||||
|
|
||||||
|
Simple Bed=sampu ckana
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Katil Beragam
|
||||||
|
|
||||||
|
Simple Bed=Katil Biasa
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Mooi Bed
|
||||||
|
|
||||||
|
Simple Bed=Simpel bed
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Łóżko ozdobne
|
||||||
|
|
||||||
|
Simple Bed=Proste łóżko
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Cama com Cabeceira
|
||||||
|
|
||||||
|
Simple Bed=Cama Simples
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Cama com Cabeceira
|
||||||
|
|
||||||
|
Simple Bed=Cama Simples
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Pat Luxos
|
||||||
|
|
||||||
|
Simple Bed=Pat Simplu
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Необычная кровать
|
||||||
|
|
||||||
|
Simple Bed=Обычная кровать
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Китњаст кревет
|
||||||
|
|
||||||
|
Simple Bed=Једноставан кревет
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Süslü Yatak
|
||||||
|
|
||||||
|
Simple Bed=Basit Yatak
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=Чепурне Ліжко
|
||||||
|
|
||||||
|
Simple Bed=Просте Ліжко
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=豪华大床
|
||||||
|
|
||||||
|
Simple Bed=简单的床
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# textdomain: beds
|
||||||
|
|
||||||
|
Fancy Bed=
|
||||||
|
|
||||||
|
Simple Bed=
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
name = beds
|
||||||
|
description = Minetest Game mod: beds
|
||||||
|
depends = default, wool
|
|
@ -1,2 +0,0 @@
|
||||||
default
|
|
||||||
creative?
|
|
|
@ -1,7 +1,12 @@
|
||||||
|
-- binoculars/init.lua
|
||||||
|
|
||||||
-- Mod global namespace
|
-- Mod global namespace
|
||||||
|
|
||||||
binoculars = {}
|
binoculars = {}
|
||||||
|
|
||||||
|
-- Load support for MT game translation.
|
||||||
|
local S = minetest.get_translator("binoculars")
|
||||||
|
|
||||||
|
|
||||||
-- Detect creative mod
|
-- Detect creative mod
|
||||||
local creative_mod = minetest.get_modpath("creative")
|
local creative_mod = minetest.get_modpath("creative")
|
||||||
|
@ -54,7 +59,7 @@ minetest.after(4.7, cyclic_update)
|
||||||
-- Binoculars item
|
-- Binoculars item
|
||||||
|
|
||||||
minetest.register_craftitem("binoculars:binoculars", {
|
minetest.register_craftitem("binoculars:binoculars", {
|
||||||
description = "Binoculars\nUse with 'Zoom' key",
|
description = S("Binoculars\nUse with 'Zoom' key"),
|
||||||
inventory_image = "binoculars_binoculars.png",
|
inventory_image = "binoculars_binoculars.png",
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
# textdomain: binoculars
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
name = binoculars
|
||||||
|
description = Minetest Game mod: binoculars
|
||||||
|
depends = default
|
||||||
|
optional_depends = creative
|
|
@ -1,2 +0,0 @@
|
||||||
default
|
|
||||||
player_api
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
-- boats/init.lua
|
||||||
|
|
||||||
|
-- Load support for MT game translation.
|
||||||
|
local S = minetest.get_translator("boats")
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Helper functions
|
-- Helper functions
|
||||||
--
|
--
|
||||||
|
@ -149,13 +154,13 @@ function boat.on_step(self, dtime)
|
||||||
if ctrl.up and ctrl.down then
|
if ctrl.up and ctrl.down then
|
||||||
if not self.auto then
|
if not self.auto then
|
||||||
self.auto = true
|
self.auto = true
|
||||||
minetest.chat_send_player(self.driver, "[boats] Cruise on")
|
minetest.chat_send_player(self.driver, S("[boats] Cruise on"))
|
||||||
end
|
end
|
||||||
elseif ctrl.down then
|
elseif ctrl.down then
|
||||||
self.v = self.v - dtime * 1.8
|
self.v = self.v - dtime * 1.8
|
||||||
if self.auto then
|
if self.auto then
|
||||||
self.auto = false
|
self.auto = false
|
||||||
minetest.chat_send_player(self.driver, "[boats] Cruise off")
|
minetest.chat_send_player(self.driver, S("[boats] Cruise off"))
|
||||||
end
|
end
|
||||||
elseif ctrl.up or self.auto then
|
elseif ctrl.up or self.auto then
|
||||||
self.v = self.v + dtime * 1.8
|
self.v = self.v + dtime * 1.8
|
||||||
|
@ -242,7 +247,7 @@ minetest.register_entity("boats:boat", boat)
|
||||||
|
|
||||||
|
|
||||||
minetest.register_craftitem("boats:boat", {
|
minetest.register_craftitem("boats:boat", {
|
||||||
description = "Boat",
|
description = S("Boat"),
|
||||||
inventory_image = "boats_inventory.png",
|
inventory_image = "boats_inventory.png",
|
||||||
wield_image = "boats_wield.png",
|
wield_image = "boats_wield.png",
|
||||||
wield_scale = {x = 2, y = 2, z = 1},
|
wield_scale = {x = 2, y = 2, z = 1},
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=Човен
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=Loďka
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=Boot
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=Boato
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=Bote
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=Bateau
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=Csónak
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=Kapal
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=zattera
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# textdomain: boats
|
||||||
|
|
||||||
|
Boat=ボート
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue