So, I have recently released a basic mod system for the private server. It can be found at my github. There are a few things I'd like to go over about it, as making certain things 100% mod-based would be nearly impossible.
1. Because of the odd way drops are set up, making XML-based drops would be quite hard. Thus, you must add item drops manually to the code. I might implement some way to do this via XML eventually, if I ever figure out how.
2. I found it impossible to make a CS file containing behavior compile correctly. If I wanted to make it compile correctly, every behavior in the code would have to be made public. Thus, behavior files must be added manually as well. If anyone has an idea on how to make behaviors added via
3. For now, forging or selling can't be defined in the XML. This will probably be changed soon, but for now, you'll have to do that manually as well.
4. A good thing: Shops can be added via the XML. Here's an example of the tags added in an item:
Code:
<Shop>
<Name>shopname</Name>
<Price>famecost</Price>
</Shop>
Also, you should look in the mod folder in Example Mod.zip if you plan on adding a mod. It's suggested that you don't add a "type" attribute and, if you include a png for your item, don't add a texture tag.
And because of all this you might be thinking, "Why is this useful?" Well, one way is that you can easily send/add items without worrying about which IDs are used and which aren't. Another way is that the remote texture system for mods actually sends faster than regular remote textures, making there be less ART blocks for mod items.