diff options
Diffstat (limited to 'MCServer/Plugins/ProtectionAreas/Config.lua')
-rw-r--r-- | MCServer/Plugins/ProtectionAreas/Config.lua | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/MCServer/Plugins/ProtectionAreas/Config.lua b/MCServer/Plugins/ProtectionAreas/Config.lua new file mode 100644 index 000000000..b40be0c75 --- /dev/null +++ b/MCServer/Plugins/ProtectionAreas/Config.lua @@ -0,0 +1,55 @@ + +-- 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
\ No newline at end of file |