summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins/TransAPI/main.lua
diff options
context:
space:
mode:
authorAlexander Harkness <bearbin@gmail.com>2013-08-13 19:34:42 +0200
committerAlexander Harkness <bearbin@gmail.com>2013-08-13 19:34:42 +0200
commitb966211a4765a9b6bd6ff419a1420e57158e5ae2 (patch)
tree773da7d6f8524d5950f6df32602186e78fcf2eb3 /MCServer/Plugins/TransAPI/main.lua
parentSquashed commit of the following: (diff)
parentAdded link to future lib. (diff)
downloadcuberite-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.lua91
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