User blog:HubToo/Massive structures now!

Before starting, please avoid the Pavlovian reflex of telling me "this is planned", because like almost everybody, I've already heard that massive structures are coming...

The point is: we don't have to wait for massive structures to arrive, because there's a way for this to work with the current version of the mod without additional coding required from Mevans, and we can and should already organize this now between ourselves!

But before discussing how to do it, let's go back to the classical ways to do this.

Minecraft has had generated structures since the start, and the LOTR mod too, with Hole Hobbit holes appearing since Beta 1.

For each regular LOTR mod structure, you'll find a structure spawner egg (lookup the lotr:item.lotr:structureSpawner item in my Data values page) enabling you to place a specific structure at any desired place.

There are also special structures that appear at a specified place:


 * easter eggs like Shrek's house (which was said to be a test to "get a structure to spawn in one specific place") and the giant cherry tree of Mordor,
 * geographical features like The Lonely Mountain (added in Beta 23), Mount Doom (added in Beta 24) and Eagle's Eyrie (added in Beta 25),

All these mod structures are generated through algorithms (see the Ring of Isengard generation code provided by AlteOgre), which do not allow for real complexity and have sometimes disappointed players.
 * and, finally, major structures such as The Pits (the gateway to Utumno, added in Beta 21), and recently the Ring of Isengard (added in Beta 26), that some consider as "the first major structure to be added to the mod".

Then there are complex handcrafted structures generally stored as schematic data files, which you'll find on numerous websites, such as Planet Minecraft or Minecraft Schematics (this last one is offering storage and ratings but has almost no LOTR themed builds at the moment, though it could be useful later on).

For examples of LOTR schematic files, you can check the awesome works of EpicQuestz, Divici, Edinburgh, Yatyear and many others.

A year ago, I also provided a schematic library library of smaller builds for use with building NPCs, in the Millénaire mod spirit.

But the trouble with schematics files is that they don't generally use the LOTR mod specific blocks and items (especially torches, banners, etc.) and complex builds usually need heavy editing to fit into your existing LOTR maps.

In fact, this last point is critical because all major builds will have to fit in some peculiar terrain, which will be as important as the build itself.

Consider Rivendell, Minas Tirith (with the mountain on its back and the plain before), Helm's deep, Minas Morgul, etc.

For this reason, I think that major builds should be distributed as whole region files, with all their chunks generated (the ChunkBorders mod might come handy to check this).

For example, if you wanted my Orthanc build, you would just have to copy the corresponding r.73.81.mca & r.73.82.mca files into your world/DIM100/region Minecraft folder. If you wanted the whole [http://Nan Curunir Nan Curunir] area (with the Ring of Isengard), you would need the r.7[0-4].8[0-6].mca files.

These region coordinates are the same in all LOTR mod installs, so you could either download them in your folder manually or automatically from some repository, or perhaps have a future version of the mod download official ones at server launch if you configure it to do so.

The main issue with that approach would be cliff issues at region borders (or internal chunk borders if you left ungenerated chunks in the distributed file), because each world has a different seed for terrain generation.

But this is not a show stopper, because even with a constant seed, due to terrain generation algorithm changes that's already happening almost each time there's a new LOTR mod version released and you don't fully re-initialize the terrain: rivers or roads don't fit well at chunk borders and there are cliffs everywhere. And even when you fully re-initialize the terrain, server operators usually just restore previous region files containing builds, instead of copying & pasting builds one by one in the new terrain, which would be incredibly time consuming...

So to improve the distribution of region files, we could use some tools to automatically "smooth" region borders (wouldn't fix rivers and roads though) to at least suppress all cliff effects. There are already tools out there to do that (for example, Bestofboth, although it is not perfect) and others could be written outside of the LOTR mod. It could also be possible to all use some "official" seed, but then players would be able to cheat to find Mithril and other interesting things in single player maps...

Another issue would be the absence of "imported" regular LOTR mod structures in the world/LOTR/LOTR.dat and world/DIM100/data/* files, which would not be "known" to the LOTR mod, but this is not a big deal (apart, perhaps, for Dwarven Mines and Tauredain Pyramids, which can cause crashes).

The new Requests Build requests forum board could be used to showcase, vote and reference the region files shared.

That's about it. I would be interested to have your thoughts on this?