Posts by red51

    :saint: ich kann das Reproduzieren :D ich muss nur mein TMP Inhalt wieder ins Pluginverzeichnis Verschieben :lol:
    Wenn du das auch mal Probieren möchtest kann ich dir hier den Kompletten Plugin Ordner anbieten 8) (PW: risingworld)

    Vielen Dank für den Upload! :):thumbup: Ich kann das Problem nun ebenfalls bei mir reproduzieren. Offenbar tritt des dann auf, wenn sich nicht nur Plugins im Plugin-Ordner befinden (wie in dem Fall die .rar Dateien). Wir werden das mit dem nächsten Update beheben ;)


    Wenn du möchtest kannst du sonst auch diese Runtime.jar ausprobieren. Kopiere die einfach nach /Data/Java und ersetze die bestehende Datei dort.


    Ich habe das mal Kurz getestet, am Grenzstein Projekt, das hat soweit erstmal ganz gut Geklappt.

    Auch eine schöne sache, das du einen Compiler integriert hast :wow:

    Freut mich, dass es soweit funktioniert ^^


    Nur ist mir aufgefallen, das dann alle Daten in den Plugin Ordner "GrenzStein" Kopiert werden :thinking: allerdings habe ich unter NetBeans den Packaging - Exclude From JAR "**/*.java,**/*.form,**/.*.*,**/*.blend,**/*.blend1,**/*.mtl,**/*.svg,**/*.xcf" benutzt :saint: das wird nicht Berücksichtigt und ich habe auch einieges in Unterordnern die werden dann auch Komplet Kopiert.

    Ja, leider werden Projekteinstellungen der IDE nicht berücksichtigt... grundsätzlich wird die IDE gar nicht erst eingebunden, sondern die Java-Dateien unter src direkt kompiliert. Die Sache ist, dass beim Kompilieren "on-the-fly" generell gar keine .jar Datei generiert wird, sondern nur einzelne .class Dateien...


    bei libs gehe ich auf das Plugin, oder besser aus dem ...\RW Unity\Plugin\GrenzStein\dist\lib Ordner?

    Die Dateien bzw. der Ordner, der unter libs angegeben wurde, wird beim Kompilieren rüberkopiert. Du kannst da ganze Ordner oder auch einzelne Dateien (mit Semikolon getrennt) angeben.


    bei assets habe ich den Ordner in Plugin angegeben, oder hier aus dem ProjecktRW Unity\Plugin\GrenzStein\src\resources\assets? Ber das ist ja eigendlich schon im path mit drinn :thinking:

    Auch wenn das bereits bei path angegeben wurde, müsstest du das für Assets erneut angeben. Denn die Angabe path berücksichtigt nur Java-Dateien ;) Alles, was bei assets angeben wurde, wir nochmal separat rüberkopiert.

    Thanks for the video :) It looks like the problem is that the planks you're placing are perfectly overlapping with the existing blocks, i.e. the front face of the plank is exactly at the same position as the front faces of the blocks. The game tries to reduce flickering by adding a minor offset to each element, that's why sometimes the planks are visible correctly and sometimes the blocks become visible through the planks.


    When rotating elements while the pivot snapping mode is active, it highly depends on which pivot (the blue dots) you're looking at. In automatic mode, the game always tries to find the nearest pivot on your active element. For instance, if the front left pivot is active (green), the back left pivot on your active element is used for snapping. I tried to illustrate this on this image:



    The black block is the existing block, the red block is your active block (and the dotted line shows how your plank, i.e. the block after resizing, looks like in your particular case). The green dot is the active pivot. Now if you rotate the block/plank counter-clockwise, it will end up being in the same position as the existing block, because the game keeps the active pivot. The reason is that this makes it easier to build curved walls, for example.


    There are basically two ways to "fix" this: One option would be to use another pivot. Instead of looking at one of the left pivots on the existing block, look at the center or right one. If the plank position doesn't match, you could use manual positioning (right ctrl) to bring the plank into the correct position (if the grid is active, make sure to reduce the grid size while doing that). After the first plank is placed, you can disable manual positioning and snap all other planks on the left or right face of your placed plank then.


    Another option would be to swap the X and Z size of your plank, so you don't have to rotate it at all. There is also a console command to do that: swapsize x z. Then you can just reset the rotation (backspace). Snapping would then look like this:


    The downside of this approach is that this has to be done everytime the facing of the existing wall changes.


    A third option would be to use panes instead of blocks/planks. Apparently you want to have a different texture on the inside of your building (similar to plaster or a wallpaper)? You could then use a pane. It's more performant and easier to build with. Unfortunately it doesn't show up in the crafting menu (unless you're crafting glass panes), but they're still available via console command:

    That brings up a menu where you can select the desired texture. The pane shouldn't suffer from the same issue as the blocks when overlapping with existing blocks. It's our intention to make them accessible from the crafting menu too ^^


    There is also another thing we could do maybe: the rotation handling you're experiencing currently depends on the block shape. If you use another block shape (e.g. a ramp or arc), it will behave differently - the block rotation will be taken into account when determining the proper pivot. If this handling was also available for blocks, it would solve your problem and make building with planks (in combination with the pivot snapping) a lot easier. The downside is that building curved walls would be a bit more difficult. Maybe it would work if this was a separate option? :thinking:

    Perfectly legit. Where I noticed it was attempting to use it to check that the Area groups were indeed working. I expected the permissions to say area owner and not some general player group. I know I can detect what protected area they are in with a plugin but that was not the result I expected from the players list.

    This was mainly done from the POV of a regular player on the server (to get details from another player). In most cases it's probably more useful if player A can see that player B is in the "Moderator" group or (if there is something like factions) in a "Police" group, for example. But it's probably not that useful for player A if he sees temporary area permissions of player B there (e.g. something like "Owner" while player is inside his area). It would also hide the general role of a player on the server (once a "Moderator" moves into the area of another player, his visible permission would change to "AreaVisitor", for example)...


    Having said that, right now the player list shows the permission name, not the name provided in group (under "info" in the permission file). I think it's better if we change that in general. Then it would make more sense if this also takes the area permissions into account, at least as long as the particular area permission actually overrides the info_group permission. So if the area permission shouldn't be visible in the player list, simply omit this entry in the area permission file (so the game would still show the group permission name). If you want the area permission name to be visible in the player list, just set up the info_group permission there. We will implement that with the next update ;)

    Ja, die Angaben stimmen weiterhin ;) Die Plugin API verwendet weiterhin JDK 20. Es gibt mittlerweile halbjährlich neue Java Versionen, ehrlich gesagt bin ich mir nicht sicher, ob es sinnvoller ist, bei der bisherigen Version zu bleiben, oder immer auf die aktuellste Version zu updaten. Wirkliche Vorteile bringt ein Update eigentlich kaum - und führt im schlimmsten Fall zu Inkompatibilitäten mit bestehenden Plugins...


    Am einfachsten ist es tatsächlich, wenn man das JDK aus dem Spielverzeichnis verwendet, wie noci schon sagt. Wenn man nicht auch noch außerhalb von RW mit Java arbeitet, dann gibt es keine Notwendigkeit, das JDK nochmal separat herunterzuladen^^


    Die offiziellen Warnungen, dass man die immer neueste JDK Version verwenden soll (aufgrund von geschlossenen Sicherheitslücken etc), sind zwar generell korrekt und sinnvoll, können im Fall von RW aber grundsätzlich ignoriert werden. Denn in diesem Fall geht von der Java-Integration erstmal keine Bedrohung für den Server oder die Clients aus. Die Java VM läuft ausschließlich lokal und baut keine Verbindungen nach außen auf. Im Multiplayer ist es so, dass die JVM ohnehin nur auf dem Server läuft (also beim Client gar nicht aktiv ist) und von außen keine Kommunikation mit Java stattfindet.

    Wenn ein bösartiges Plugin installiert wird, dann muss das Plugin gar keine Sicherheitslücken ausnutzen um Unfug zu treiben, da es eh bereits auf das System zugreifen kann - das ist aber nicht nur speziell bei Plugins so, dieselbe Situation besteht bei jeder Software (oder im Spielekontext auch bei jeder klassischen Mod), die lokal installiert wird. Es gibt also keinen Sicherheitsgewinn, wenn das Spiel immer die neueste JDK Version verwendet.

    Ich habe den Create Plugin Thread tatsächlich mal für die neue Version angepasst ;)Im unteren Teil ist der Inhalt der plugin.yml beschrieben.


    Kurzum ist die Datei tatsächlich notwendig. Definiert sein muss name (Name des Plugins), main (Pfad inkl. Package zur Hauptklasse), version (irgendeine Versionsnummer des Plugins) sowie author (Name des Pluginerstellers). Sinnvoll (aber optional) ist noch eine loadorder (Angabe, ob das Plugin früher oder später als andere Plugins geladen werden soll). Alles andere ist optional ^^

    Exactly but it should change with the area so that the players can see their permissions.

    The player list indeed only shows the permission group of the player (irrespective of areas). This information is meant for other players as an indicator about what role a particular player has on the server (e.g. if there is a "Moderator" or "Guest" group etc, or if you have something like factions on the server, e.g. a "Police" group, "Bandit" group etc).


    If a player wants to find out his currently active permissions, he can hit ESC and click on the "Permissions" button - this brings up an overview of all currently active player permissions (taking area permissions into account) ;)

    Thanks a lot for your support! :) :thumbup:


    But it's a pity that the launcher still doesn't work :/ It's possibly a permission issue then :thinking: Do you get the error message right after trying to log in? Or does it only happen when downloading a specific file?

    Basically the launcher tries to download the files in the same folder where the launcher is located. If the launcher has no write permissions, it's usually launched in a temporary folder (under /private/var/...), preventing it from downloading any files there...


    Maybe try this: Create a new folder "Rising World" under "Applications" and put the launcher there. Then try to launch it. Do you still run into this issue?

    What was being asked is for players that are set as area owners the ability to allow or deny players into their area and to give them rights to add players to their area. I would assume that a group for area player rights versus area owners rights would need to be there.

    The next update will introduce new "create", "delete", "addplayer", "setpermission" etc. area permissions - that should make it easier to give players control over their areas ;) You will also be able to edit an area while standing inside it (so you could bind these permissions to the according area permission).


    Apparently making an area owner does not give them any new rights. They are not displayed on the permissions or the player list with supposedly area rights. Other players are able to destroy their buidings if they have general rights to build on the server is what I am reading here.

    As mentioned by james1bow , basically there is no such thing as "owner". When it comes to permissions, the game works like this: The lowest permission is the default server permission. This applies to all players automatically. If a player is assigned to a permission group, this permission overrides the default server permission.

    If the player is inside an area, the game first checks if the player is specifically assigned to the area, then it uses the player area permission. If the player is not assigned to the area, it checks if there is a default area permission instead.


    So permissions basically have this priority:


    Player Area Permission > Default Area Permission > Group Permission > Default Server Permission


    What? You have to have a default for areas? Sheesh

    No need to set up a default permission for areas. It's optional. The default permission is meant for players which are not assigned to the particular area. Example: Destroying blocks is allowed on a server (i.e. the default server permission allows it), but you want to set up protected areas for certain players. You would then set a restrictive area default permission (forbidding block destruction) - this applies to all players automatically, so nobody is able to destroy blocks inside this area. Now you want to give this area to one or more players (so they could set up a home in this area, i.e. they should be able to build or destroy stuff inside this area), so you assign these players to the area with a less-restrictive permission - this overrides the default area permission just for these players.


    Instead of setting up area permissions, you could also have a restrictive general server permission (disabling block destruction everywhere by default). Then just assign some players to the area to give them a less restrictive permission (so they can build/destroy things inside their area). No need in this case to set up a default area permission.


    Likely a syntax error I am sure but I cant find it. This is the part of this game I hate. Permissions should be simple and easy

    If there is a syntax error, the server log will show an error. Permission files use json, there are various validators available online (e.g this one) to validate the json syntax :)


    The RCON tool will also have a permission editor (which will be easier to use), but unfortunately the RCON tool had a low priority in the past (due to insufficient demand) :/


    Sollte das nicht auch die DefaultPermission einer Area anzeigen wenn in der Area kein Player eintrag vorhanden ist?

    This is not the default permission of a Area if view in the Area is no Player entry is this?

    Yes, the method player.getActiveAreaPermission() returns the area permission that is currently active for this player. If the player is assigned to the area, the particular permission is returned. Otherwise the default area permission (if set) is returned (but only if the player is not an admin (in the server.properties) OR if Settings_AdminsFullPermissions is set to false in the server.properties)


    I miss in the Areas getDefaultPermission()

    Weird... there is a setDefaultPermission(), but no getDefaultPermission() in the Area class :wat: We'll change that and add the missing getDefaultPermission() method with the next update ^^


    Getactiveareapermission always returns null red51

    If a specific player permission is assigned for this player in this area, you should be able to get this permission through that method. Otherwise, if there is a default area permission, it will only work if the player is not an admin (in the server.properties) OR if Settings_AdminsFullPermissions is set to false in the server.properties. Otherwise the game ignores the default area permission for this player.

    :thinking: Mysteriös

    In der Tat :monocle: Das deutet aber tatsächlich eher auf einen (versteckten) Bug im Spiel hin. Die Meldung Comparison method violates its general contract! kommt beim bestimmen der Loadorder. Ich vermute, dass während des Sortierens der Plugins plötzlich eine andere Loadorder für ein Plugin erkannt wird (warum auch immer)...


    Wenn das nochmal auftritt oder du einen Weg findest, das zu reproduzieren, lass es mich bitte wissen :)


    Ich benutze den*.jar Loader :D in die anderen Beiden Sachen habe ich mich noch nicht eingearbeitet (was der Bauer nicht Kennt :saint: )

    Also falls du an Plugins lokal auf deinem Computer arbeitest, dann ist die Variante mit dem dynamischen Kompilieren (über eine "projectinfo.txt") am Schnellsten :saint: Du kannst dann (während das Spiel läuft) einfach eine Änderung am Code vornehmen und musst im Spiel dann nur rp eingeben zum Neuladen - das Spiel kompiliert das Plugin dann selbst neu und kopiert alle nötigen Daten. Der Vorteil ist im Prinzip der, dass du nicht selber kompilieren und keine Dateien verschieben musst. Ist im Grunde ein bisschen wie ein Hot-Reload ^^


    Um das zu verwenden, musst du alle .jars aus dem Plugin-Ordner im Spiel entfernen und dann dort stattdessen eine "projectinfo.txt" anlegen. Darin wird der name des Plugins angegeben, der path (Pfad zum "src" Ordner deines Plugin-Projekts), optional noch libs (Pfad zum Ordner der die nötigen Libs enthält - bei Bedarf mit Semikolon getrennt) und optional auch eine loadorder. Name und Wert ist durch einen Doppelpunkt getrennt. Falls dein Plugin Assets verwendet, kannst du darin auch assets angeben mit dem Pfad zum Asset-Ordner (auch hier optional mit Semikolon getrennt, falls es mehrer Asset-Ordner gibt).


    Der Inhalt der .txt Datei kann dann zB so aussehen:

    Code
    name: TestPlugin
    path: C:\Users\Name\Projects\Rising World\TestPlugin\src
    libs: C:\Users\Name\Projects\Rising World\ToolsAPI
    loadorder: -100


    Nein, bislang alles Super mit der Loader Reienfolge :thumbup:

    Das freut mich zu hören, dass das soweit klappt! :thumbup:

    I'm sorry that you ran into this error! Unfortunately there was a problem in the old launcher (the launcher was made with "Godot", but the old Godot version had no support for files bigger than 2 GB in size), resulting in the error you're seeing. This issue was fixed in the meantime, but unfortunately the launcher doesn't update automatically on MacOS...


    To fix this issue, you have to download the latest launcher for Mac from here: https://shop.rising-world.net/…-rising-world-standalone/


    If the issue still persists after downloading the latest launcher, please let me know :)

    red51 sag mal, hast du bei den Plugin's ein *.rar Loader eingebaut?

    Nein, eigentlich nicht :wat: Lädst du das Plugin via .jar, oder direkt die class-Dateien (oder compilierst du das Plugin on-the-fly mit einer "projectinfo.txt")? Das Spiel versucht beim Laden die Loadorder zu bestimmen und prüft im Grunde diese 3 Fälle. Problematisch wird es, wenn bspw. mehrere .jar Dateien in einem Plugin-Ordner vorhanden sind, oder wenn es eine zusätzliche classinfo.txt gibt, oder wenn eine zusätzliche projectinfo.txt existiert.


    Gibt es denn an sich immernoch Probleme mit der Loadorder (wie hier erwähnt)?


    Noch eine kleinigkeit :D kannst du die Anzeige für die Areas noch etwas Optiemieren, so das zwei Areas die direckt an ein ander Liegen nicht mehr so Flackern. Das müsste doch auch mit diesem leichten Versatz klappen?

    Oh, danke für den Hinweis, ja, das können wir mit dem nächsten Update anpassen :)

    Hi Red, there is a typo in your installer link in step 2.

    Oh, thanks for letting me know! It was still the old link there, I've fixed that now :saint:


    Red, the PluginSDK.unitypackage does not appear to be in the location you specified. ;(

    That's weird :thinking: I've no idea why it wasn't included in the build process, apparently this happened with one of the latest updates... thanks for bringing this to my attention, we will fix that with the next update! In the meantime, I've attached the PluginSDK.unitypackage here ;)

    Will it be possible to have different biomes/climate zones in the same (big) land mass. I like islands having different ones, but I still prefer to also find them in the same land mass.

    Currently we have no plans for that unfortunately... each island only has one climate zone. But there are plans to have some sort of transition biomes on islands: for example, if you're on a temperate island and a desert island is south of your island, you would be able to find a mediterranean biome in the southern part of your island etc.


    I notice you can jump on top of animals and stay there. Would be nice if they at least try to shake you off.

    That would be a good idea, I will put it on our list ;)


    Would it be possible, at least in the future, to have an option so you can only prepare some styles (textures) of furniture only of you have the corresponding type of wood/lumber. Say make a pine looking bed, only with pine, and so on.

    That's unfortunately a bit difficult... for most furnitures, it's hard to tell what type of wood they're currently using specifically. It would require us to change the materials of all objects to make sure to have distinguished looks for the various wood types (e.g. a pine wood bed, an acacia wood bed etc)... there is unfortunately a lot of work involved to do that (and it's going to be difficult to keep this compatible with existing worlds - some people wouldn't be happy if the furniture or building materials suddenly look very different.


    Hello everyone. I have a interesting question. It's planned add stone, mud, and terrain blocks and other types of "blocks" (like cylinder, pyramid, etc) made of terrains material?

    Yes, probably this will be part of the next update ;)

    Not sure if I understood the problem exactly :thinking: Does that mean you want an owner (more precisely, a player that is assigned to an area) to be able to add other players to his area?

    Right now there is only the general "areatools" permission (under "creative") and the "addplayer"/"removeplayer" permissions under "area". The problem is that allowing the area tools, the player is able to create new areas... probably it would help if there is just another "create" permission under "area"? Or a specific permission to only allow the player to edit his own areas? Or did I miss something?


    we need player.setPermissionAreaGroup(UserName); red51

    Basically there is no such thing... the player has a general permission group, and once he enters an area, he also gets an area permission assigned. This is only valid as long as the player is inside this area. The general group permission can be retrieved via player.getPermissionGroup(), while the temporary area permission (only active while the player is inside an area) can be retrieved with player.getActiveAreaPermission().


    As mentioned, the area permission is temporary and depends on whether or not the player is actually inside an area (and it may be different for each area). The method you've mentioned wouldn't be possible, since it's unclear which area this actually affects. If you want to change the player permission of an area, you have to set that on the particular area directly via area.setPlayerPermission(). Like this:

    Java
    //Get area the player is currently inside
    Area area = player.getCurrentArea();
    //Check if player is actually inside an area (ie area is not null)
    if (area != null) {
    //Update area permission if desired
    area.setPlayerPermission(player, "PlayerAreaPermission");
    }

    You first have to turn cloth into rags - this can be done at the grinder ;) Then just put the rags into the paper press. Currently there is no water required (because buckets didn't make it into the game yet), so you can turn them into paper directly.