Dynamic Lights

Dynamic Lights

15M Downloads

Support for vanilla .nbt structures

vico93 opened this issue · 2 comments

commented

Hi, i'm in process to migrating my modpack to 1.14, so my strucutres from Pillar for this mod.

Could add support to the vanilla .nbt format introduced in 1.10? It have some advantages like structure voids and such.

Thanks in advance!

commented

Wow, i was not aware MC had something like this. And for so long, too. I will check out that format ... someday

commented

If you're looking to have Ruins generate vanilla-style saved structures, you can already do that--simply make a Ruins template consisting of a powered load structure block. Configure the structure block so it's overwritten by the loaded blocks, and voilà! Best of both worlds.

If you're just looking for the functionality of vanilla's structure_void block, you'll essentially have that in the next release of Ruins. There's a new ruins:null pseudoblock that can be used in template rules for the same effect (identical to previous versions' preserveBlock, if you've used Ruins before).

I fiddled around a while back with using vanilla's native saved structure format in Ruins. It certainly seems an eminently reasonable thing to do at first glance, but I quickly convinced myself it's not appropriate. At least not at this time; I'm sure the format will evolve into something more generally useful in future versions, so it's something worth keeping an eye on.

The format would have to be extended considerably to support Ruins-specific template parameters and some of the mod's key features, such as random block selection. Post-editing is much more difficult than with Ruins' intuitive "paint-by-numbers" method. And then there's the 32x32x32 size limit.

All in all, I don't think vanilla's structure format is well-suited to Ruins. Not as its native format, anyway. I also don't think it's worthwhile adding support for it as an alternative format, given there's the workaround I mentioned above (which is easy, requires no change to the mod so is already available, and immunizes Ruins from having to adapt to future format changes). Even an inline or offline tool to convert from one format to the other is kind of redundant, since you can load a vanilla structure and /parseruin it into Ruins easily enough. That's my opinion, anyway.

Having said all that, vanilla structures do have two features I'd like to see native to Ruins: structure data blocks and jigsaw blocks. I have something like these in my experimental, bleeding-edge version of Ruins, so I know it's doable, but it'll take some work to backfit them into the official mod (alas, I've deviated pretty far from canon since 1.12). I think what's going on with vanilla structures is a good source for inspiration, but not implementation.