Module:AnimalData/doc: Difference between revisions

From Eco - English Wiki
[unchecked revision][checked revision]
Demian (talk | contribs)
Documentation: Improve documentation, add usage example, add to new category "Eco Data File".
No edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Documentation ==
{{DataModule}}
{{No manual edits}}


This module is a data file that is used to automate information throughout the Eco Wiki using various [//wiki.play.eco/en/Special:AllPages?from=&to=&namespace=828 Lua Modules].
== Usage ==
 
<syntaxhighlight lang="lua">
The data file is currently used in at least the following modules:
* [[Module:Infobox_Animal]]: see [[Template:Infobox_Animal]] for more details.
* [[Module:List_Animals]]: see [[Template:AnimalList]] for more details.
* [[Module:List_Fish]]: see [[Template:FishList]] for more details.
 
If you would like to see more information generated on a data page request it on the [https://discord.gg/ynCVtN5 Eco Contribution Wiki Discord].
 
To use this data (Lua table) in your module:‎<syntaxhighlight lang="lua">
-- Load data only once per page. (Do no use require())
-- Load data only once per page. (Do no use require())
local AnimalData = mw.loadData("Module:AnimalData")
local AnimalData = mw.loadData("Module:AnimalData")
Line 27: Line 18:
end
end
</syntaxhighlight>
</syntaxhighlight>
[[Category:Eco Data File]]

Latest revision as of 11:45, 16 April 2026

Warning about use

[edit source]

To prevent multiple call of data array, you must use the function: local AnimalData = mw.loadData("Module:AnimalData/doc")

-- Load data only once per page. (Do no use require())
local AnimalData = mw.loadData("Module:AnimalData")

-- Assert that some data was received, otherwise throw an error.
assert(AnimalData.animals, "Failed to load data from Module:AnimalData!")

-- You may then use data from this module in your script. For example:
local agoutiData = AnimalData.animals["Agouti"]

-- Or to iterate over the table, you can do this:
for animalName, data in pairs(AnimalData.animals) do
	-- animalName now contains the name of the animal in English.
	-- data is the data table for that animal.
end