Reworking the Item Handling

This time a pretty technical post, which I can't even make less complex by providing images :-D

How does Items/Materials work in Exipelago?

In Exipelago there is no simpel items. So one does not just make a completed model in blender, texture it and put it into the game - but one does create a mesh with general UV and then uses the ingame editors to put use into that mesh. The main reason for that is, that each item will get textured or "materialized" depending on what ingredient were used to build it. So an item defines itself to need wodden planks (of any sort) or raw stone or a stone block or whatever other item really.

When an item is actually constructed in the game, the item is created based on what ingredients were used in the first place. There is basically no limit on available wood types, so each tree type (can also be make in editor) spawns it's own type of wood which defines the general texture - every item made out of that wood now get's that defined texture by whatever the ingredient has defined. So every item is basically just a descriptor for a subset of items.

Turned out - that wasn't enough

Lastly I wanted to add vegetables to the game - and while a carrot and a potato bascically share their categorty, they do not share their visual representation (like it is for wood, a log is always a log). So while the editors basically allow for defining "sub items" directly - the game - or better - the internal item handler did not.

That's why I have to basically fully rework that handler to allow for that case as well - which is something I had in mind from the beginning anyway. Still in the process of testing and debugging, but at least coding should be finished so far and I still have to adapt the editor to integrate better with the new possiblities.