Ich denke das kann nicht schaden, wird im nächsten Update dabei sein ![]()
Posts by red51
A new update (0.9.2) is available now!
Latest Hotfix: 0.9.2.1 (2026-05-13)
Latest Hotfix: 0.9.2.1 (2026-05-13)
-
-
Hmm... when was the world created exactly? The "world is too old" message (is this the message you get?) should only show up for worlds which were created in late 2015
Unfortunately there is no workaround for this, since all worlds prior to the biomes update (December 2015) are no longer compatible... this also happens btw if a recent world was loaded with a very old version of the game (< 0.6), basically this breaks the world.However, it's always recommendable to load a world at least every 6 months, otherwise there is a chance that the world conversion goes wrong...

-
Unfortunately MySQL 8 is not yet supported. Probably this will be available after the next update(s)

-
When a timer finishes and executes it action does the program logic continue from the last bracket?
If you pause a timer while the task is still active, the current task will still be completed, but no more tasks will be executed until you restart the timer. E.g. if your task runnable looks like this:
...the output will be:
Even if you kill the timer, the currently active task will still be completed
Or did you mean something else? -
Wird dabei sein
Grundsätzlich wird das Event mit dem nächsten Update nahezu alle Funktionen der "Sign" Klasse abdecken -
There will be a small change in the next update which sets the "info ID" of the npc (see npc.getInfoID()) to the temporary chest ID of the corpse

-
It looks like the collision of the scaffoldings is not generated if there isn't a block, construction element or terrain in the same chunk
This should be fixed with the next update 
-
Hehe, I'm ok, but thanks for caring

But usually we only post previews for bigger updates^^ -
Das ist wahr
Wenn ich mir den dafür verantwortlichen Code angucke sehe ich, dass das vor sehr sehr langer Zeit mal anders war... ich wüsste zu gerne, warum ich das damals geändert habe
Ich werde es fürs nächste Update ändern, wird schon nix schlimmes passieren
-
Ggf. macht es Sinn, das dann serverseitig einstellbar zu machen (über die server.properties, oder ggf. über die Permissiosn). Auf friedlichen Servern bei denen das Zusammenspielen im Vordergrund steht mag es wirklich manchmal vorteilhaft sein, den Namen durch Wände zu sehen, doch wenns um PVP und dergleichen geht ist es tatsächlich eher kontraproduktiv, dass man den Namen überall sehen kann
Vll könnte das im nächsten Update schon reinkommen^^Evtl. könnte auch die Plugin API eine Einstellmöglichkeit dafür erhalten... wobei wenn das über die Permissions gelöst wird, könnte die API auch einfach diesen Permissionwert für jeden Spieler separat einstellen.
-
Wenn die Webseite die Ports als "open" erkennt dann sind sie normalerweise auch tatsächlich offen
Die Einrichtung in der Fritzbox sieht auch gut aus, und mit 1&1 sollte es i.d.R. auch keinerlei Probleme geben (schwieriger ist es eher bei Kabelanbietern, da man dort meist keine richtige IPv4 Adresse mehr bekommt, sondern das über DualStack-Lite gelöst ist, was Portfreigaben generell unmöglich macht - aber das ist ein anderes Thema)^^Läuft der Server denn jetzt aktuell (also zu diesem Zeitpunkt)? Wenn der Server läuft, kannst du denn über deine IP (also die öffentliche IP) verbinden (im Multiplayermenü -> "Zu IP verbinden")?
Evtl. kannst du, wenn der Server läuft, einmal deine IP + :4254 in die Adressleiste deines Browsers eingeben (also zB 79.12.42.13:4254). Erhälst du dann Daten zurück (je nach Browser entweder schön formatierte Daten über den Server [zB Spielerzahl], oder einfach eine Textwand)?Generell musst du aber auch bedenken, dass es in Extremfällen ein paar Minuten dauern kann, bis der Server in der Liste auftaucht.
-
gibt es eine Möglichjeit an diesen wert heran zu kommen, lesen reicht völlig.
Momentan leider noch nicht, aber mit dem nächsten Update wird eine player.getOption(String setting, Callback<String> callback); Funktion hinzukommen
Wie @Miwarre schon vermutete, muss dafür ein Callback verwendet werden, da der Server diese Daten erst vom Client abfragen muss. Eine Abfrage könnte dann zB so aussehen:Nebenbei ist mir aufgefallen das im Fokus von GuiTextField das disableClientsideKeys nicht mehr Funktioniert
Das stimmt, das wird im nächsten Update behoben!

Und ich habe das gefühl unregisterKeys klappt nicht ganz oder ich habe hier (private final int[])useKeys = this.player.getRegisteredKeys(); was Falsch gemacht?
Auch das ist leider richtig... zwar müsste getRegisteredKeys() die korrekten Werte zurückgeben, clientseitig werden die Keys aber nicht richtig aus dem Mapping entfernt... auch das wird im nächsten Update behoben

-
Ich glaube es wäre generell schöner, wenn Spielernamen nicht mehr durch Wände hindurch sichtbar wären... oder sehe ich das falsch?

-
Was würde passieren, wenn ich mit der API 30x Stein entnehmen würde? Nimmt er zuerst den 1. Und den Rest vom 2. Oder nur vom 2.?
Die bisherigen Methoden greifen ja nur auf einen bestimmten Slot zu, d.h. wenn hier der Slot mit den 20 Steinen angegeben ist, würden insgesamt nur diese 20 Steine entfernt werden. Bei der kommenden Methoden hingegen würden aus dem ersten Slot 20 Steine entfernt werden, und aus dem zweiten Slot 10 Steine.
Oder wird bei der TypeID die Variation nicht beachtet?
Sorry für die Unklarheit, natürlich wird die Funktion sowohl TypeID als auch Variation benötigen

Das Item dem Spieler weg zu Nehmen kann ich auch so überbrücken, dass er das Gesuchte Item in der Hand halten muss.
Das ist durchaus sinnvoll und in den meisten Fällen auch vom Spiel so gelöst^^
-
@red51 I just noticed something in the Javadoc, in the Chunk information net.risingworld.api.utils.Chunk it says a chunk is 16x64x16 while in the same page under the blockData() and terrainData() methods it says they are 20x68x20 why the difference by 4 in each value?
Basically a chunk is 16x64x16 (XYZ), however, every chunk contains information about the adjacent blocks of the neighbour chunks, that's why the actual array has a size of 20x68x20. The functions getTerrainID() and getBlockID() treats the data as a 16x64x16 array, so you don't have to care about these "neighbour" blocks (but when working with the raw data, you have to keep these neighbour blocks in mind)

-
As @Minotorious said, the ingame time only increments while the server is running. The server can configure the time speed. This value is persistent, so you can only reset it manually or by creating a new world

If you just want to get the real time timestamp, it's better to use use the Java function System.currentTimeMillis();, this returns a millisecond timestamp (i.e. milliseconds passed since 1 January 1970 UTC). If you need a unix timestamp (seconds instead of milliseconds), you can just divide this value by 1000, e.g.:
-
Oh, extra brackets don't matter btw, so even something like int a = ((((((((4 + 2)))))))); is totally legit (even though that's ugly). If was just referring to the wrong bracket positions, since this actually makes a difference

-
server_ip=192.168.178.20
Dieser Eintrag bewirkt, dass der Server nur im LAN erreichbar ist. Die 192.168.178.20 ist deine lokale IP Adresse, welche von außen nicht sichtbar ist, d.h. übers Internet kann niemand zu dieser IP Adresse verbinden. Relevant ist hier stattdessen deine öffentliche IP Adresse, diese kannst du bspw. von Seiten wie https://www.wieistmeineip.de/ herausfinden.
Wenn der Server allerdings auf deinem privaten Computer läuft, dann kannst du deine öffentliche IP Adresse nicht in dem Feld eintragen, da dein Computer diese IP nicht kennt. In dem Fall musst du das Feld server_ip einfach leer lassen, dann binded der Server an alle Adressen

Auch die Einstellung bei server_query_ip ist leider falsch. Dort wird eine IP erwartet anstelle eines Ports. Am besten sollte dieses Feld aber leer gelassen werden.
Wenn du nach diesen Änderungen noch nicht connecten kannst, solltest du ggf. einmal prüfen, ob die Ports wirklich von außen erreichbar sind. Dazu kannst du zB diese Webseite benutzen: https://www.yougetsignal.com/tools/open-ports/
Starte einfach den Server und gib dann auf der Webseite die Ports 4254, 4255, 4256, 4257 und 4258 ein und prüfe, ob alle von außen erreichbar sind. Falls nein, ist da noch irgendwas was die Ports blockiert (Firewall/Antivirenprogramm, oder falsche Routerkonfiguration, oder etwas auf Providerebene). -
Ansonsten falls du eine NVIDIA Grafikkarte hast und die Aufnahmesessions nicht stundenlang dauern ist ShadowPlay absolut zu empfehlen

-
Just a minor correction, the line above is almost correct, but some brackets are at the wrong position (so it won't work this way). Probably you wanted it to look like this

Database db1 = getSQLiteConnection(getPluginByName("Portals").getPath() + "/portals_pingperfect.db");