[lua]function onPlayerCommand(event)
local cmd = StringUtils:explode(event.command, " ");
if #cmd >= 1 then
cmd[1] = string.lower(cmd[1]);
if cmd[1] == "/test" then
local srv = getServer();
local playercount = srv:getPlayerCount();
event.player:sendTextMessage(playercount .. " players online!");
end
end
end[/lua]
public void onPlayerCommand(Event event){
String[] cmd = event.command.split(" ");
cmd[0] = cmd[0].toLowerString();
if(cmd[0].equals("/test")){
Server srv = getServer();
int playercount = srv.getPlayerCount();
event.player.sendTextMessage(playercount + " players online!");
Display More
Man sieht also, es ist prinzipiell dasselbe (bitte nicht davon irritieren lassen, dass der Syntax-Highlighter dieses Forums den Lua Code etwas bunter markiert^^), nur, dass es ein paar feine Unterschiede gibt. So werden Variablen bei Lua einfach mit "local" deklariert, was keine Rückschlüsse auf den Typ zulässt (es kann also genauso ein Objekt als auch eine Zahl sein). Bei Java muss der Typ direkt festgelegt werden (zB "Server srv", da srv vom Typ "Server" [Server-Objekt] ist, oder "int playercount", weil es sich um eine Ganzzahl handelt [int, also Integer, ist der Typ für Ganzzahlen]). Oder wenn es um Arrays geht ("cmd" ist zB ein Array von Strings), bei Lua wird auf den ersten Eintrag über die 1 zugegriffen, während es bei Java bei der 0 anfängt [was bei Programmiersprachen eigentlich üblicher ist]). Bei Java werden Codeblöcke bzw. -bereiche (zB der Funktionsrumpf) mithilfe von geschweiften Klammern begrenzt, während dies bei Lua grundsätzlich über den Bezeichner "end" geschieht.