Posts by red51

A small new update is available now!

    Work well for adding new custom items to the inventory (in the first available free slot or stacks if item already exists), however, it does not generate the nice inventory addition notification/animation on the lower right hand corner of the screen.

    Oh, thanks for letting me know! This seems to be a general issue with the "insertNewItem()" methods (not only affecting custom items) =O


    The names, including definition name are all "apiitem" and the getTypeID are all the same at 890

    Yes, that's intended. Internally there is a universal "apiitem" which is used by every custom item. This way the game makes sure there are no collision between item id's, and in addition to that, the game is still runnable if stop using a certain custom item plugin (while there are still custom items in your inventories or chests) ;)
    The game distinguishes individual custom items via the item attribute. Every custom item has a CustomItemAttribute (which can be received with Item.getAttribute()). You can add individual attributes to your CustomItemAttribute (this way you can store additional information per item), for example:


    You can also get the UUID from the CustomItemAttribute. This way you can get the actual CustomItem definition from the server:

    Java
    Item.CustomItemAttribute attribute = (Item.CustomItemAttribute) item.getAttribute();
    CustomItem customItemDef = getServer().getCustomItem(attribute.getUUID());
    //Probably it's always a good idea to do a null check
    if(customItemDef != null){
    String itemname = customItemDef.getName();
    int maxStackSize = customItemDef.getMaxStacksize();
    }

    Dies würde bedeuten das nur das geladen wird, was der Spieler wirklich sehen kann.

    Also grundsätzlich werden immer die Weltdaten vom Server übertragen, die innerhalb des Sichtradius sind (abhängig von der Sichtweiteneinstellung in den Optionen). Diese Chunks werden alle geladen, generiert und an die Grafikkarte gesendet bzw. dargestellt. Allerdings ist "View-Culling" bereits implementiert, d.h. es werden alle die Chunks ausgeblendet, die außerhalb des Sichtkegels der Spielerkamera sind. Sprich die Chunks, die bspw. hinter dem Spieler sind, werden nicht gerendert.
    Im Speicher müssen wir diese Daten aber trotzdem behalten, da es anders nicht funktionieren würde (da das Laden/Generieren einfach zu lange dauert, und es ja äußerst unschön wäre, wenn die Welt sich erst aufbauen muss, wenn der Spieler sich umdreht - und schließlich kann sich der Spieler ja recht schnell umdrehen). Hier würden wir ohnehin keine Performance sparen, eher im Gegenteil, das ständige Nachladen und Generieren der sichtbar gewordenen Chunks würde die Performance eher noch drücken :S


    In dem Bereich haben wir also leider schon das Ende der Fahnenstange erreicht, denn die großen Performancegewinne sind wirklich durch das View-Culling erzielt worden (was aber schon seit Anfang an drin ist). Man kann sich den Unterschied anschauen, wenn man in die Konsole toggleworldgeneration eingibt (was die Weltgenerierung pausiert) und dann etwas wegfliegt, sodass man den gesamten generierten Weltbereich im Sichtfeld hat. Hier kann logischerweise kein View-Culling angewendet werden, sodass die Framerate wesentlich geringer ausfallen dürfte.


    Um aber Missverständnisse zu vermeiden: Wenn ich vom "Ende der Fahnenstange" rede, dann beziehe ich mich nur auf das Ausblenden von nicht-sichtbaren Chunks. Natürlich gibts im Spiel noch an vielen anderen Stellen Optimierungsspielraum ^^


    Es wäre ganz gut wenn man die Lichquellen als Außen und Innen bestimmen könnte,
    somit könnte das Spiel alle Lampen und Fackeln usw die Außen stehen am Tage wo man sie nicht
    braucht einfach ausstellen.

    Die Idee ist eigentlich gar nicht so schlecht, ich behalte das mal im Hinterkopf :) Wir wollen das Lichtsystem ja ohnehin überarbeiten. Derzeit zählen feste Lampen und platzierte Fackeln als "statisches Licht", d.h. das davon abgegebene Licht wird für jeden Chunk von der CPU beim Generieren einmal pro Vertex berechnet und für diesen Vertex gespeichert. Das kostet Zeit und Memory, und je mehr Lampen platziert und je detailreicher die Bauwerke sind, desto größer der Einfluss auf die Performance. Wir werden künftig auf einen Deferred Renderer umsteigen, sodass wir jede* Lichtquelle als dynamisches Licht (welches dann ausschließlich von der GPU berechnet wird) handhaben können. Das spart Memory, in erster Linie werden die Beleuchtungseffekte dadurch aber schöner ;)


    Wenn ich keine Animation sehe, dann brauch ich sie auch nicht im Speicher.
    Also wenn ich zwar fast daneben stehe aber eine Mauer oder Wand dazwischen ist.

    Das ist quasi auch bereits umgesetzt, aber auch das nur im Zuge des o.g. View-Cullings (d.h. zB die Animationen für NPCs, die hinter mir stehen, werden nicht aktualisiert [bzw. nur sehr rudimentär aktualisiert, da das Spiel den aktuellen "Fortschritt" der Animation ja trotzdem kennen muss]). Allerdings werden seit dem letzten Update die Animationen nicht mehr von der CPU berechnet, sondern von der GPU. Im "Speicher" müssen die Animationen leider trotzdem sein, denn auch das ist leider nichts, was spontan ge- und entladen werden könnte (und auch hier wäre es ja doof, wenn ein Tier beim ersten Sichtkontakt für ein paar Sekunden komplett eingeforeren ist bis es sich dann bewegt)^^

    "debugplayerbody", das passte soweit. Bis auf das der Player Model sich nicht bewegt wenn man die Tasten Drückt, dann ruckelt das Player Model nur etwas und verbleibt an seiner Position

    Oh, das stimmt =O In der Release-Version ist die Berücksichtigung für diesen Command leider nicht drin (weil der Command schon recht lange besteht, vorher aber nur intern verwendet wurde) :whistling: Das wird in Kürze behoben!


    Ich wollte ein Gegenstand zu Hilfsmitteln hizufügen.
    Kann sein das ich die DB vorher schon durch einander gebracht habe:

    Hmm... es scheint wirklich so, als wenn Gegenstände nicht mehr zu bestehenden Kategorien hinzugefügt werden können =O Das muss wohl durch eine der Last-Minute-Änderungen passiert sein... das wird schleunigst behoben :saint:

    deutsche version


    A new converter tool is now available which allows you to convert current SQLite worlds to MySQL. In addition to that, you can also convert MySQL worlds to SQLite. Download: https://download.rising-world.net/tools/converter.zip


    We highly recommend to create a backup of your world before converting it :!:


    The converter provides a graphical interface where you can set up the path to the world folder and the login details for MySQL. If you want to use the GUI, just start the program via double-click (alternatively you can use the command java -jar converter.jar).


    Alternatively you can run the program from the command line, but then you have to provide the login details as arguments. Ideally you can run the program with the argument ?, then the required parameters are displayed and explained.


    In order to run the program, Java 8 needs to be installed.


    Note: If you convert an SQLite world to MySQL, it's necessary to keep the old world folder since it's still used to store uploaded user images as well as some other world information.

    english version


    Ein neues Konvertierungsprogramm ist nun verfügbar, mit welchem sich aktuelle SQLite Welten zu MySQL umwandeln lassen. Zusätzlich können mit dieser Version auch MySQL Welten in SQLite zurückgewandelt werden. Download: https://download.rising-world.net/tools/converter.zip


    Wir empfehlen dringend, vor der Konvertierung ein Backup der Welt anzulegen :warning:


    Das Programm bietet eine grafische Oberfläche, in welcher der Pfad zum Weltordner sowie die Login-Details zu MySQL angegeben werden können. Wenn die grafische Oberfläche verwendet werden soll, kann das Programm via Doppelklick gestartet werden (alternativ mit dem Befehl java -jar converter.jar).


    Alternativ kann das Programm auch über die Kommandozeile gestartet werden, dazu müssen allerdings die nötigen Daten als Argument übergeben werden. Idealerweise kann das Programm mit dem Arugment ? gestartet werden, dann werden die benötigten Paramter angezeigt und erläutert.


    Zur Ausführung des Programms muss Java 8 installiert sein.


    Hinweis: Wenn SQLite Welten zu MySQL umgewandelt werden, ist es nötig, den Weltordner weiterhin beizubehalten, da sich dort u.a. hochgeladene Bilder usw. befinden, welche auch von der MySQL Version weiter benutzt werden.

    Oh, well that's not supposed to happen =O I will check out what's going on there!
    The code looks fine btw, but you should only use "1" as variation if there is more than 1 variation defined for your item (otherwise, the default variation is 0) ;)

    Dabei ist mir aufgefallen, das bis dato noch Probleme mit dem debugplayerbodygibt die werte ändern sich aber der Body nicht (er zukel nur etwas), Scripte ich ne andere Body Position wird sie übernommen

    Meinst du den Konsolenbefehl? Das ist leider etwas fummelig, aber wenn du "debugplayerbody" eingibst, kannst du mit den Pfeiltasten (sowie Bild-Auf / -Ab) die Position des Spielerkörpers in der First-Person-Ansicht ändern. Während du Shift gedrückt hälst, kannst du ihn drehen. Wenn du "Enter" drückst, wird die aktuelle Position (also die XYZ Koordinate) in die Zwischenablage kopiert. Drückst du Shift+Enter, wird die Rotation kopiert. Alternativ wird beides aber auch im Log ausgegeben.


    Zusätzlich gibts natürlich auch noch "debugitem", womit nicht der Körper, sondern das Item in der Hand bewegt und gedreht werden kann. Sind wie gesagt leider etwas fummelige Lösungen...


    Hatte category="tools", recipe.setLocalizedCategories("Kitchen Gadgets"); auskommentiert. Und er erstellte mir ein Unterverzeichnis Tools, in dem dann aber auch nicht das Rezept angezeigt wurde sowie in "Hilfsmittel" oder "Werkzeuge" ebenfalls nicht.

    Hmm... wie hast du die Kategorie genau angegeben? Also direkt im Konstruktor nehme ich an? Ich weiß gerade gar nicht, wie es sich verhält, wenn eine bestehende Kategorie angegeben wird (in dem Fall "tools"), aber als "Localized Name" etwas abweichendes gesetzt wird 8| Möchtest du das Item denn in einer eigenen Kategorie unterbringen (also "Kitchen Gadgets"), oder willst du, dass sie bei den restlichen Werkzeugen mit auftauchen? In erstem Fall müsstest du einen neuen Namen für die Category vergeben, zB "kitchengadgets" oder so. Ansonsten könntest du mir evtl. einmal den Code zukommen lassen :)


    Vergiss übrigens den Hinweis in der Doku bzgl. lower-case Namen, das stimmt gar nicht =O Es ist effektiv egal, aber die bestehenden Kategorien des Spiels haben tatsächlich einen großen Anfangsbuchstaben. Eine Übersicht über die Kategorien bekommst du über die definitions.db Datei in der commons.jar (unter "definitions"). Du benötigst einen SQL-Editor um die Datei zu öffnen. Dort kannst du dir die "RecipesItems" Tabelle angucken und sehen, in welcher Kategorie welches Rezept abgelegt ist.


    Ansonsten werden in Kürze aber auch die angekündigten Beispielplugins verfügbar sein ;)

    was soll ich da sonst auswählen? Public ?

    Ja, wie gesagt, wenn du "public" auswählst erhälst du wieder die aktuelle Version (und auch automatisch alle neuen Versionen) ;) Die Beta-Branches unter den Optionen sind im Grunde die selben Beta-Branches, die auch bei Steam vorhanden sind. Der Grund, warum die da sind, ist, dass wir damals das Spielerfiguren-Update erstmal nur als Beta verfügbar gemacht haben, was allerdings für Standalone User doof war, da diese keinen Zugriff darauf hatten (daher haben wir den optionalen Zugriff auf die Beta-Branches hinzugefügt).


    Wenn man spielt kommt doch ab und zu Hintergrundmusik. Diese Mischen sich nach einer gewissen Zeit. Hört sich sehr blöd an.

    Oh, das ist merkwürdig =O Tritt das nur bei bestimmten Musikstücken auf? Das muss ich mir ansonsten mal genauer ansehen...

    However, the second one found shows up at ( 2x Emerald * ) even though only one is added to the inventory (meaning they now have 2).

    If a 2nd item (of the same type, no matter if it's a vanilla or custom item) is added to the inventory within 1-2 seconds, the "1x item" label just gets updated ;) That's actually intended. The reason for this is that there are sometimes situations in which many items are added to the inventory in a short time, and an updated label showing the total amount of items is sometimes more useful in these situations than several "1x" labels ^^

    Maybe have a look if there is a file called "hs_err_pid" or "errorlog" in your game directory (if you have the Steam version, you can get there by rightclicking on RW in Steam -> Properties -> Local Files -> Browse Local Files). If there is such a file, please post it here ;)
    Alternatively you could maybe create a report file, to do that, open the ingame console and type "report", then a file called "report" shows up in the game directory. Please upload this file here, or send it via PM to me (or via email to support@jiw-games.net)

    -> Wenn Stacks von Items über das Handelsfenster im Spiel transferiert werden und der Empfänger bereits einen unvollständigen Stack im Inventar hat, so wird der unvollständige Stack aufgefüllt, aber alle überzähligen Items gehen verloren.

    Danke für den Hinweis, ich schaue mir das mal an ;)


    -> Beim craften im Reiter "Rohstoffe" gibt es Probleme bei der Anzeige für benötigtes Material und erhaltener Produkte.

    Hast du die neueste Version nochmal ausprobiert? Das Problem sollte dort eigentlich behoben sein.


    -> Ich hatte die Spinnen als Gegner deaktiviert, aber trotzdem bin ich bereits einer Spinne in einer Höhle begegnet, ich bitte darum das zu überprüfen.

    Eigentlich sollten Spinnen nicht spawnen wenn sie deaktiviert sind 8| War die Spinne vielleicht schon vorher irgendwie gespawnt? Ansonsten könntest du einmal den Befehl disablenpc spider eingeben, damit werden Spinnen definitiv deaktiviert (und alle existierenden Spinnen werden entfernt).


    -> Auch schon in früheren Versionen trat das Problem auf, dass beim tragen der Krone die Spieler plötzlich Glatze haben. Bei einer Mütze ist es Sinnvoll, um Probleme zu vermeiden, aber bei der Krone fällt es nun mal auf.

    Ja, das ist leider eher eine temporäre Lösung, damit die Haare nicht durch die Kopfbedeckung durchschauen. Wir werden da in Zukunft eine wesentlich elegantere Lösung umsetzen ^^


    bitte Sounds nochmal kontrollieren! Höre gerade 2 Sounds auf einmal. (bug)

    Um welchen Sound handelt es sich genau?


    Es ist trotzdem kein neues Update verfügbar. Habe das Game neu runtergeladen da müsste er ja das Update runterladen was er leider nicht tut. Er lädt immer die Version 0.9.4.2 runter mehr nicht...

    Wichtig ist, dass bei den Optionen nicht mehr die "0.9.4.2" ausgewählt ist, ansonsten bleibt er bei diesem Branch. Um den Beta Branch wieder zu deaktivieren, wähle dort "public" aus ;)

    @red51 how would I create a floating health indicator for the bandits, skeletons & other NPC's? What I mean is a health indicator to tell us what their health is as we attack them?

    You could use the plugin API to create that. Although it would be much easier if a text above them is sufficient, then you could use the World3DText element


    I want to bring some really cool things into the game and I'm confused by the GUI as I want it to be a part of the mod.

    What part of the GUI is confusing exactly? If you're referring to the Plugin API, it's better if you create a new topic in the API section: Plugin Discussion ;)

    Thanks for the feedback :)


    I just noticed the GUIs for the world protection and GPS plugins no longer show up at the bottom of the screen after the last update. Any way to fix this?

    I've just released another small (optional) hotfix, please let me know if the GUIs are still missing. Depending on when the GUI element was attached to the player screen, it could have been invisible in certain situations.


    I might have to ban the granades if they do damage to buildings.

    Grenades do not destroy any buildings or structures, they only do damage to players and npcs ;)


    Also the stone axe seems not to harm bandits

    The stone axe should still harm bandits, but bandits are more resistant now.


    I would like to have a little more texture that gives us an aging effect, such as broken walls, cracks on walls, weed or mold that appears at the first levels of blocks added to the ground and finally some color in more about plastic blocks, colors like orange or various shades of existing colors

    I will keep this in mind :) We are going to rework the textures and the way how they're stored in the near future. Being able to change the color of blocks (or planks or beams) was planned anyway, but perhaps it might be a good idea if you're also able to add another overlay texture on top of them (e.g. cracks, moss etc).

    seit deinem Hotfix funktioniert mein iConomy nicht mehr richtig. Gestern hat es noch funktioniert.

    Ich habe nochmal einen kleinen Hotfix veröffentlicht der ein kleines Problem mit der GUI behebt (je nachdem, wann ein GUI Element beim Spieler hinzugefügt wurde, konnte es sein, dass es nicht sichtbar war). Treten die Probleme jetzt immernoch auf?


    Wenn ich auf dem Server settings_peacefulmode_enabled=true einstelle, zählt es nur für Tiere oder auch für Banditen und Skelette?

    Diese Einstellung gilt für alle NPCs, also sowohl Tiere als auch Banditen und Skelette ;) Wenn man einen NPC jedoch von sich aus angreift, greift dieser zurück an.