55 lines
1.2 KiB
Lua
55 lines
1.2 KiB
Lua
|
|
-- Config.lua
|
|
|
|
-- Implements the cConfig class that holds the general plugin configuration
|
|
|
|
|
|
|
|
|
|
|
|
cConfig = {
|
|
m_Wand = cItem(E_ITEM_STICK, 1, 1); -- The item to be used as the selection wand
|
|
m_AllowInteractNoArea = true; -- If there's no area, is a player allowed to build / dig?
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
--- Initializes the cConfig object, loads the configuration from an INI file
|
|
function InitializeConfig()
|
|
local ini = cIniFile("ProtectionAreas.ini");
|
|
if (not(ini:ReadFile())) then
|
|
LOGINFO(PluginPrefix .. "Cannot read ProtectionAreas.ini, all plugin configuration is set to defaults");
|
|
end
|
|
local WandItem = cItem();
|
|
if (
|
|
StringToItem(ini:GetValueSet("ProtectionAreas", "WandItem", ItemToString(cConfig.m_Wand)), WandItem) and
|
|
IsValidItem(WandItem.m_ItemType)
|
|
) then
|
|
cConfig.m_Wand = WandItem;
|
|
end
|
|
cConfig.m_AllowInteractNoArea = ini:GetValueSetB("ProtectionAreas", "AllowInteractNoArea", cConfig.m_AllowInteractNoArea);
|
|
ini:WriteFile();
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--- Returns true if a_Item is the wand tool item
|
|
function cConfig:IsWand(a_Item)
|
|
return (
|
|
(a_Item.m_ItemType == self.m_Wand.m_ItemType) and
|
|
(a_Item.m_ItemDamage == self.m_Wand.m_ItemDamage)
|
|
);
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--- Returns the wand tool item as a cItem object
|
|
function cConfig:GetWandItem()
|
|
return self.m_Wand;
|
|
end |