1. Welcome to the Starbound support forums. Please check the support FAQs before posting: http://playstarbound.com/support

Closed Tiled Issue - Objects with an 'objectType' parameter crash worlds created using Tiled

Discussion in 'Starbound Support' started by Aegonian, Mar 25, 2016.

Thread Status:
Not open for further replies.
  1. Aegonian

    Aegonian Weight of the Sky

    Hey there!

    I've been working with Tiled quite a bit lately, building dungeons for my mod, the Avikan Race Mod. The editor is working very well for me, but there's one issue I encountered recently - placing an object that has an 'objectType' parameter in your dungeon will prevent you from being able to go to your modded dungeon.

    The issue occurred when I tried to place a custom teleporter into my dungeon, which is essentially a reskin of the themed teleporters available in the vanilla game. Before placing this object, I was able to teleport to my dungeon with the /warp command without any issues. After placing it, trying to warp to my dungeon would result in an error, causing my character to abort the warp and return to my ship immediately. The log error is here:
    [14:58:35.057] Info: UniverseServer: Creating temporary world file for world InstanceWorld:avikanoutpost:-:-
    [14:58:35.057] Info: UniverseServer: Creating temporary instance world 'InstanceWorld:avikanoutpost:-:-'
    [14:58:35.058] Info: Chat: <server> Lets do the space warp again
    [14:58:35.071] Info: Placing dungeon avikanoutpost
    [14:58:35.114] Info: Generating dungeon avikanoutpost (NOT FORCED)
    [14:58:35.137] Info: Placing dungeon at (0, 1000)
    [14:58:35.849] Error: UniverseServer: error during world create: (DungeonException) Error generating dungeon named 'avikanoutpost'
    [0] 140071933
    [1] 14006e2c8
    [2] 14006e3f8
    [3] 13fd87980
    [4] 140274259
    [5] 1401be910
    [6] 1401bb8b4
    [7] 7789cd51 RtlRestoreContext
    [8] 13fd7ac3d
    [9] 13fdf2218
    [10] 13fde6546
    [11] 13fa76203
    [12] 13fa7ec3f
    [13] 13fa6c2df
    [14] 13fa730c6
    [15] 13fa6f2d9
    [16] 13fa82516
    [17] 13fa1aaa0
    [18] 13fa7dba2
    [19] 1400d69d1
    [20] 140085f0d
    [21] 776459ed BaseThreadInitThunk
    [22] 7787b371 RtlUserThreadStart
    Caused by: (JsonException) Cannot call get with key on Json type null, must be Object type
    [0] 140071933
    [1] 14006e2c8
    [2] 13fe52415
    [3] 13fe523c6
    [4] 14008d936
    [5] 140087ffc
    [6] 13fff5623
    [7] 13fd34a57
    [8] 13fd36700
    [9] 13fd31e73
    [10] 13fd3232a
    [11] 1400298ee
    [12] 13fd74d54
    [13] 13fd7b748
    [14] 13fd7ac3d
    [15] 13fdf2218
    [16] 13fde6546
    [17] 13fa76203
    [18] 13fa7ec3f
    [19] 13fa6c2df
    [20] 13fa730c6
    [21] 13fa6f2d9
    [22] 13fa82516
    [23] 13fa1aaa0
    [24] 13fa7dba2
    [25] 1400d69d1
    [26] 140085f0d
    [27] 776459ed BaseThreadInitThunk
    [28] 7787b371 RtlUserThreadStart

    After a bit of testing I figured out that the only difference between my teleporter object and the object that did work was that my teleporter has an 'objectType' parameter in it (with "teleporter" has its value). Removing this parameter fixed the issue.

    Unfortunately, this objectType parameter is required to allow players to bookmark a teleporter... Without the objectType parameter, the teleporter simply opens up the teleporter interface instead of the 'bookmark location' prompt.

    This issue doesn't seem to be present in dungeons built using the old .png system, as the Outpost (which was built using the old system) has objects in it with objectType parameters.
     
  2. Aegonian

    Aegonian Weight of the Sky

    Never mind this report, I found the actual cause of the issue, and the solution to it as well. For anyone who might be interested, or has run into the same issue and is looking for a solution:

    In order for custom, bookmarkable teleporters to work inside your custom Tiled maps, you have to add a couple of additional parameters to your object. Select your object and add a new custom property (blue 'plus' button underneath the object properties) and call it 'parameters' (without the quotation marks). As its value, type in '{ "interactData" : "/interface/warping/avikanoutpostteleporter.config", "teleporterUniqueId" : "avikanoutpost" }' (again, without the quotation marks, but with the brackets!). Change avikanoutpostteleporter.config to your own custom config file, and change the unique ID to whatever your dungeon is called. Also make sure that you create an icon for your dungeon, and place it in a /interface/bookmarks/icons folder. Make sure the icon has the same name as your dungeon! (For example, my dungeon is called avikanoutpost, and so the icon has to be named avikanoutpost.png)
     
Thread Status:
Not open for further replies.

Share This Page