Posts by red51

    Es gab tatsächlich schonmal Diskussionen dazu ^^ Während das zwar grundsätzlich ein nettes Feature wäre, würde es leider auch diverse Probleme mit sich bringen. Viele Berechnungen und Positionierungen sind auf die aktuelle Spielergröße eingestellt. Wenn man zB als Riese oder Zwerg in ein Fahrzeug steigen würde, würde die Sitzposition usw. nicht mehr wirklich stimmen... es stellt sich da generell die Frage, wie sich das Spiel verhalten soll, wenn sich ein 50 Meter Riese ins Ruderboot setzt oder wenn sich später ein Däumling auf ein Pferd setzen möchte :D


    Bei extremen Größenabweichungen würde es auch Probleme mit der Physikengine geben: Wenn der Spieler zu klein wird (also extrem klein à la Däumling), dann würden einige Kollisionen manchmal nicht mehr korrekt funktionieren (da die Polygone dann im Verhältnis zum Spieler zu groß werden). Wenn der Spieler hingegen zu groß ist (à la 50 Meter Riese) und durch eine detailreich bebaute Stadt läuft, wird das ggf. Performanceprobleme geben, da die (im Vergleich zum Spieler winzigen) Gebäude eine verhältnismäßig detailreiche Kollisionshülle haben bzw. der Spieler mit tausenden oder zehntausenden Polygonen gleichzeitig kollidiert :dizzy:


    Es wäre aber ggf. denkbar, so eine Option über die API anzubieten. Das löst zwar die Probleme nicht, aber dann ist die Verwendung eher "auf eigene Gefahr" bzw. dann ist es auch nicht so schlimm, wenn ein Däumling ein Ruderboot bedient und das optisch überhaupt nicht zusammenpasst :saint:

    Thanks for the report! But it looks like the "debugcorpse" command was entered after the player died? Unfortunately the log won't provide more information then :/


    Maybe try it again, but type the command before the player you want to loot dies (or before committing suicide if you want to loot your own body). Then try to loot the body (it's important to try to look at the body), then maybe send another report :)

    That code should basically work, at least it worked on my end (pressing U printed a red text to the chat) :thinking: The only "issue" is that "plugin" (line 14 of the first snippet) is null (because the "plugin" variable has never been initialized), that doesn't matter in this code (because that parameter isn't used in the snippet anyway), but probably this was unintended?


    It's weird if this only works in singleplayer, but not on the server :wat: Could you maybe send me the full server log (either post it here, or send it via PM to me)?

    This screenshot looks amazing, well done! :wow::thumbup:


    About the lights, unfortunately the game does no specific handling for them, so lights spawned through the API are always in the scene. HDRP allows you to set a max view distance for lights (that could be defined in the prefab) and that setting should still work in the game though. Basically lights (without shadows) shouldn't be a huge issue because the game uses a deferred renderer... but HDRP lights are still relatively "expensive", so hundreds of active lights will have an impact. There is another limitation in HDRP: it can only render 63 lights per screen tile (exceeding this limit results in ugly artifacts)...


    Shadows are a bit more tricky though... by default they're dynamic (so no caching happens), but of course this has performance implications...


    We could maybe add a way to turn API lights into "managed lights" (so they're managed by the game and taken into account for the max amount of active lights in the scene) :thinking: That would also work for the shadow handling then... maybe a method on the Prefab class like setLightManaged(String path, boolean set); would be a good idea^^


    And the third question - is it possible to make light and control it programmatically from plugin side? I saw some methods that are probably related to it (that adds components to game object), but looks like they are not finished

    Hmm... it looks like the setComponent(); method on game objects doesn't work properly :wat: We'll fix that! But the setComponent(); method on Prefab should work (the ones that accept a "path" parameter). Just set path to null if you want to add the light to the main object^^


    Nevertheless, it's also our intention to add a dedicated "Light" game object where all relevant methods would be exposed ;)

    Technisch war es tatsächlich so, dass in der Java Version nur 1 Block an ein und derselben Position (also in einem Raster von 1x1x1 großen Blöcken) sein konnte. Da in der neuen Version Blöcke ja quasi wie die Planken & Balken der Java Version behandelt werden, gibt es diese Limitierung natürlich nicht mehr... aber exakt übereinanderliegende Blöcke (also a genau derselben Stelle) sind so oder so unschön. Wir werden das auf jeden Fall noch ändern, ich packe das auf unsere Todo-Liste ;)

    Nur der clickable hat die Runde Ecke nicht erkannt

    Hmm... ich habe wohl zu viel in Unitys Verhalten reininterpretiert :saint: Leider werden auch runde Ecken nicht erkannt... ich dachte eigentlich, dass Unity damit von sich aus korrekt umgeht... kA ob das ein Bug ist... leider können wir von unserer Seite da wahrscheinlich nicht viel machen, da hier ein bisschen dasselbe Problem wie bei den Bildern vorherrscht (wir kennen nicht direkt das fertige "Layout" des UI Elements wenn es auf dem Bildschirm angezeigt wird, da das Aussehen ja u.U. von vielen Faktoren abhängt [andere UI Elemente, Parent, Childs etc]). Ich muss mir das aber nochmal genauer anschauen ;)


    PS: Die UI sieht bis jetzt schon sehr vielversprechend aus! 8):thumbup:

    Ok. Ich meinte eigentlich eine Vorab-Einstellung für Leuchtblöcke und auch Lampen mit Helligkeits- und Farbanpassung. Es ist relativ aufwendig dass im Nachhinein immer zu ändern. Wenn ich 20 Lampen setzen möchte, muss ich 20 Lampen einzeln farbmäßig oder helligkeitsmäßig anpassen, das gleiche gilt für die leuchtblöcke.

    Achso, naja leider können Objekte (wie Lampen) noch nicht mit dem F8 Werkzeug bearbeitet werden... das kommt aber auf jeden Fall noch ^^ Dann wird man darüber auch mehrere Lampen auf einmal einstellen können.


    (Ich hatte ja immer vermieden zu viele Lampen zu benutzen, )aber in der Unity Version schlucken die Schatten das Licht und man muss Lampen setzen, wenn alles richtig ausgeleuchtet sein soll).

    Wir werden auf jeden Fall noch eine Option anbieten, Schatten für Lichter auszuschalten bzw. auch spezielle "unsichtbare" Lichter zu erzeugen, deren Reichweite usw. frei eingestellt werden kann - das sollte da eigentlich helfen ;)


    An der Performance Schraube für Lampen kann man nicht mehr drehen?

    Das "teure" an vielen Lichtern sind in erster Linie die Schatten... wenn man also künftig Schatten für bestimmte Lichtquellen deaktiviert, kommt man wahrscheinlich insgesamt mit deutlich weniger Lichtern aus^^

    Dann habe ich das falsch verstanden. Heißt eigene Elemente, eigene Bäume, eigene Models mit verschiedenen Texturen ? Ich hatte mich eigentlich auf eigene Bodenplatten gefreut.

    Mit der API können beliebige 3D Modelle mit beliebigen Texturen in der Welt gespawnt werden. Es können aber noch keine eigenen Bäume oder eigene Items eingebunden werden (die sich dann wie die spieleigenen Elemente verhalten) - das ist leider mit erheblich mehr Aufwand verbunden. Auch gibt es noch keine Texturepacks mit diesem Update (sonst hätten wir das eindeutig so kommuniziert)^^

    Ja, das mit den Blöcken ist tatsächlich etwas mühsam :/ Das Terrain-Werkzeug (F5->3) im Creative-Modus ist da auf wesentlich einfacher zu benutzen. Diese Funktionalität ist auf jeden Fall auch noch für den Survival-Modus geplant (also dass man Kies etc. platzieren kann). In Zukunft wollen wir auch noch ein paar weitere Terrain-Materialien (zB weitere Plastersteinvarianten) hinzufügen, das würde in dem Fall auch schon helfen ^^

    Die flex-Einstellungen in deinem Code sind nur relevant für Child-Elemente ;) Generell ist das Flex Layout aber auch nur relevant, wenn du nicht setPosition() verwendest - denn das setzt das Style für das Element auf eine absolute Positionierung.


    Die Einstellung für Zeilenumbruch heißt "whiteSpace", also wäre der Code style.whiteSpace.set(WhiteSpace.Normal); (die Benennung ist vll im ersten Moment nicht sehr intuitiv, orientiert sich aber an Unitys IStyle, und das wiederum an CSS) ^^


    Kann vieleicht noch für den Clickable Event eine Maske einfügen, damit bei Runden oder Transparenten Bildern auch nur im Richtiegen Bereich der Event ausgelöst wird.

    Schwierig... also das clickable sollte bspw. abgerundete Ecken korrekt erkennen (wenn du sie zB über style.borderTopLeftRadius etc setzt, wie hier). Bilder bzw. der Alphawert der Bilder wird da momentan aber nicht berücksichtigt. Dafür müsste der Pixelwert des Bildes ausgelesen werden, allerdings hängt die genaue Ausrichtung und Größe des Bildes wiederum vom Style ab, d.h. an en eigentlichen Pixelwert kommen wir gar nicht wirklich ran... :|


    Mit OverflowClipBox.ContentBox kann ich auch nichts Steuern, selbst innerhalb vom Ramen bringt nix

    Die hat damit nichts zutun^^ Das ist der entsprechende Property in Unitys IStyle: https://docs.unity3d.com/2022.…unityOverflowClipBox.html

    Das Verhalten dieser Eigenschaft ist etwas schwierig zu erklären. Es wirkt sich darauf aus, wie der Inhalt des Elements geclipped wird (also ausgeblendet wird) wenn Padding eingestellt wird. In den meisten Fällen muss man diese Eigenschaft aber nicht anrühren (ich glaube in unserer gesamten UI haben wir das nicht einmal verwendet) :D

    For some reason the JVM could not be initialized :wat: Either the jvm.dll (in /Java/JDK/bin/server) could not be found (or the file is broken), or some dependencies are missing :thinking: The only dependency I could think of might be VCRedist... but maybe try to validate the server files first (just in case the download got corrupted ;)

    Hat jemand eine Idee, warum ich mit Game_DebugConsole=True keine Konsole sehe, wenn ich das Spiel starte? Muss ich noch etwas beachten?

    Leider funktioniert die Debug-Konsole momentan nur unter Windows :/


    Wäre es vielleicht möglich für den Leuchtstein eine Automation einzufügen, damit man dort nicht immer die Helligkeit und die Farben manuell bei jedem einzelnen Teil einstellen muss ? Ich vermute, dass die Leuchtsteine keine Auswirkung auf die Performance haben, wie die Lampen.

    Theoretisch müsste das ja über das F8 Tool gehen, oder? Also indem du die Farbe änderst?


    Was die Performance angeht, die Leuchtsteine haben da tatsächlich keinerlei negativen Einfluss drauf (zumindest nicht mehr als ein normaler Block) ^^

    Wehre es möglich eine JSON.jar mit in den RisingWorldDedicatedServer\Data\Java\Libs Ordner zu Packen?

    Hmm... also wir könnten theoretisch das hier mit dazu packen: https://github.com/stleary/JSON-java

    Bisher ist da nur die YAML Lib da die API bisher nur YAML verwendet ^^


    ich hätte gerne noch in der UI eine ListBox, ComboBox / DropBox, SpinnBox und Slider.

    Ich packe das mal auf unsere Liste :) Grundsätzlich möchten wir auf jeden Fall so viele UI Elemente wie möglich in der API bereitstellen^^