The new branch 'game_intllib' is aiming at MT internationalization.
Please note the about 400 lines of code changed in the Lua code of the
existing mods by addition of a S("string") enclosure for GNU gettext.
This is in compliance to the GNU gettext toolchain procedures.
'game_intllib' is an attempt at providing internationalization support
for the default game mods specifically. Hopefully, we may delay the
issue of an optimal translation for the MT server into the future.
There is no requirement to include the 'game_intllib' mod into the
game code basis if an alternative solution for a translation of
user-facing strings of the default mods inside the game is in place.
However, the 'game_intllib' and tools may be helpful in assisting the
task of translation of user-facing strings of the default mods prior
a new release of the game and after introduction of new game code.
Please consider to look at my contribution in the MT forum:
https://forum.minetest.net/viewtopic.php?f=11&t=4929&p=346791#p346791
This is up to deliberations of the MT developers and the MT game devs.
*****************
This is the new branch 'game_intllib' comprising the following:
- changed: README.txt
- changed: mods/beds/beds.lua
- changed: mods/beds/depends.txt
- new file: mods/beds/gintllib.lua
- changed: mods/binoculars/depends.txt
- new file: mods/binoculars/gintllib.lua
- changed: mods/binoculars/init.lua
- changed: mods/boats/depends.txt
- new file: mods/boats/gintllib.lua
- changed: mods/boats/init.lua
- changed: mods/bones/depends.txt
- new file: mods/bones/gintllib.lua
- changed: mods/bones/init.lua
- changed: mods/bucket/depends.txt
- new file: mods/bucket/gintllib.lua
- changed: mods/bucket/init.lua
- changed: mods/butterflies/depends.txt
- new file: mods/butterflies/gintllib.lua
- changed: mods/butterflies/init.lua
- changed: mods/carts/cart_entity.lua
- changed: mods/carts/depends.txt
- new file: mods/carts/gintllib.lua
- changed: mods/carts/rails.lua
- changed: mods/creative/depends.txt
- new file: mods/creative/gintllib.lua
- changed: mods/creative/init.lua
- changed: mods/creative/inventory.lua
- changed: mods/default/chests.lua
- changed: mods/default/craftitems.lua
- changed: mods/default/depends.txt
- changed: mods/default/furnace.lua
- new file: mods/default/gintllib.lua
- changed: mods/default/nodes.lua
- changed: mods/default/tools.lua
- changed: mods/default/torch.lua
- changed: mods/default/trees.lua
- changed: mods/doors/depends.txt
- new file: mods/doors/gintllib.lua
- changed: mods/doors/init.lua
- changed: mods/dye/depends.txt
- new file: mods/dye/gintllib.lua
- changed: mods/dye/init.lua
- changed: mods/farming/api.lua
- changed: mods/farming/depends.txt
- new file: mods/farming/gintllib.lua
- changed: mods/farming/hoes.lua
- changed: mods/farming/init.lua
- changed: mods/farming/nodes.lua
- changed: mods/fire/depends.txt
- new file: mods/fire/gintllib.lua
- changed: mods/fire/init.lua
- changed: mods/fireflies/depends.txt
- new file: mods/fireflies/gintllib.lua
- changed: mods/fireflies/init.lua
- changed: mods/flowers/depends.txt
- new file: mods/flowers/gintllib.lua
- changed: mods/flowers/init.lua
- new file: mods/game_commands/depends.txt
- new file: mods/game_commands/gintllib.lua
- changed: mods/game_commands/init.lua
- new file: mods/game_intllib/LICENSE.md
- new file: mods/game_intllib/README.md
- new file: mods/game_intllib/description.txt
- new file: mods/game_intllib/doc/developer.md
- new file: mods/game_intllib/doc/localefile.md
- new file: mods/game_intllib/doc/translator.md
- new file: mods/game_intllib/gettext.lua
- new file: mods/game_intllib/init.lua
- new file: mods/game_intllib/intltest/README.md
- new file: mods/game_intllib/intltest/depends.txt
- new file: mods/game_intllib/intltest/gintllib.lua
- new file: mods/game_intllib/intltest/init.lua
- new file: mods/game_intllib/intltest/locale/es.po
- new file: mods/game_intllib/intltest/locale/template.pot
- new file: mods/game_intllib/lib.lua
- new file: mods/game_intllib/lib/gintllib.lua
- new file: mods/game_intllib/license.txt
- new file: mods/game_intllib/locale/de.po
- new file: mods/game_intllib/locale/template.pot
- new file: mods/game_intllib/tools/findtext.lua
- new file: mods/game_intllib/tools/updatetext.lua
- new file: mods/game_intllib/tools/xgettext.bat
- new file: mods/game_intllib/tools/xgettext.sh
- changed: mods/map/depends.txt
- new file: mods/map/gintllib.lua
- changed: mods/map/init.lua
- new file: mods/screwdriver/depends.txt
- new file: mods/screwdriver/gintllib.lua
- changed: mods/screwdriver/init.lua
- new file: mods/sethome/depends.txt
- new file: mods/sethome/gintllib.lua
- changed: mods/sethome/init.lua
- changed: mods/stairs/depends.txt
- new file: mods/stairs/gintllib.lua
- changed: mods/stairs/init.lua
- changed: mods/tnt/depends.txt
- new file: mods/tnt/gintllib.lua
- changed: mods/tnt/init.lua
- changed: mods/vessels/depends.txt
- new file: mods/vessels/gintllib.lua
- changed: mods/vessels/init.lua
- changed: mods/walls/depends.txt
- new file: mods/walls/gintllib.lua
- changed: mods/walls/init.lua
- changed: mods/wool/depends.txt
- new file: mods/wool/gintllib.lua
- changed: mods/wool/init.lua
- changed: mods/xpanes/depends.txt
- new file: mods/xpanes/gintllib.lua
- changed: mods/xpanes/init.lua
*****************
The 'game_intllib' internal mod is specifially aimed at default mods
internal to the game in the 'minetest_game' folder.
The original 'intllib' is an attempt at providing internationalization
support for external mods (something Minetest currently lacks).
IMHO the 'intllib' mod is a reliable and helpful tool and I have found
it to be both robust and compliant to the GNU gettext tool chain.
I would like to thank all of the MT developers and certainly @kaeza.
[snoopy (Zweihorn)] 2019-05-13
The on_rotate function now checks the new param2 value to determine if a rotation is valid, rather than checking the rotation mode.
This is so screwdriver-like items with different rotation modes will not be able to rotate the bed into invalid orientations.
- beds
- boats
- carts
- key/skeleton key
- seeds
All these had on_place handlers that did not allow nodes with
an on_rightclick() handler to be used first (if not using
sneak). This code is taken from the torches mod and applied
everywhere.
This allows all these items to e.g. be inserted into the `frame`
mod's item frames.
Currently all minetest_game PR's are failing travis since the
upstream luacheck now also warns about whitespace issues, and
there are a few of those in the code. This fixes all of them
so we can yet again rely on luacheck.
Part 1: All mods except default and xpanes.
Add license.txt files.
Add missing README.txt files.
Check and update copyright years for all contributors.
Improve text format and make more consistent.
* Unused variables
* Unused values (assigned to variables, but overwritten before use)
* Defining already defined variables instead of reassigning to them.
No longer require night to be skipped for resawn position to be saved
Remove constant beds.read_spawns() calls when a player joins as this
is only required once
- disallow placing beds in protected areas
- fix rotation of beds(broken after 41c2b2ae)
- allow using others' beds, but don't change spawn location
Fixes#953. #943 isn't something I think was ever implemented, and
this does a fair job of addressing the main concern (spawning in
others' houses)
Tested with nodebreaker, fire.
If called from lua, minetest.remove_node() calls on_destruct() callbacks
before the map is actually updated. This means that we can't look at the
map data to determine if we're done cleaning up adjacent nodes, and we
have to stop recursing some other way.
There's no data we can pass around through functions that would survive
scope to a secondary on_destruct() callback, so we have to maintain
local state somewhere in the mod namespace.
In this case, we keep a bitflag. The bitflag is set to "true" by
default. On the first half removal, the flag is flipped and afterwards
we remove the other half node. When the on_destruct for the other half
is running, it's value is false and we flip it back to true without
removing the other half node.
This thus prevents recursing.
To facilitate easier finding of the bed partner, we tell our on_destruct
whether we're a top or bottom half node through a passed flag.
Now that the top is diggable, we just need to assure that it drops a
bottom bed part.
Rename in game.conf and documentation
Update game_api.txt documentation for bucket API and tree functions
Fix tab, space and comment formatting in game_api.txt
Rename in mod READMEs
- beds/Changelog.txt probably won't be updated because http://dev.minetest.net/Changelog is used instead
- The information in farming/API.txt is already documented in game_api.txt