diff options
author | Alexander Harkness <bearbin@gmail.com> | 2013-08-13 19:34:42 +0200 |
---|---|---|
committer | Alexander Harkness <bearbin@gmail.com> | 2013-08-13 19:34:42 +0200 |
commit | b966211a4765a9b6bd6ff419a1420e57158e5ae2 (patch) | |
tree | 773da7d6f8524d5950f6df32602186e78fcf2eb3 /MCServer/Plugins/TransAPI/main.lua | |
parent | Squashed commit of the following: (diff) | |
parent | Added link to future lib. (diff) | |
download | cuberite-b966211a4765a9b6bd6ff419a1420e57158e5ae2.tar cuberite-b966211a4765a9b6bd6ff419a1420e57158e5ae2.tar.gz cuberite-b966211a4765a9b6bd6ff419a1420e57158e5ae2.tar.bz2 cuberite-b966211a4765a9b6bd6ff419a1420e57158e5ae2.tar.lz cuberite-b966211a4765a9b6bd6ff419a1420e57158e5ae2.tar.xz cuberite-b966211a4765a9b6bd6ff419a1420e57158e5ae2.tar.zst cuberite-b966211a4765a9b6bd6ff419a1420e57158e5ae2.zip |
Diffstat (limited to '')
-rw-r--r-- | MCServer/Plugins/TransAPI/main.lua | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/MCServer/Plugins/TransAPI/main.lua b/MCServer/Plugins/TransAPI/main.lua new file mode 100644 index 000000000..2b6f77da6 --- /dev/null +++ b/MCServer/Plugins/TransAPI/main.lua @@ -0,0 +1,91 @@ +-- This plugin copyright Alexander Harkness 2013, licensed under the MIT license. + +-- Configuration +g_ServerLang = "en" +g_ConsoleLang = "en" + +-- Global Variables +g_Plugin = nil +g_PluginManager = nil +g_PluginDir = nil +g_UserData = nil + +-- START WITH DA AWESOME! +function Initialize( Plugin ) + + -- Set up the globals. + g_Plugin = Plugin + g_PluginManager = cRoot:Get():GetPluginManager() + g_PluginDir = Plugin:GetDirectory() + + -- Set up the plugin details. + Plugin:SetName( "TransAPI" ) + Plugin:SetVersion( 1 ) + + -- This is the place for commands! + g_PluginManager:BindCommand("/language", "transapi.setlang", HandleLanguageCommand, " - Set your preferred language (use ISO 639-1)") + + -- Load the userdata file. + g_UserData = cIniFile( g_PluginDir .. "/userdata.ini" ) + if g_UserData ~= true then + LOGERROR( "TransAPI INI file could not be opened!" ) + end + + LOG( "Initialized " .. Plugin:GetName() .. " v." .. Plugin:GetVersion() ) + + return true + +end + +function GetLanguage( Player ) + + -- Returns a language to use. + if g_UserData:ReadFile() == true then + local userLang = g_UserData:GetValueSet( Player:GetName(), "language", "false" ) + g_UserData:WriteFile() + end + + if userLang == "false" then + return g_ServerLang + else + return userLang + end + +end + +function GetConsoleLanguage() + -- Return the language to use for console messages. + return g_ConsoleLang +end + +function HandleLanguageCommand ( Split, Player ) + + -- If the user is not setting the language, tell them the currently selected one. + if #Split ~= 2 then + + local userLang = g_UserData:GetValueSet( Player:GetName(), "language", "false" ) + if userLang == "false" then + return g_ServerLang + else + return userLang + end + + end + + -- Set the language. + local success = g_UserData:SetValue( Player:GetName(), "language" Split[2] ) + g_UserData:WriteFile() + + if not success then + Player:SendMessage( "Language could not be set!" ) + else + Player:SendMessage( "Language set!" ) + end + + return true + +end + +function OnDisable() + LOG( "Disabled TransAPI!" ) +end |