ERROR o.t.e.u.gson.UriTypeAdapterFactory - URI type interface org.terasology.engine.core.Uri lacks String constructor
From peeking at variables in the stack trace, it seems this is coming from trying to figure out SetTargetToNearbyBlock during Terasology's LoadPrefabs step, and I think it's because gson is trying to figure out what to do with STTNB.movementPluginSystem. (because PluginSystem has a field with Map<Uri, Function<>>)
Should that field be marked transient? Or should something in BehaviorTreeFormat or BehaviorTreeBuilder know that fields marked @In should be skipped, since they expect to be handled by runtime dependency injection and not serialized data?
Oh, this maybe only happens on my experimental branch, in which case it might not be the module's fault. But it would be very useful to know the answer regardless.
While loading a game, I see an error:
From peeking at variables in the stack trace, it seems this is coming from trying to figure out
SetTargetToNearbyBlock
during Terasology'sLoadPrefabs
step, and I think it's because gson is trying to figure out what to do with STTNB.movementPluginSystem. (because PluginSystem has a field withMap<Uri, Function<>>
)Should that field be marked
transient
? Or should something inBehaviorTreeFormat
orBehaviorTreeBuilder
know that fields marked@In
should be skipped, since they expect to be handled by runtime dependency injection and not serialized data?