init.lua:
- Added `nether.bottom`
portal.lua:
- Reverted `nether.is_player_in_nether(player)` to previous state.
- Added `nether.is_player_trapped_in_nether(player)`
- Added 2 new chat functions for debugging purposes.
- Tested that chat function `/update_hells_registry` indeed works to check if a player has dug their way out of the nether.
- Moved the functional code from `/update_hells_registry` to `nether.registry_update(player)`
- Fixed some English grammar in automated chat messages.
- Modifications to `nether.is_player_in_nether()` and `nether.external_nether_teleport()`
- Renamed `players_in_nether[]` to `players_trapped_in_nether[]`
- Fixed punctuation in a comment. =D
- Added a new global function to the nether table that lets external mods tell us to update a player's Nether status based on the player's position. This function has been exposed to the console via a registered chat function.
- Switched from NETHER as the global table to nether as the global table after discovering that nether was already being used in init.lua.
- Switched from accessing function calls in the global table from table syntax to object syntax; as it looks cleaner.
Added new chat function `in_hell [<player_name>]` and used it to find the bug. The issue was that `local function obsidian_teleport(player, pname, target)` failed to test `nether.trap_players` before modifying `players_in_nether`.
The function which calculates positions of an empty square currently has a bug:
it returns the northeastern and southwestern corners twice
and omits the northwestern and southeastern ones.
This leads to a nether portal detection which is not rigorous enough, skipping eight nodes.
This commit fixes the problem.
Closes #13