Actions

Module

DataFetch: Difference between revisions

From Project Rebearth

Sharkie (talk | contribs)
Created page with "-- Written with ❤️ by fshark (initially, at least) local p = {} local cache local function load() if not cache then local title = mw.title.new("Module:DataFetch/data.json") if title and title.exists then cache = mw.text.jsonDecode(title:getContent()) else cache = {} end end return cache end local data = load() function p.BuildingCost(f) local args = f.args local name = args.name loca..."
 
Sharkie (talk | contribs)
No edit summary
Line 28: Line 28:
     end
     end
     local buildingData = data[name]
     local buildingData = data[name]
     return buildingData.cost.byBiome[biome][resource]
     return buildingData.cost.byBiome[biome][resource] or 0
end
end


return p
return p

Revision as of 22:20, 15 February 2026

Documentation for this module may be created at Module:DataFetch/doc

-- Written with ❤️ by fshark (initially, at least)

local p = {}

local cache

local function load()
    if not cache then
        local title = mw.title.new("Module:DataFetch/data.json")
        if title and title.exists then
            cache = mw.text.jsonDecode(title:getContent())
        else
            cache = {}
        end
    end
    return cache
end

local data = load()

function p.BuildingCost(f)
    local args = f.args
    local name = args.name
    local biome = args.biome
    local resource = args.resource
    if not name or not biome or not resource then
        error("Missing arguments")
    end
    local buildingData = data[name]
    return buildingData.cost.byBiome[biome][resource] or 0
end

return p