summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--API.md13
-rw-r--r--init.lua15
2 files changed, 28 insertions, 0 deletions
diff --git a/API.md b/API.md
index bcaf43c..540122d 100644
--- a/API.md
+++ b/API.md
@@ -83,6 +83,7 @@ These functions are available:
* `doc.get_entry_count`: Returns the total number of entries in a category
* `doc.get_viewed_count`: Returns the number of entries a player has viewed in a category
* `doc.get_revealed_count`: Returns the number of entries a player has access to in a category
+* `doc.get_hidden_count`: Returns the number of entries which are hidden from a player in a category
### `doc.new_category(id, def)`
Adds a new category. You have to define an unique identifier, a name
@@ -357,6 +358,18 @@ in this category.
Amount of entries the player has access to in the specified category. If the
player does not exist, this function returns `nil`.
+### `function doc.get_hidden_count(playername, category_id)`
+Returns how many entries are hidden from the player in this category.
+
+#### Parameters
+* `playername`: Name of the player to count the hidden entries for
+* `category_id`: Category identifier of the category in which to count the
+ hidden entries
+
+#### Return value
+Amount of entries hidden from the player. If the player does not exist,
+this function returns `nil`.
+
## Extending this mod (naming conventions)
If you want to extend this mod with your own functionality, it is recommended
diff --git a/init.lua b/init.lua
index 321c7d8..522d037 100644
--- a/init.lua
+++ b/init.lua
@@ -258,6 +258,21 @@ function doc.get_revealed_count(playername, category_id)
end
end
+-- Returns how many entries are hidden from the player
+function doc.get_hidden_count(playername, category_id)
+ local playerdata = doc.data.players[playername]
+ if playerdata == nil then
+ return nil
+ end
+ local total = doc.get_entry_count(category_id)
+ local rcount = playerdata.stored_data.revealed_count[category_id]
+ if rcount == nil then
+ return total
+ else
+ return total - rcount
+ end
+end
+
-- Template function templates, to be used for build_formspec in doc.new_category
doc.entry_builders = {}