New API vs. old API

The Building-Update for the new version is now available!
  • The new API still uses Java as programming language (just like in the Java version of Rising World). This means that most parts of the API stay compatible. However, since the new version isn't written in Java, a few special changes are necessary. Here you find an overview of all upcoming changes we're currently aware of (this means that this list isn't necessarily complete and we may update it in the near future):

    • Server and World are now static classes: This means you no longer get an instance via getServer()/getWorld(), instead you can access the relevant methods directly (example: Server.getPlayer(); instead of getServer().getPlayer();
    • Events are now short-living objects: They are only valid for 1 frame. More specifically, you may only use them within the listener method, so you cannot store the event object in a variable. At the end of the listener method, the native instance of the event is disposed, and any subsequent calls to the event methods result in an exception. Find more information about that below
    • EventMethod.Threaded will be removed: Due to the fact that events are short-living objects now, we cannot provide a threaded event mode anymore. However, you can still store the individual event data and create a thread yourself. Sync and Async event methods remain unchanged
    • Syntax changes: While most parts of the API remain unchanged, there will be some minor syntax changes affecting certain functions
    • Removal of deprecated functions: Some parts of the Java Plugin API were already marked "@deprecated". We will take this opportunity to remove them from the new API. In almost every case there is an alternative method available
    • Code refactor: We will also change the name of some events and methods to get them in line with the naming conventions of the new version. We will provide more information about that in the near future
    • Global IDs: The new version uses unique global IDs to identify all types of entities (items, objects, npcs etc). As a result, the global IDs will be stored as longs. This means the global IDs of WorldItems and Npcs are now also stored as longs (instead of ints). Good news: Plants and objects (like furniture, doors etc) now also have a unique global ID which makes it much easier to identify them
    • GUI: The UI of the game is based on Unitys new UI Toolkit. This is still in development and not production ready yet, but it's already way more flexible and powerful than the standard Unity UI. This means the UI of the Plugin API will also be based on this toolkit - which uses a "flex layout" internally. Find more information about that below

    If you have any questions or feedback, feel free to create a new topic in this section of the forum :)

  • Short-living Events

  • New UI API

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!