Trouble implementing a class [d1633]


#1

I’m trying to mod in the details for the Mason class but I’m having some trouble. All of the assets seem to be there, although a few things like icons are still copy/pasted from the carpenter class. I have the chisel recipe and can craft the talisman. However, as soon as I try to promote someone to the job, I get the following error.

No matching overload found, candidates:
luabind::object create_controller(custom [class std::weak_ptr<class radiant::om::DataStore>],std::string const&,std::string const&)

Click for full stonehearth.log

I’m just not sure what’s wrong. It seems like everything is all set up for the Mason to be in the game, it’s just disabled because there’s really no content for him yet. I went through the stonehearth/manifest.json and duplicated any carpenter things that weren’t there already, went through the mason job folder and tried to match everything up properly but no luck.

This is for the d1633 version with the new Alpha 5 features. Any ideas?

Edit: I’m just doing this inside of the Stonehearth mod for now while I try to get this to work.


#2

Alright, I’ll tell you how I got it working. Under file mason_description.json I changed “script”: “file(mason.lua)”, to “script”: “file(mason.luac)”, since it was compiled. I also made sure it had this “controller” : “stonehearth:class:carpenter”,
as the controller, since the masons wasn’t implemented yet. Then I changed the workbench to the carpenters, since the masons one won’t show up, “workbench_type” : “stonehearth:carpenter:workbench”. I’d say make sure to have a recipe for your workbench just in case it decides to flood your screen with errors. Other than that, assuming you have everything else setup properly, it should work. :smiley:


#3

Thank you!

I believe I was missing the “controller” definition in the mason_description.json file. I’ve added that in and now things are much better. :smile:

Just a little more work to do now.