Important notice / Wichtige Information

  • English / German

We've posted a status update with some first screenshots of the new terrain generation. There is also a new update available for the Java version!

  • Important notice / Wichtige Information

    EN: Hi folks, we have an important announcement regarding Lua: It's our intention to discard the current Lua API and move to a Java based API instead. This has several reasons, mainly it's due to performance reasons, and also to bring the Scripting API (or better called "Plugin API" then) closer to "modding". We are sorry for this late decision, but want to do the migration before the game goes into beta. Unfortunately all existing scripts will no longer be compatible then. We will offer a new version of the AreaProtection script (respectively plugin) then, and we will gladly help you if you want to update your script.
    We will inform you in a timely manner when the new API is ready :)


    DE: Hallo Leute, wir haben eine wichtige Ankündigungen bzgl. Lua: Es ist unsere Absicht, die derzeitige Lua API zu verwerfen und stattdessen zu einer Java-basierenden API zu wechseln. Dies hat mehrere Gründe, hauptsächlich sind es Performancegründe, aber auch um die Skript API (oder anschließend besser "Plugin API" genannt) näher an das Thema "Modding" heranzuführen. Wir entschuldigen uns für diese späte Entscheidung, aber wollen die Migration vornehmen bevor das Spiel in die Beta geht. Leider werden alle bisherigen Skripte nicht länger kompatibel sein. Wir werden eine neue Version des AreaProtection Skriptes (bzw. Plugins) anbieten, und helfen auch gerne, wenn jemand sein Skript anpassen möchte.
    Wir werden euch rechtzeitig informieren, wenn die neue API fertig ist :)
  • Ich finde es auch super. :thumbsup:

    Mit Java habe ich rein gar nix am Hut.
    Red hatte mir es schon mal erzählt das sie so etwas planen und deswegen habe ich mir auch schon das eine oder andere Java Buch zur Brust genommen aber ganz ehrlich, da bin ich zu alt für. Das will ich nicht mehr lernen. :S

    Deswegen wird es von mir keine Scripte mehr zum Spiel geben, ich überlasse es lieber den Menschen die es können. 8)

    The post was edited 1 time, last by TutMeistensNix ().

  • i only know a little java but have always wanted to learn more, at lest now this will make me do just that yay for that but one makes me wonder of what type of scripts will be needed as i think the new world edit red will add will do most the stuff our lua scripts did anyway


    :thumbsup: Rising Citys @ ip 74.118.138.151:4265 ServerName (Yahgiggles Rising Citys) :thumbsup:

    If at first your code does not work call it version 0.1 with the odd bug :S
  • Hallo zusammen ;D

    Hmm ... hab ja sogut wie keine Ahnung vom Programmieren und bin älter als Tuti, denke ich werde mir mal Java zu Gemüte führen ;D Anderseits finde ich schade für die ganzen Scripter hier, da sich doch einige viel Mühe gegeben haben, siehe auch WordEdit. Aber vielleicht gibt es ja dann auch so ein Mod wie Dynmap für RW *gg Das wäre natürlich sehr cool ;D Dynmap ist ein Mod für Minecraft, damit erzeugt man eine Dynmaische Karte von der map, diese kann man sich dann über den Browser betrachten. Man sieht sein gebautes und wo man gerade ist.
    Tschööö

    Bogus
  • @TutMeistensNix: Im Grunde wird sich der Schwierigkeitsgrad dadurch eigentlich kaum erhöhen. Zwar sind Java und Lua syntaktisch etwas anders, zudem ist Java im Gegensatz zu Lua stark typisiert (d.h. du musst bei Variablen auch direkt den Typ festlegen, also sagen, ob es sich um eine Ganzzahl, eine Kommazahl, einen String etc. handelt), aber prinzipiell würde ich behaupten, dass man mit Java auch klarkommt, wenn man bereits mit Lua klarkommt ;)

    Hier ein kleines Codebeispiel (ohne Anspruch darauf, dass die Java API später tatsächlich so aussehen wird, aber eine ungefähre Orientierung sollte dies sein), eine ziemlich sinnfreie Funktion, die die Spielerzahl ausliest und an den Spieler sendet:

    Display Spoiler
    [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]


    Java Source Code

    1. public void onPlayerCommand(Event event){
    2. String[] cmd = event.command.split(" ");
    3. if(cmd.length >= 1){
    4. cmd[0] = cmd[0].toLowerString();
    5. if(cmd[0].equals("/test")){
    6. Server srv = getServer();
    7. int playercount = srv.getPlayerCount();
    8. event.player.sendTextMessage(playercount + " players online!");
    9. }
    10. }
    11. }
    Display All


    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.
  • TheKing wrote:

    Und was bedeutet das für einen Laien wie mich ?? muss ich alle bereiche neu Protecten usw?


    Kurz gesagt werden alle jetzigen Scripte nicht mehr funktionieren.
    Da aber das jetzige Area Script und auch das kommende Area Script von JIW kommt könnte es evtl möglich sein die Daten zu übernehmen. Kann ich aber nicht nicht versprechen. Sollte dies aber nicht möglich sein dann musst du leider alle Sicherungen neu anlegen.

    Ok, das hört sich gerade echt doof und nach viel Arbeit an aber für die Zukunft ist es wirklich besser so wenn man auf Java wechselt.

    Danke red für deine sehr gute Erklärung und dem kleinen Beispiel.
  • Erstmal abwarten, diese Umstellung kommt ja nicht gleich Morgen. Ich denke mal das auch erst das Rechtesystem raus kommt und sich damit vieleicht das eine oder andere Script erübrigen wird. Aria protection schreibt Jiw vorweg. Und dann werden wir sehen.
    Vielleicht ist es dann auch möglich diese Umstellung dann so zwei Wochen vorher nochmal anzukündigen.

    ==Hessenstrolche==

    Teamspeak 3: 185.239.238.125:9987 / Rising World Server:185.239.238.125:4255
    Homepage / Discord / FB-Gruppe
  • TheKing wrote:

    Und was bedeutet das für einen Laien wie mich ?? muss ich alle bereiche neu Protecten usw?

    Wie @TutMeistensNix vermutet, werden wir evtl. tatsächlich ein Tool anbieten, womit existierende Protections übernommen werden können. Kann das aber leider nicht mit 100%iger Sicherheit sagen.

    lenko wrote:

    Was mich interessieren würde: wie schaut es eigentlich dann mit der Benutzung von MC Mods aus ? Eigendlich müsste man diese doch dann nur anpassen?

    Ohne den Code von Minecraft zu kennen würde ich aber dennoch meine Hand dafür ins Feuer legen, dass beide Spiele einen grundlegend anderen Aufbau haben, sodass Mods von MC i.d.R. auch mit etwas Anpassung leider nicht für RW kompatibel werden und umgekehrt. Die Ausnahme würden vermutlich manche Shadereffekte darstellen, da RW wie Minecraft auf OpenGL basieren, also die Shadersprache (GLSL) die gleiche ist (kommt wie gesagt auf den Shadereffekt an, und ein bisschen Anpassung wird immer nötig sein). Prinzipiell können die RW Shader auch jetzt bereits einfach ausgetauscht werden (die Java API wird darauf keinen wirklichen Einfluss haben).

    h0tw1r3 wrote:

    About how long before the change will be available (weeks, months)?
    Will it be possible to put out a developer preview?

    Unfortunately I can't say for sure, but a "preview version" will most likely be available, probably 1 month before we finally move to the new API :)
  • red51 wrote:

    It's our intention to discard the current Lua API and move to a Java based API instead.


    If it seems too good to be true, it probably is :) I'm sad to hear it isn't going to work out with LUA in the future of RW. Because I'm in current state unable to do anything with JAVA. One big reason I found this game interesting, is being able to maintain LUA scripting myself. I see you logic reason for this change, but still it did kill some of the fun here.

    Added JAVA to my to-do-list! :S