Commit Graph

114 Commits

Author SHA1 Message Date
01c261cbe4 Restore Luanti < 5.10.0 compatibility 2025-02-09 12:20:31 +01:00
733e263f86 Reduce code duplication in register_on_punchnode
Merges "pos1" and "pos1only" into the same code.
2024-11-05 20:17:13 +01:00
c9f1cf2fac Prevent saving entities
This may add lag, but stops saving entities (which lua_api.md discourages). This also eliminates areas.markPos{1,2} (which seemed to be internal) and integrates areas:setPos{1,2} with such function.
2024-11-05 20:17:13 +01:00
359280a353 Localize areas.startTime
startTime is not used anywhere else, so localizing it makes sense and saves memory.
2024-11-05 20:17:13 +01:00
79e799cfa1 Move areas:save() into async
On newer Minetest servers, handles saving jobs in async environment. To prevent conflicts, the save file is locked whie saving, and if a code requests saving while the file is locked, data is saved again immediately after finishing the current save.
2024-11-05 20:17:13 +01:00
ec77a57f42 Stop reusing holes in areas IDs
This eliminates the need of iterating the whole list for every protection operations. Note that the highest index isn't cached, i.e. the first or few (if there are many holes) operations would still suffer from the lag.
2024-11-05 20:17:13 +01:00
d2b227eca6 Make smallest area concept optional (#80)
This restores the behaviour to before #79.
2024-10-01 17:54:47 +02:00
9b6fea1473 fix trailing whitespace in translatable strings
Good editors trim trailing whitespace from EOL.
This means we need to avoid translatable strings that include spacers at
the end. They need to be added in code.
2024-09-25 20:42:09 +02:00
3f30886972 add German locale 2024-09-25 20:42:09 +02:00
a38915f241 overhaul French locale
- Use more informal tone, this is a game not a business meeting.
- Add missing entry about version upgrade
2024-09-25 20:42:09 +02:00
55594b65d8 add Spanish locale 2024-09-25 20:42:09 +02:00
6fd05bc95e trivial a -> an in comments 2024-09-25 20:42:09 +02:00
c2e3d073be Use smallest area at given position (#79)
When checking for permission to interact, currently the smallest id takes precedence in a situation where areas enclose other areas. This makes it complicated to set up private areas within faction areas and vice versa. Same applies for open areas within a bigger private area.

When multiple areas have the same volume, players seem to agree that the most recently protected area should also take precedence.
Since we can't guarantee that the largest id is the most recent, we still use that info as we have no other way to determine age.
2024-09-11 22:00:47 +02:00
9a5cdb2822 Allow relative coordinates in /area_pos[12] (#77) 2024-08-07 21:33:36 +02:00
9024be24eb Fix deprecated hud_elem_type field warning (#78)
Co-authored-by: cx384 <cx384@proton.me>
2024-07-17 18:18:21 +02:00
2deb6770f4 Add russian translation (#68)
* Add ru locale.

* Fixed review remarks

---------

Co-authored-by: ssdaniel24 <bo7oaonteg2m@mail.ru>
2024-06-13 17:26:00 +02:00
0bad0ec0ae Allow custom checks before allowing a player to protect new areas (#74) 2024-03-22 22:26:12 +01:00
c044d49d21 Short summary print in /list_areas for admins (#72) 2024-02-24 11:46:45 +01:00
2c900ef2cd zh_TW and zh_CN translation (#71) 2024-02-15 18:35:43 +01:00
f4bb8eb29b Include the endpoint position in the area size check (#70) 2024-02-09 21:25:23 +01:00
cba647225c Add missing placeholder in French translation (#66) 2023-08-28 12:22:40 +02:00
c8cf4aba92 Fix orthography (it's -> its) (#65) 2023-08-26 11:40:59 +02:00
d464d3484f Fix chat command typo (#64) 2022-11-07 19:59:25 +01:00
4018c0d204 Add privilege translations and update translations (#49)
+ Add new french translation strings
2020-09-07 17:47:18 +02:00
c167b30ebf Adapt to the new version of playerfactions (#48)
Enable to open an area to many factions
    Update to adapt to the new version of playerfactions mod, with its new multi-faction mode
2020-09-05 18:49:17 +02:00
a9c05f0e38 Use JSON to store areas (#47)
This works around a limit of ~21000 areas because of limits in 'minetest.deserialize()'. Files will be migrated to the new format on first change.
2020-08-28 12:54:48 +02:00
142a723eb2 Add Italian translation (#45) 2020-06-14 18:59:48 +02:00
66bd6a9b1d Add luacheck CI and drop node_ownership remnants (#44)
`node_ownership` is long dead, and pollutes the global namespace. Support dropped after ~7 years.

Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
2020-06-08 21:52:11 +02:00
aa3e35acbe /areas_cleanup for removing ownerless areas 2020-06-04 20:36:12 +02:00
800a93f5ee Minor cleanup 2020-06-04 20:36:12 +02:00
448fe3ebf1 Rework on messages displayed
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2020-03-19 22:46:22 +01:00
2f4eddd324 Add french translation 2020-03-19 22:46:22 +01:00
4179917eb4 Add translation support 2020-03-19 22:46:22 +01:00
aca830fd22 Add support for playerfactions mod (#37)
Add faction indicator to HUD
2019-09-21 15:33:42 +02:00
95c1165e28 Add and parse from settingtypes.txt. Update readme 2019-07-11 20:02:32 +02:00
5527dc8945 Replace deprecated functions with newer ones (#36)
This commit replaces a few deprecated calls to getpos with get_pos
2019-07-10 20:26:42 +02:00
6218e5884d Limit areas to -30992,30992 due to MABLOCK_SIZE=16
Internally, when allocating an AreaStore, the limits are required
to be within the last full block, and so, you cannot create one "on"
the edge, as it will trigger an exception. When limited to the last
full mapblock, it all works fine.
2019-04-03 11:10:59 -07:00
cfd4bb2423 Last of the luacheck cleanups. 2019-04-03 10:26:20 -07:00
6e2b9a0a51 Needs to be defined earlier. 2019-04-03 10:24:02 -07:00
024424ee8b Also limit chatcommand area_pos[12] positions. 2019-04-03 10:17:47 -07:00
f70600db30 oops, commas would be nice. 2019-04-02 16:06:19 -07:00
9508a004d0 fix posLimit(pos) to process and return a position table 2019-04-02 14:53:54 -07:00
630bdefd98 Don't allow areas to cross outside mapgen world limits.
Limit any area to within [-31000,31000].
2019-04-01 21:28:03 -07:00
a303abe51b Add template .luacheckrc 2019-04-01 21:22:31 -07:00
7b51f84404 Limit recalculations.
Setting based - limit area recalculation and allow tuning of the
interval.
2019-04-01 21:21:31 -07:00
1bbb997c7a Add callbacks for area operations 2019-04-01 20:28:50 -07:00
09c030352f Use the new minetest.safe_file_write API if possible when saving database. 2019-04-01 20:27:17 -07:00
2637876555 Fix pos big (#1)
* fix pos being to big

* improve

* make the change instead in hud.lua
2019-04-01 20:24:59 -07:00
289d0e623c Update usage of settings API 2017-06-09 13:00:12 -04:00
d3d43d9511 Reference 'settings.lua' instead of 'config.lua' (#21) 2017-05-06 13:41:45 -04:00