Hi
I am currently working on per-block-storage extensions for mods. It's not yet finished but i've made quite some progress in the past couple days.
Branch: https://github.com/mbrotz/Terasology/tree/per-block-storage
Please don't merge anything of that branch, though! I'm playing around with rebasing....
What i've done so far:
Todo:
Panserbjoern
I am currently working on per-block-storage extensions for mods. It's not yet finished but i've made quite some progress in the past couple days.
Branch: https://github.com/mbrotz/Terasology/tree/per-block-storage
Please don't merge anything of that branch, though! I'm playing around with rebasing....
What i've done so far:
- Everything related to per-block-storage (tera arrays, chunk serialization, runtime chunk compression) is now handled via the new PerBlockStorageManager.
- TeraArrays, factories, serialization handlers and deflators are now loaded via reflection.
- Mods can now implement their own tera arrays including serialization handling, array factories and deflators, which will be detected and loaded on startup.
- Mods can request per-block-storage extensions in their manifest (mod.txt).
Code:
{
"id" : "books",
"displayName" : "Books and Bookcases",
"description" : "This mod introduces books and bookcases",
"perBlockStorageExtensions" : [
{"id" : "some-per-book-data", "factory" : "engine:16-bit-sparse"}
]
}
- Implement the actual extensions (allocation and persistence).
- Extend world views and the world provider to allow accessing the data.
Panserbjoern