I like seeing landmarks from multiple directions. It helps establish a feel of place and direction, which can be slippery in Minecraft because you don't have your proprioceptive senses.
That's a pretty substantial body of water by post-1.6 Minecraft standards. I'd say it feels like a "sea", as opposed to most modern bodies of water, which feel more like lakes. And it's got enough islands for a little interest. Maybe someday I'll play a game set to have lots of little islands out in the ocean.
Oh, and I have a teaser for you:
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
*certain world for high level female excitement that I may not be able to say here* (It felt more graceful than spamming a bunch of random gibberish letters to show excitement, okay!?)
Are you kidding!?
At first I thought you were trying to show something that would be a secret in your upcoming update related to showing certain things and I was like... "what am I supposed to be looking for" and then I saw the hill and trees and I'm like... a forest? Then I saw the trees and the above reaction happened.
I'm seriously flattered, but please, don't divert too much time or effort away from stuff you want to do unless this is something you really want to.
The angle whereby you're looking up a hill actually minimizes/hides the change. I don't know if it was intentional... but if it was, that was pleasantly sneaky, haha. I'm actually very curious if/how you may consider changing some things due to how 1.18 has wildly different terrain. Even though I know nothing that goes into the coding side of it, I'm super curious about the reasons behind any design choices.
And if you like multiple pictures from different angles of something, you'll probably like my current session I just finished playing since there were a few things I took an extra look at for more pictures.
I've always considered it useful, but it's welcome to hear you confirm that it's appreciated. Unfortunately, all those pictures really balloon what is already a quick pace of content accumulation, so I have to be more picky on what I keep most of the times. But I think my last play session was a bit above what I normally do so you should have more of that in the coming few updates. I played for maybe a couple of hours (or perhaps less like an hour and a half) and ended up with two and half (!?) updates. I knew I was getting more pictures than usual but then I looked at the screenshot folder and was like... "um, oops". That came from doing a map and a half (or not even), and as you know, the majority of the upcoming area is an area I've already been through and showed in the video, so yeah, I'd say I'm going to be showing some upcoming stuff from alternate vantages. I'm a little more willing to do that for places I've shown in a video but not a picture.
I may not have yet numbered my updates, but I've been trying to make references to older ones when I see related things like you do more often. They might not yet be numbered, but I can find them easy since they're posts with spoilers.
It's VERY preliminary and there is a tremendous amount of work to do. Pretty much everything seems to have changed, and it's painful to find anything because the documentation is skimpy to start with, and what little there is is obscured by older (now obsolete) documentation, command blocks, and just plain play. Google is nearly useless.
That was just one tree type out of something like 13, just one per chunk, no variation in size, not properly assigned to biome, and all other trees in all biomes suppressed (easier than repressing them only in the right ones). I haven't figured out how to do the vanilla trees I place sometimes, or the fallen logs. And the sapling system is completely different. Oh, and there's a bug in the light tracking routine - that hillside shouldn't have been bare. The only point is that it can be done.
The pic was surprisingly the best I could do. I was trying to find an angle that clearly wasn't older terrain or RTG but where you could see the trees were big, and where the biome color wasn't too outrageously wrong.
I don't anticipate changing anything due to the terrain changes per se. The things I'm thinking about now is the loss of sub-biomes (which calls for some form of increased variation); whether I should tie the tree composition changes to temperature/humidity or keep it a separate noise; whether tree size should be tied to humidity or kept a separate noise.
Oh, and just to make things a little harder on myself I want to change the small birch tree to have a more birchy shape (real ones are generally more of an elongated balloon; the existing one is more of a Christmas tree shape). And I want that in 1.12, so I have to change it before I port the tree.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
I continue my trip South back across the savanna, and chart the bit of ocean to the South. I suppose a good place to start this update is at the ruined portal I spotted first coming through here.
There's a lot of sheep around it, and three are Brown. There's two that are dark Grey (only one pictured). No Pink sheep, but I wonder what thee chances are that 3/7 are Brown and 2/7 are dark Grey (there may have been more than 7 total but I'm going on what I can confirm pictured, plus the second dark Grey one I know was there).
Time to check the ruined portal.
It held some fairly rewarding stuff. I take it all except for the clock and the flint and steel.
I head South to get the remainder of the ocean on this map. I look East and see this shore. That's the direction I'm be heading in, but in North and South sweeps.
It's forest here, and plains to the very South. I know the dark oak forest is a bit inland.
I end the day on the beach. Time to head North!
About halfway North, I look East and spot the expected dark oak forest. There's a lot of rivers merging (or just doing their typical awkward 1.18 looping) here. It actually fits in this case, being the mouth of a river flowing into the ocean.
Just ahead, we get more into the windswept hills, and there's a a split type cavern opening here. Caves like these, but much larger/wider, are some of my favorite types of caves to start a cave exploration from.
And just ahead is that unique overhanging area of sorts. It has two spawns in it; a creeper and a skeleton. I get closer for a better look, but not too close.
Just beyond that, the hills break for a bit, but there's more windswept hills in the distance. In this small valley clearing is a meeting of quite a bit of biomes.
There's the windswept hills on both ends, a swamp, and forests of numerous types; oak, birch, and dark oak. There's even taiga trees around but I think (?) those are part of the windswept hills.
I certainly wouldn't like biomes this small on the regular; these make even older versions look like they have spacious biomes, but seeing a higher convergence of variety at times is nice, and that does happen.
Just down the hill is this hidden cave.
I draw close to chance a better look (something I wouldn't have done before getting this armor upgrade and enchantments). A creeper that was already visible in the above picture, but I missed, emerges.
Further North is yet another cavern that looks very similar, albeit smaller, to one I found to the West in a previous update.
This area really is full of caves.
The tallest spot of these "1.7 era mountains" is here, and while climbing these cute little things is no difficult task, I still take the path of least resistance and go around it, even if that takes me just off the North of the map.
There's vast forests to the North, but that's for another map on another day.
As I head back South, I discover the taiga trees were indeed also a biome of their own. It's small though, and nearby is the contrasting dark oak forest that's massive in size. I'm also already drawing near to the woodland mansion. The next sweep will probably bring me halfway close to it, meaning I'll probably need to get creative in avoiding it at times.
Boo! Hiss!
For now I head South, and a river gives me a short boating opportunity. I dive off the top of the trees.
This also shows the river as I took it near the end of my last video, and how it also led me to discovering the savanna to the West (right). The river to the South (ahead) leads the way i originally came, and the river North (behind me) leads to the woodland mansion. The split to the West (right) is where I found the ocean, and then the warmer region. You can see how it leads there on the map.
I progress forward and... nothing to see here, let's keep moving. It'd be suuuuch a shame if something happened to that mansion though, oh dear goodness.
To the South, the dark oak forest shifts to regular oak forest, but only for a moment. The plains we saw off the short to the South cut up into this map a bit at this point. Who says there's no flat plains in 1.18!? They're still everywhere! They're just not the only ones you find now (which means yes, there's less, because there's more variety instead of the same flat one every time).
The gradual hill in the distance and the sparse tree near the fog look pretty here. I wonder how far those plains extend, and if there's villages to be found within them? Time will tell.
But I almost miss something in the pocket of forest to the West (my right) if not for seeing something on the map. It's a somewhat large crater cave opening. I get a couple angles of this one as well.
I head into the plains, though I can't go far without leaving the map, and head East to begin another sweep North. The majority of the rest of this map, and much of the next, should be dark oak forest now I imagine. I look South to observe what I can of the plains. No villages visible.
Ugh, that overhang. Now that I'm unlikely to do anything on terrain generation, I finally, just now, thought of a way to address this - distortions in 3D could create complex features while rarely producing goofy stuff. Although perhaps performance would have been bad.
I was wondering if you would tackle a Woodland Mansion in an important Hardcore world. Guess I'll find out reasonably soon.
No, you don't wonder if there are villages to be found in a large Plains area. None of us do, we know the answer.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
It's VERY preliminary and there is a tremendous amount of work to do. Pretty much everything seems to have changed, and it's painful to find anything because the documentation is skimpy to start with, and what little there is is obscured by older (now obsolete) documentation, command blocks, and just plain play. Google is nearly useless.
That was just one tree type out of something like 13, just one per chunk, no variation in size, not properly assigned to biome, and all other trees in all biomes suppressed (easier than repressing them only in the right ones). I haven't figured out how to do the vanilla trees I place sometimes, or the fallen logs. And the sapling system is completely different. Oh, and there's a bug in the light tracking routine - that hillside shouldn't have been bare. The only point is that it can be done.
I know the excitement I give off may contradict what I'm about to say, but don't worry. I might not understand coding in detail, but I do understand that it's not easy to "just get a virtual result working as you want" without effort or time put into it. Until you have something announced, or really until it's something finished and released, I'm not going to hold any expectations against you. I am interpreting this only as a concept, which it sort of is I guess? So I repeat, don't worry or feel pressured or anything (but I'm super excited to see whatever you're willing to try and share at the same time, of course, and even more flattered if you're ever interested in my feedback).
As for the changes, I can only imagine. There were a lot of versions that I think may have changed things a lot. 1.13 ("the flattening"), 1.14 (I think?), and 1.15 (dedicated technical update) come to mind. 1.18 might be another, and then 1.20 too (lighting system changes). Even 1.20.5 seems like it could be a spot of changes, as there were changes to items or IDs or whatever? That's what caused the wandering trader to get messed up trades and 1.20.6 was released basically as a bug fix just for that. It's probably a massive shift from what you were used to with 1.12 and Forge (or maybe I'm making presumptions and you're still using Forge).
This is actually part of reason for the shift in favor towards Sodium over OptiFine in the last couple years (and likewise, Fabric over Forge). It isn't just for the extra performance, although that's a big part of it, but for also its open source nature. OptiFine is closed source by one developer, so what exactly it does is unknown, and if it conflicts with mods, it's a guessing game as to why, and it's slower to update. By contrast, Sodium is open source and has (I think) a handful of developers helping maintain it, and it tends to update within hours or days of a release. I really wish I wasn't married to OptiFine due to my particular use cases that Sodium/Iris don't seem to fit as well with, because I'd like to change over one day, but OptiFine isn't terrible in the meantime. It's just not a huge rendering uplift over vanilla anymore (and part of this is because vanilla has honestly gotten better more than OptiFine getting worse; instead OptiFine just stagnated in a world that got better around it). Anyway, I would have hazarded a guess that it might only be easier for someone to find documentation, support, or help on stuff these days as a result? Perhaps I'm wrong. Modding and coding isn't my area of knowledge.
Something I do know is that there's a couple of terrain generation modifications for current versions, so maybe you can get something out of looking into those? One is Teraforged (and ReTeraforged), but I think that one is sort of not up to date, at least officially, so I didn't look too far into this one besides seeing some videos of it on YouTube showing terrain scale that makes 1.18 look moderate in scale. No kidding, it does to 1.18 what 1.18 does to 1.6. Mountain height, distances, just everything seems so much more grand and way higher in scale. And then people get around the need for the higher necessary higher render distances that such a scale brings by using distant horizons which adds LOD to Minecraft (the big thing with this before was that it didn't work with shaders, and it has support for some now, but it's a shader by shader basis and few or maybe just one I think supports it right now?). I really do think the Fabric ecosystem and this LOD approach could be a big breakthrough in how the game could be played and how terrain generation mods could evolve, but they still have a ways to go. If Sodium/Iris ever become better for me, and if Distant Horizons ever starts working with BSL and Complimentary, I'm jumping over and never looking back. Vast render distances at very minimal performance hit and endless vistas? That's like an end game scenario right there. Anyway, the other mod like that is Terralith, which is the one I've tried. But that one doesn't do what RTG does by radically changing the trees (it does change them, but it "plays it safe" and sticks more to vanilla styles). It's nice for the extra biomes, but what I'm wondering is if there could be room to find an audience in modern Minecraft for something like what RTG does with the trees because there doesn't yet seem to be a mod that does this specifically. Basically a "forest overhaul" update of sorts.
Speaking of the 1.20 stuff, which version were you testing this in? I'm a bit curious if you're noticing a difference in lighting behavior/issues, especially if it's in 1.20 or newer.
I don't anticipate changing anything due to the terrain changes per se. The things I'm thinking about now is the loss of sub-biomes (which calls for some form of increased variation); whether I should tie the tree composition changes to temperature/humidity or keep it a separate noise; whether tree size should be tied to humidity or kept a separate noise.
Yeah, I didn't imagine you'd go after this because RTG's terrain in 1.12 is so wildly different that you'd have to drastically change 1.18's terrain to achieve that (even more than 1.12's terrain needed changed).
One thing that may need consideration is how RTG uses smaller trees on average for higher altitudes. Or at least the scaling would have to be way different with how much higher on average 1.18 goes. You probably wouldn't want the only tall trees to be ones at sea level in 1.18.
Oh, and just to make things a little harder on myself I want to change the small birch tree to have a more birchy shape (real ones are generally more of an elongated balloon; the existing one is more of a Christmas tree shape). And I want that in 1.12, so I have to change it before I port the tree.
I thought RTG was already making some trees like that, wasn't it? I could have sworn I saw some small-medium size ones like that? I thought it was only the very largest ones that were more "large oaky" in shape?
Edit: Here's the two types I remember seeing. The smaller ones (and somewhat even the larger ones) do sort of seem to resemble that shape.
Yes, there have been changes all over the place, and continuing today. 1.13 and the ID changes were probably the very biggest; that's the main reason 1.12 ended up the #1 modding version; there was just a huge number of mods that stopped there because the authors did not want to deal with a complete overhaul (generally right after the complete overhaul 1.8 demanded). A lot of my standard mods stopped there for that reason, including Bibliocraft, Davinci's Vessels, Millenaire, and RTG.
It's a lot harder to find documentation than it used to be. Most of the problem is that there is just so much more non-current-coding info on any query you might do. Sometimes you can search for the procedure names, but Mojang likes generic procedure names these days that call up half the code on the planet. And they've moved hard to functional code, which has a lot of theoretical advantages, and avoids the endless boilerplate java used to be prone to BUT it's far harder to read, and generates absolutely gruesome crash messages.
I have looked at Terraforged, Biomes o Plenty, and a couple of other similar things. Unfortunately the "big boys" end up writing assistance code which in the new system of stacked multiple registries ends up pretty darn opaque. I'm learning more by poking around in the decompiled Mojang code - I found out how to do saplings and vanilla trees today.
1.18's height variation is not much more than RTGs, so I'm not sure how much adjustment is needed. It's not like there are grand forests at y=100 very often. But don't worry, I look at those things.
The two large birch trees have a legitimately "birchy" shape, although now I'm thinking the leaves should be biased upward rather than downward. But the smallest of the birch trees is just using the Cypress code, which is a christmas tree shape (conical). That's the one I want to change. Although, I've decided to get the 1.20 oak forests going in their entirety before tackling that.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
Shows how little I know. My impression was that things seemed to be favoring more open source directions so I though perhaps it'd be better and easier for you to find information, and now I feel like I misled you. It seems like that might not apply to everything. After all, not much good it does if the specific thing you're looking to do doesn't have a ton of examples in the wild to look at.
1.18's height variation is not much more than RTGs, so I'm not sure how much adjustment is needed. It's not like there are grand forests at y=100 very often. But don't worry, I look at those things.
I would have thought it was quite more variable with 1.18?
In any case, I was thinking of how the plateaus (and their ridges), of which trees and forests often grow upon, provide a much more variable baseline to terrain altitude since 1.18. Add in the higher mountains and the height scale seems wider in 1.18.
But I definitely trust you'll be able to to look at the results and see what's what for yourself and then take that in consideration.
It's a lot harder to find documentation than it used to be. Most of the problem is that there is just so much more non-current-coding info on any query you might do. Sometimes you can search for the procedure names, but Mojang likes generic procedure names these days that call up half the code on the planet. And they've moved hard to functional code, which has a lot of theoretical advantages, and avoids the endless boilerplate java used to be prone to BUT it's far harder to read, and generates absolutely gruesome crash messages.
What exactly do you mean by "boilerplate"? I only code in Java 6 (MCP for 1.6.4 doesn't even support newer versions by default, well, you can change the "source/target 1.6" options it sets but I never saw any reason to) and my code is astoundingly compact compared to vanilla, I mean, just look at this, and TMCW adds way, WAY, more content than even 1.8 over vanilla 1.6.4:
It is also very interesting how they reduced the size so much between 1.5 and 1.6; and just HOW did 1.20 grow so much?! I thought 1.8 was insane at the time; I added over 100 new blocks and items in TMCWv5.10 alone, compared to a handful in 1.20.5 (I even have 4 types of wolf armor; iron, gold, diamond, amethyst; 1.20.5's is basically just leather; if I implemented this as well, including dying it, it would only be up to 4-5 KB of additional code even if I copied the "RecipesArmorDyes" class (and adapt the code to handle vanilla's and any new items I might add so there is really only my custom class; this also makes the small size of TMCW even more remarkable since at last count I'd deleted over 200 classes from MCP's sources which are still present in the modded jar itself; that is to say, the modded jar has 2044 files vs 1562 from vanilla, an increase of 482 while MCP's src folder has 1818 vs 1559, an increase of only 259 so there are 223 missing files. Some were deleted to ensure no existing code referenced them (this has happened before), others so it could compile due to changes to class/method/field signatures which invalidate vanilla code or prevent MCP from reobfuscating unmodified classes due to the previous; or just to keep the number down to reduce compilation times, even if only 10-11 seconds).
Not to mention lightweight on memory usage, maybe the most astounding fact about TMCW is that it uses no more memory than vanilla (for the same settings), while I always hear about how much memory mods in particular need, Mojang apparently also recently changed the default allocation, at least for 1.20.5, to 4 GB (some think this is no big deal but I've already seen people who are unable to play due to lack of RAM or even still using a 20 year old computer / 32 bit OS, due to its demographics Minecraft is likely played on much lower-spec systems than most games, even Bedrock Edition has its share of reported performance issues):
Also, this bug report blames Mojang for overusing "method based programming", lambdas or whatever (again, I've never used them since I can't, or see why they would be beneficial, much like using a "blockpos" object instead of separate xyz coordinates, I mean, "y + 1" is way easier to understand for me than "blockpos.up()". My own "blockstate" system is simply "blockID | metadata << 8" and uses simple static final ints which are even inlined at compile time with no object references, extracting them from a variable is just a matter of "blockState & 255" or "blockState >> 8" (of course, within "getBlockId" and "getBlockMetadata" methods, not coded in everywhere, so if I ever needed more than 256 IDs I could simply change two methods to extend it to 4096):
Solution: Stop this Methodbased programming. Yes it looks nicer i give you that but you are slowing everything down. I mean technical players already know that the game is half as fast as it was before, this is 1 reason because of that.
Another thing I've always wondered about, why didn't Mojang ever think of mapping a block name to an ID:metadata pair? That is, in 1.7 you could use block names in commands but you still had to specify damage values, such as "wool 6" for pink wool instead of just "pink_wool". You already have 4096 "blocks" available with metadata and I still have 50 ID remaining despite adding 10 times as many blocks and could hijack more vanilla blocks to add many more (for example, amethyst ore used to be a variant of obsidian, as amethyst blocks still are, the ore no longer is since I added many new ore variants and wanted to use the same data values for all ores. I also added additional metadata support for things like light level, hence I was able to merge many vanilla blocks like furnaces into one (0-7 = idle, 8-15 = burning).
Also, I blame Discord for the lack of online publicly available documentation, everybody seems to only want to use private messaging or other non-public services these days (I still get PMs quite often here and have even thought of just ignoring them, then they might make a real post, like, if they want some details about my mod why don't they just post in the thread?):
How many time you found a mod/pack with only the bare minimum of information on its page, comments turned off, with a link to its Discord server? (And how many times did it turned out that the discord server has an exclusive link to a/few google docs, that has everything you need from that mod/pack?)
But the biggest problem is with discord, is that it isn't indexed on the web. This means even if you figure out the right keywords to use in your browser for what you want, (Unlike if its on the minecraft or ftb forums) if the answer is only on discord, you will never find it. (and if anything happens to the server, everything dissapears, out of the reach of the wayback machine).
(by contrast, I've posted so much information that I had to move individual updates into separate posts since it exceeded the post size limit, plus it reduced the number of fixes I had to keep making every time I edited the OP)
I continue heading North. For some reason, I want to explore plains and feel somewhat sad leaving them behind, but happy knowing I'll have some in the area. For now, we're heading back into forest, and especially dark oak forest.
Minecraft can make some pretty horizon lines with a far enough distance, even with just the typical vanilla trees.
Just a bit within the birch forest is this cave.
The birch forest at this spot is short before shifting back to the dark oak forest.
Time to dive back into the river and then run at ground level through a dark oak forest!? It's rather uneventful, but I take the first easy opportunity to ascend back to the treetops, my favorite spot (random thought; with this forest in particular being so accommodating to this, maybe a treetop passive mob found here and in other trees Mojang?).
Heading North brings the woodland mansion into view, and it's almost in our path.
I descend to the river and spot an awkward but pretty spot where there's apparently a lush cave on the surface.
Time to skirt a woodland mansion and hope I can chart this all with upsetting them.
Amusingly, my earlier fire reference is followed up, and no, I didn't do this one either.
"Burn it down!"
"Boo! Hiss!"
And such... wait, they heard me, so I better not loiter.
I am able to complete the map, but the one to the North will involve more of the mansion.
For now, I can head South and complete this map one one more sweep. I head into the forest and it's dark, but uneventful. Or at least, whatever there may be, I don't notice because I'm just running. I was yelling at the mansion so who knows what may be after me.
I definitely take the first opportunity to get off of the ground though, and give them one last shout.
"Kiss this!"
I'm probably not coming off as too daring yelling that from this distance, but oh well.
"I'm a treetop dweller and you're not!"
Maybe I should work on my insults one day.
While heading South, I look East and get this picture of the ridge. I like the shift from dark oak to birch, and the way the forests can even, you know, exist there. I've said it before and I'll say it now; untying biomes from generation was one of the best things for the game. It's simply a better system.
That will be in the next map. So yes, I'm doing a fourth map also after this!
I also spot the large crater cave opening I almost boated into in my last video a few updates ago.
I need to cross a river heading South, so it's back to the ground. And my lucky streak ends when I see a creeper walk out from behind one tree to another, only to notice me and then give chase.
You better believe my butt got back up in a tree real quick. It looks cute from up here. I almost feel bad for it... almost.
I head south and the ridge to the East slopes down, but in the distance further to the Southeast is another hill with a sparse covering of trees of a regular forest.
For now, the dark oak forest ends (but we're not done with it totally; just for this map) and it's a thin stretch of birch forest, some river networks, and plains to the very Southeast.
Looking East again excites me as I spot a single cherry tree on the side of that recently shown hill. Is this a hint of a vast area of plains, plateaus, cherry groves, and maybe mountains? I know it eventually turns to a cold region to the South but maybe further East I'll see some of that?
Looking East from the Southeast corner shows plains here, and this is where the next map will start from. I'll continue my North to South sweeps, since I know this will better deal with the ridge I have coming up (less climbing up and down I hope).
The point of functional programming ("method-based" is not what I'd call it: I'd use that for object-oriented) is to replace:
public class DamagePreventer {
public DamagePreventer() {
EventBus.INSTANCE.registerListener(new DamageListener);
}
class DamageListener implents DamageEventListener() {
DamageListener() {}
public BlockDamage(DamageEvent event) {
if (somecondition) event.deny();
}
}
with:
public class DamagePreventer {
public DamagePreventer() {
EventBus.INSTANCE.registerListener((event) -> ({if (somecondition) event.deny());});
}
}
So, less typing. Note this also gets the programmer out of specifying a bunch of types. This example is pretty simple, but when the parameters of the closure are closures themselves you quickly get things that look like LISP code, with so many levels of parentheses it becomes totally unclear what is a parameter of what. This can in theory be fixed by aggressive indenting, with every closure on one line and the indentation levels indicating the levels of the call but - it's often not done. And Java has a lot of "mapping" method that do thing like calculate a list of field values for a list of objects and these add to the clutter as the method names are abstract, with the fieldname being buried in code or even worse passed by reference.
It kind of reflects linguistic studies on why languages have seemingly pointless things like gender, subject-verb agreement, cases, and so forth. Turns out redundancy (specifying the subject *and* changing the verb to indicate that subject) improves listening accuracy. But it's a hassle to say all that "correctly" and speakers shortcut sometimes, and the rules of languages end up a compromise between easy-to-say and easy-to-understand. Old old java with "HashMap<integer,dimension> dimensionnumbers = new HashMap<integer,dimension>()" and lots of separate classes for what's now an inner class or closure was too much typing for comprehensibility; but the new functional system goes the other way (as is usually the case with other functional languages);
I know nothing about the internal representations: 90+ of the time the functional example could compile to the same bytecode but that doesn't mean it does. If it has to recompile the bytecode every time the closure is invoked, sure, that will eat up a LOT of time. Streams are more of a problem because they often do something in a way that could be done more efficiently in a traditional method; for example a stream might be restricted with a Predicate and then the result used with a Consumer; that requires two passes through the stream and probably the construction of an intermediate stream. Theoretically an entity like Mojang/Microsoft has the resources to figure out when closure and stream overhead is affordable but - well, we all know how that has gone in the past.
As to minecraft bloat, I haven't looked at the cause, but in mods, bloat is usually the result of having lots of models. Prehistoric Nature, for example, needs 8 gigs on my machine because there are literally thousands of animal and plant models. The "new" (well, not so new anymore) biome-specific villages with their complex varied designs are the kind of thing that really eat up space. And there are a lot more blocks and passive mobs. The general shift to data-driven generation also can eat up space because one routine for a tree gets replaced with a bunch of models.
And yeah, having information on private Discord servers sucks.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
Oops, sorry about burying your post in some kind-off-topic wonky coding discussions!
I love the idea of a treetop passive mob. Squirrels?
Can't illagers also pathfind onto leaves? Or do they not recognize leaves as something they can walk on?
I do see what you mean about larger rivers. I wonder how much of the oversived RTG rivers is from the manipulations to make them curve, which can also (sometimes) stretch or squish them. That wouldn't be affected by changing the base size.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
I'm not sure what animals or critters I had in mind, but the idea of something being atop trees, especially for the dark oak forest biome where there's usually a tree canopy that makes a consistent enough level of its own, seemed like an opportunity. Squirrels could work but they'd need to have a lot of fall damage resistance (rabbits need this badly) and to have a way to climb back up Minecraft's world of trees. And ideally they'd do it enough to where you might see some atop a dark oak forest while also see them scurrying around on the ground in normal forests. I don't know if that's easy to accomplish. Then add some acorns for them to have (plus, I'd feel safer hollering at the pillagers with squirrels to toss acorns at them by my side!).
I don't know if pillagers are prevented from pathfinding on leaves, but often you have to jump at points and they probably won't do that. Just a house with a door too far away trips villagers up from pathfinding (I guess the AI range needs increased but that would mean more performance I guess).
And yeah, the rivers are a mixed case. I love the width and depth of vanilla ones, but RTG does a better job at making them navigable for traveling or exploring large distances (the interrupts from hills aside). My ideal rivers would be a mix of the two. I'd love to see Mojang make rivers capable of different altitudes so the high terrain (plateau) areas have a mix of rivers cutting through them and some high altitude ones. Then connect them to sea level terrain rivers with waterfalls.
As to minecraft bloat, I haven't looked at the cause, but in mods, bloat is usually the result of having lots of models. Prehistoric Nature, for example, needs 8 gigs on my machine because there are literally thousands of animal and plant models. The "new" (well, not so new anymore) biome-specific villages with their complex varied designs are the kind of thing that really eat up space. And there are a lot more blocks and passive mobs. The general shift to data-driven generation also can eat up space because one routine for a tree gets replaced with a bunch of models.
Surely at least some of them can be condensed; I even went so far as to share the same "closed chest" model across all types of chests, and, of course, vanilla entity variants like rabbits just change the texture applied to a single model (babies just apply scale changes to the model at render time). I heard that vanilla 1.8+ actually uses a separate block model for literally every single block even though most can share the same few models, unless it is changed with a resource pack (a simple matter of checking if the model was changed and if not assign it to a generic cube/slab.stair/etc model). Surely though, they have to be extremely inefficient if they really add up to gigabytes of memory, the actual data as uploaded to OpenGL uses 28 bytes per vertex, 112 bytes per face/quad and 672 bytes per cube; times a thousand and you are still only looking at 672,000 bytes, and with some optimization common vertices can be merged (so a cube is 8 instead of 24).
Also, they don't actually store structure data as volumetric block arrays (I presume so)? That definitely can use way more space than some simple loops; for example, I generate fossils like this; the entire class for generating 22 types of fossils (8 Overworld + 14 Nether) is 35 KB (which compiles to about half the size and compresses even further):
private void generateSpine1(WorldGenChunkCache chunkCache)
{
this.dimX = 2;
this.dimY = 2;
this.dimZ = 12;
if (this.isLocationValid(chunkCache))
{
for (int z = 0; z <= 12; ++z)
{
// Spine
this.setBlock(chunkCache, 1, 2, z, NORTH_SOUTH);
// Ribs
if ((z & 1) == 1)
{
for (int y = 0; y <= 1; ++y)
{
this.setBlock(chunkCache, 0, y, z, UP_DOWN);
this.setBlock(chunkCache, 2, y, z, UP_DOWN);
}
}
}
}
}
private boolean generateNetherFossil1(WorldGenChunkCache chunkCache)
{
// Note that dimensions are set for a minimum size of 3x3x3 even if fossil is smaller as this is used for the valid space check
this.dimX = 3;
this.dimY = 3;
this.dimZ = 4;
if (!this.isNetherLocationValid(chunkCache)) return false;
for (int y = 0; y <= 1; ++y)
{
this.setNetherBlock(chunkCache, 0, y, 0, UP_DOWN);
this.setNetherBlock(chunkCache, 3, y, 0, UP_DOWN);
this.setNetherBlock(chunkCache, 0, y, 2, UP_DOWN);
}
this.setNetherBlock(chunkCache, 3, 0, 2, UP_DOWN);
this.setNetherBlock(chunkCache, 0, 0, 4, UP_DOWN);
this.setNetherBlock(chunkCache, 0, 2, 0, UP_DOWN);
this.setNetherBlock(chunkCache, 1, 3, 0, EAST_WEST);
return true;
}
For perspective, this is a partial list of classes by size as well as a comparison of the vanilla 1.6.4 source with my own, which tends to be much larger per class file (I usually group together related features rather than using separate files), with a total size that exceeds that of vanilla with only a third of the classes:
Of course, it isn't surprising that one of the largest classes is for generating caves, the largest is equivalent to vanilla's "RenderBlocks" class and contains rendering code for most blocks, with many of my own blocks having it in their own classes (I made one of the vanilla render types redirect to a custom method). This is still a lot smaller than it might be due to extensive code reuse, for example, slabs simply change their dimensions and use a generic "render cuboid block" method; stairs add a bit of setup but still mostly reuse code, etc:
Also, I've heard that since 1.8 it is no longer possible (at least efficiently) to use fully dynamic rendered block models, that is, my "real trees in flowerpots" feature generates the tree itself just like one made of actual blocks, setting points in an array which is then looped over and each point is rendered as a miniature block, with upwards of thousands of such "blocks", and each tree is unique (the coordinates are used as a seed):
The 5th row from the top also shows huge mushroom models (one color only) and saguaro cactus, several more plants/models were since added, including a dead bush model which looks like a dead tree:
Note that these are tile entities but do not use a TESR, nor do any other blocks that I've added (I also made beds, doors, fence gates, and buttons use tile entities to store their variant; any reasonable use of these won't have any performance impact, if anything the chunk update lag spikes caused by too many tree flowerpots are due to OpenGL being too slow to process the data given to it, something which plagues even modern versions, maybe not as bad due to multithreading (the time taken to generate and render the mesh itself is usually only a fraction of the total time a chunk update takes; 12 "mega tree" flowerpots took 2 ms to render, 33 ms to upload).
I'll also note that I substantially reduced the number of textures required for various blocks by using overlays or colored textures; all ores have a transparent overlay which is placed over a base texture which is derived from the block it appears as (stone, sandstone, hardened clay, snow, etc) and stalactites are simply flipped around with hardened clay variants taking on the color of hardened clay they are placed on, requiring only one set of textures instead of 17 (4 vs 68 total textures). Beds have 5 base textures and 5 overlay textures which are colored one of 16 colors, and only adds 4 to vanilla's 6 textures (the top of the feet doesn't need a base and likewise the end of the head doesn't need an overlay, the bottom itself is taken from oak planks). By contrast, when Mojang added colored beds they gave each one its own texture, which is 64x64, so equivalent to a total of 256 16x16 textures, which far exceeds even the 96 I'd need if I gave each color its own textures. Not only that, they use a TESR / entity models, with all their inefficiencies (e.g. the performance difference between barrels and chests):
The 32x32 textures in the upper-left are signs, which either render like standard blocks (wall signs and hanging signs) or use a custom model (standing signs), below that you can see bed textures; elsewhere you can see various ore (some have more than one overlay) and stalagmite textures, a total of 4 textures per set of small-giant variants, hardened clay (hard to make out) is in the column of stalagmite textures near the middle. Also, water looks different since I reduced its saturation to enable a wider variety of colors; there is also a separate set of block breaking textures for translucent blocks to fix rendering issues with them:
A look at some of the blocks in-game; there are a total of 168 variants of stalagmite, a staggering 336 textures if every one had its own (these design choices were less about conserving memory/texture space than not having to make all those textures! For comparison, there are actually 48 stalagmite textures out of a total of 363 new block textures so this change alone nearly halved the total otherwise needed):
There are 73 ore variants but most only use a single overlay, two for ones that need more contrast with a base texture (sandstone and gold/iron, ice and diamond), plus nether gold ore (which also uses an overlay, with a simple code change I could add netherrack variants for other ores, actually, you can obtain them with /give, which allows "illegal" data values, but they won't have the correct name):
One thing that is different between 1.6.4 and newer versions (since 1.8) is that there are separate texture atlases for blocks and items, this means that some people could no longer use higher resolution texture packs (the width of the combined blocks+item texture atlas has been 1024 since 1.8, compared to 512 before). It is also notable how few new items I've added as opposed to blocks, with space for 19 more textures before the atlas needs to be enlarged, part of this is also because I made many blocks drop themselves instead of separate items, such as beds, doors, and signs (you can still see the vanilla door and sign, as well as my original "glow sign" since I kept them in for backwards compatibility, otherwise, I completely removed many such items in TMCWv5):
Squirrels could work but they'd need to have a lot of fall damage resistance (rabbits need this badly
They could just make them immune to fall damage, I also made them immune to cactus for similar reasons, or at least increase the distance mobs which move by jumping can fall before taking damage (I increased this to 4 for slimes since jumping adds a bit over one block to the total fall distance). I'll also note that if they ever fix MC-130639 they will definitely want to change the fall damage calculation, in vanilla you can jump off a 2 block high drop and not take damage even though you fell about 3.25 blocks and fall damage is rounded up (i.e. anything more than 3 should become 4, dealing 1 damage). While I didn't notice the change when I fixed it myself I somebody pointed out that it was too easy to take fall damage, and indeed, you now took damage when jumping off a 2 block high drop (3 blocks was still fine as long as you just walked off it and is what I'd tested to verify the fix), which I "fixed" by increasing the safe fall distance to 3.3 blocks ("fixed" since technically the new behavior was what was originally intended but I think most will agree it is too easy to take fall damage*; this bug is also why you can fall 23 blocks and not die since the game is off by more than an entire block due to missing out on a tick of fall distance).
*This is one reason why I added a "Long Fall" enchantment which increases the distance you can fall without taking damage, I even recently buffed it to 2 blocks per level, up to 11 total (for comparison, when combined with Protection, which by itself reduces damage by 60%, or up to 53 blocks (64% / 58 blocks in 1.9+), Feather Falling lets you fall up to 83 blocks (103 in 1.9+) and Long Fall is up to 61 blocks (previously 57, this is only additive and 24 blocks is around the crossover point where Feather Falling is more effective above and Long Fall below).
Also, vanilla already halves the fall damage taken by horses (they can fall twice the distance before taking damage and take only half the damage afterwards. It is also important to note that they naturally regenerate health so minor damage here and there can be overcome; I made all mobs, except those which otherwise naturally regenerate, very slowly regenerate health (about once every 7 minutes if they haven't taken damage for 5 minutes) for the same reason).
Starting on the next map, and what should be the final for now, I head North from a starting spot of the Southwest corner.
The plains has been pushing Northward as I move East, and if that continues, a good portion of the map to the east might plains. perhaps maybe higher altitude with more plateaus as the small hill here may hint.
That single tree is sad. Yes, that's seemingly all it is. I have my own submission for "world's smallest cherry grove" now. I've definitely seen a small one (or two) before, but I don't think any were a single tree yet.
Further East is still showing just plains.
But for now, it's forest and then more dark oak forest to the North. Of course this means it's treetop time.
Looking East, I see another ridge in the distance between the small hill and the start of the nearby ridge I'll be next to shortly, and it's full of forest and has a village in it.
You may need to look at the full size image but there's a pair of churches there.
Here's the start of the ridge I'm near, and the rest of the dark oak forest to the North.
I come across the large crater cave opening that I almost fell into from the river. I said about the last one I showed in the prior update, but I was mistaken then. That was simply a different large cave opening. This one is unmistakably it.
I yell insults one final time, since this will probably be the final time I see it until I do the maps to its North.
Shortly East, the dark oak forest ends and there's a cute beach here, which a really, really lovely little bay. There's a shipwreck in the distance, but I won't go for it yet. It will probably be halfway between this pass and the next so I'll have to go out of my way either way, and I decide not to do it yet.
I'm noticing the return of the taiga trees (left). I know there's a Cold region to the North, and also one to the South. The one to the North was running diagonally South and East the last time I saw it. A possibility occurs to me. Remember the very large cold region along the Western edge of the Southern region? That was either one very large region, or possibly two overlapping. I'm now wondering that might be the case here. I'll find out as I head East.
The second picture is pretty. I love how terrain generation can do stuff like this now.
As I head up the ridge in front of me, I look East. The forest is yielding to grasslands here, so I expect my earlier guess of more plains to the South and East was right.
From the top of the ridge, I get a better overview of what's ahead. For one thing, the village is. I notice more meadow to the Southeast (left).
Immediately ahead is this. I spotted it well in advance, but let's watch our stop, shall we? Stuff like this is why my enchantments will be very welcome. This fall would likely hurt and be very panic inducing, and follow up from creepers or mobs would be a concern, but not a guaranteed death anymore.
The little valley here is rather pretty.
At first I don't think much of the village, but I'm running right by the bells... so I just have to!
I then decide to check it for hay, and shockingly, there's none. None at all. Zero.
There's another congregation site with bells, though.
Heading North puts that little hill (with the single cherry tree) in my path, and there's a cave at the base on this side.
From the top, I get another overview of the terrain ahead. I'm now one sweep worth of exploration distance from my starting spot, and it's still simply plains I see.
There's further plateaus to the East. For some reason, this picture reminds me of something I've consciously felt but never realized until thinking about it now; Minecraft terrain generation since 1.18 somewhat resembles the world of Final Fantasy IX. There's lot of plains, ridges, and plateaus creating multiple common altitude levels, with mountains further atop those. No wonder I love it!?
The second image is my example of something Zeno (and myself many times prior)have lamented; the short mapping distances. See the ravine looking cave just ahead near the edge of the render distance? That's just on the tip of the South edge of the map for reference, and I can see just beyond it (so I'm basically seeing a hair beyond the edge of the map), yet my map doesn't even show halfway to that point. Even at "just" a render distance of 24, this is pretty painful.
Making my down the hill, and by the lonely cherry tree, I see there's a cave opening here.
And in the plains, here's the ravine looking cave which isn't actually a ravine. That's a very deep fall!
I'll end here. The next update starts with a surprise of sorts (and I'm barely any further in actual play anyhow).
So the surprise was that the plains turn to snow to the East! There is indeed a cold region here!
There's a pretty big cave in the side of the ridge, and while it's somewhat out of the way, I check it out since I'll miss it otherwise.
Somehow I think a zombie from 1.6 got in here. It detected me from all the way down there!
I started heading North and there's higher terrain ahead. A river runs through the terrain and is right where I'm heading, so I follow it.
And there's more caves here.
The river has an unusual end, with another cave just past the hill it ends at.
I head up the ridge to my right, and look further East to see confirmation of much more of a snowy region, so it's not just at that one spot.
There's yet another cave up here.
From up here, there's a single spot on the bit of land across the river to the South! Uh! I'd have to climb down, then back up, for like one spot!? Thankfully, climbing down is close enough to chart it, so I then follow the river North, which leads to the ocean and the shipwreck I spotted in the prior update.
It's quite buried with gravel and stone. I wouldn't be able to do this without respiration at least, and aqua affinity is proving useful too.
I have to discard some things to get everything I want, but it's worth it.
I head East and catch a pretty sunset glowing on the ice.
I am slow to make it to land to sleep, so the next morning, this is shown to have had time to spawn.
"I'm sorry! I tried to be faster! Your pain is my fault!"
I head South now towards what I expect is the last of the non-snowy region.
There's... mountains? If you want to call them that; they're tiny! Time to put my winter boots on in any case.
This, too, has a cave. I should call it the ice caverns!? In that case, I'll stay out. I know what's in there.
I look Northwest from the top of the hill/mountain and spot another shipwreck... although it doesn't look too wrecked. This gives me an overview of the Northern half of the remainder of the map.
Now to the remainder of the South.
I first get one last look East towards the Greener pastures.
To the South, two things of interest reveal themselves.
The first are ice spikes! I found more!
The other is a village.
I make the final sweep North and it's pretty uneventful as I go over the hill and head into the frozen ocean already shown. I reach the ship, and besides having struck an iceberg, it doesn't look too wrecked.
With that, the final map is complete. It's time to head home and fine out where, exactly, I've been.
I make my way back and guess where I may have been, largely by trying to see where ocean is near the edge of the map. This seems too far South though?
Hm, yes, it is.
But I wasn't far off. It turns out it belongs only one row higher, which is still a bit further South than I thought I was.
Now normally I would be waiting for the full update to show this added here, and would only be showing this on the region map, but... I don't have a region map yet! I need a home still!
So I start considering where I'll have this region be.
This is looking at the map "rotated" as I'm looking East here instead of North. So the following regions are listed in width by height, but they are reversed as a result of the flipped map. Keep in mind that I have 21 blocks/maps worth of space from North to South (right to left in these images), which gives a combination of 6, 6, and 9 if I want to evenly ill them with regions. With that in mind, I decide I have three ideal options.
The first is that I could align the new region starting from the Southern edge of the map. It would have to be a 6 x 9 region (longer North and South rather than East and West). Otherwise, my currently explored strip doesn't fall within it.
The second and third are to align it as the middle region. One would simply my 6 x 9 still, and the other would be 9 x 6.
I'm not entirely forcing myself to align this in perfect orientations because I am going to have some spots that will need done as "leftover" either way, and the orientation will just change where that ends up. But I'm going to go with one of these, I think, and the second or third are the ones that seem more appealing to me.
Where I'm going to settle though... I don't yet know. For now, I'm going to head back out and do another row of four maps to the immediate North of what I just did. Maybe this will like the start of the world where I explore a bit before finally deciding on a spot.
After all, I had already known where I wanted to settle in the Southern region (and it just happened to line up well) since I had explored it before, but I won't always have that luxury. To the contrary, I almost never will.
Surprises are good in exploration. I also approve of the relatively large amount of water on your maps.
It's almost looking like a base where you're been exploring is far enough to the side it could be used to explore two regions? Although I enjoy your bases.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
Yes, there's a lot of ocean, and that might speed up some of my explorations, which might be good since I'm already having to slow play to not get too far ahead. I'm thinking of using the extra time to play through Final Fantasy IX again; it's been a while and I have that itch again. On the other hand, the last one I replayed was X and I was intending to do both it and X-2 (I like to do them together) and I never completed that duo. I think I stopped very near the end of X doing all the "post-game" sort of stuff but I forget. It's been even longer since I did VIII and while that's considered a Black sheep of the series by some, it's my guilty pleasure. Probably going to do IX though because I tend to like to replay through that one again in pauses no longer than every couple/few years between and it's.... been way too long. Anyway...
That's an interesting thought because now that I have the nether, travel between my home region and this one isn't yet that bad, but traveling that extra distance in the overworld back and forth to do outings so repeatedly is that bad. I feel like a 9 x 6 (or 6 x 9) region size is perfect because if my base is close to the center, or at least not right on the edge, then I feel like it stops just shy of getting to the point where outings from that region's shelter to the rest of the region is too long. But if I was doubling the size of the region, it would feel too long.
So even with faster travel times between my home region and outer regions (which reduces the original need I had to limit region map sizes), I'm still not going to do regions larger than that by default.
Edit: Putting (a lot!) more thought into it, I would want to do one of my first two region examples, because the last one will set things up more awkwardly in the future. Nothing I couldn't do if I wanted to, but that's leaning me towards 1 or 2. If I go with 1, I can make a home in the ice spikes region. If I go with 2, that would be on the very edge (or even just off of) the map. I'll continue my current outing and then try and decide between which of the two I want to do. At worst, I'll be undecided and do a third and final row of four to the South (as this would fall within either region) and then be forced to decide. I think I'm slightly leaning towards the first now instead though.
I've gotten soooo far ahead (like... eight updates worth at least I think?), but maybe that's not a bad thing. Sort of minor spoiler; I've more or less settled where the region will be and most likely where my next location will be (not exact, but approximate).
But first, there's another outing to get started on. I'm doing the the row of maps just above the one I just did. Since the portal comes out sort of near the center, I decide to just start one of the middle maps, and... I accidetally start the one on the left and wanted to start the one on the right first. So I move East and create another. No harm since I needed both anyway, but the marker had me think I was off the map and while I knew I was close to the border and may not be, I guesstimated (incorrectly).
To start, I'll head North and then likely back South I decide.
The warmer climate shifts to temperate here, and there's a flower forest! But I notice on my map some Red, which is a likely ruined portal, and indeed it is.
It's rather sparse on rewards, but any is better than nothing. I take the obsidian and the iron nuggets.
The plains then shift to forest, but only briefly. Soon they give way to ocean. Remember there's a massive ocean comprising of most of the two maps to the row South of this, so it seems it extends East here.
I continue North and it isn't long before the ocean reveals more land in the distance. There's more dark oak forest here. Another woodland mansion would be funny!
The land is on the next map though, so no exploration of it for now. I head back South and then come back to the plains I started in, and that "1.7 era mountains" I wrapped around at the start of the region's adventure comes into view.
I remember from earlier I caught a view from high altitude a ways into the map I'm now doing, and it was a lot of forest.
I decide to move to an East and then West sweep, doing the "L shape" passes I've gravitated more towards at times. The forest shifts to the expected dark oak forest, as this is near where the woodland mansion is. I get to tease them more! I mean... I'm very afraid of them.
Very early on, this friend reminds me of why I treetop all the time.
It's actually not just for the safety, but the vision.
This is seemingly as close as I'll have to get. Not as close as I thought I'd have to from the last map.
Sprawling dark oak forests in vales can be a pretty sight.
I have quite the descent to make here.
I know I shouldn't... and I try to find another way, but most add time, or worse, risk...
I fall and am surprised at the mere half a heart of damage I take, which is instantly recovered due to regeneration (regeneration is way too soon and fast in my opinion).
There's a fire North, which is curious. This is the little bit of ocean were I was seen landing at this dark oak forest when I first discovered it in my last video.
I head West and it begins raining, so I'm especially glad I'm in the treetops. The dark oak forest becomes birch, which means that might not be as viable, but I try at the start. To the North is more forest and hills and ridges, and I spot this cavern opening. I want to investigate it closer, but not now when it's raining, so far away, and close to evening. Unfortunately, the check I intend to do when I pass by it later on in the map is forgotten.
Just ahead is a ruined portal, which are far easier to spot with it raining. This one is better on rewards, having some golden carrots.
Heading North is an interesting isthmus of a beach separating ocean on one side, and a river on the other, and there's a lot of turtles here. I wonder if the river connects the ocean to East almost to this one to the West.
From the ocean in the Northwest, I spot another ruined portal, this one making its presence known because it sits in grand fashion atop a ridge and pokes above the forest. It's one of the bigger ones. You'll likely have to see the full size image to notice it, but it's just above my cursor.
I do another L shape pass, which are getting increasingly shorter as I draw near the end of the map. The river does indeed nearly connect them as I though, so I use Zeno's approach and follow it, and get another look at the same portal heading back.
I then reach the portal and it's exactly on a ridge, a pointed top of a hill with forest and the area is very attractive. This portal also has some nice rewards even though it's low on quantity. One of which is a golden apple.
I move to finish the rest of the map, and this cave is found in the forest.
The forest begins shifting to taiga, which isn't unexpected. I know eventually it shifts cold in the East, after all.
I conclude the map by charting the ocean in the Northeast, which brings us to that cliff along the ocean with taiga forest atop it.
This is where the next map where start. I notice now it has regular forest behind it, so perhaps it won't all be taiga. Taiga is nice... but endless vastness of it isn't my favorite. It's a strange forest because while it's sometimes taller than normal forests (at least the old growth variants, which this is not), it fixes what I dislike about forests visually, but it still has the flaw of low visibility and low canopies (at least the non-old growth variants do).
That fall would have been a good time to practice your bucketing skills.
With all those lakes about you should be able to to pretty well with water transport. The new rivers are usually too crooked and windy to be useful for long-distance transport but when lakes (I just can't call them "oceans") connect them up you can find routes.
3 ruined portals in one episode. Too many! It's like it's the ruins of a society which used nether connections to get to the grocery store.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
I like seeing landmarks from multiple directions. It helps establish a feel of place and direction, which can be slippery in Minecraft because you don't have your proprioceptive senses.
That's a pretty substantial body of water by post-1.6 Minecraft standards. I'd say it feels like a "sea", as opposed to most modern bodies of water, which feel more like lakes. And it's got enough islands for a little interest. Maybe someday I'll play a game set to have lots of little islands out in the ocean.
Oh, and I have a teaser for you:
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
*certain world for high level female excitement that I may not be able to say here* (It felt more graceful than spamming a bunch of random gibberish letters to show excitement, okay!?)
Are you kidding!?
At first I thought you were trying to show something that would be a secret in your upcoming update related to showing certain things and I was like... "what am I supposed to be looking for" and then I saw the hill and trees and I'm like... a forest? Then I saw the trees and the above reaction happened.
I'm seriously flattered, but please, don't divert too much time or effort away from stuff you want to do unless this is something you really want to.
The angle whereby you're looking up a hill actually minimizes/hides the change. I don't know if it was intentional... but if it was, that was pleasantly sneaky, haha. I'm actually very curious if/how you may consider changing some things due to how 1.18 has wildly different terrain. Even though I know nothing that goes into the coding side of it, I'm super curious about the reasons behind any design choices.
And if you like multiple pictures from different angles of something, you'll probably like my current session I just finished playing since there were a few things I took an extra look at for more pictures.
I've always considered it useful, but it's welcome to hear you confirm that it's appreciated. Unfortunately, all those pictures really balloon what is already a quick pace of content accumulation, so I have to be more picky on what I keep most of the times. But I think my last play session was a bit above what I normally do so you should have more of that in the coming few updates. I played for maybe a couple of hours (or perhaps less like an hour and a half) and ended up with two and half (!?) updates. I knew I was getting more pictures than usual but then I looked at the screenshot folder and was like... "um, oops". That came from doing a map and a half (or not even), and as you know, the majority of the upcoming area is an area I've already been through and showed in the video, so yeah, I'd say I'm going to be showing some upcoming stuff from alternate vantages. I'm a little more willing to do that for places I've shown in a video but not a picture.
I may not have yet numbered my updates, but I've been trying to make references to older ones when I see related things like you do more often. They might not yet be numbered, but I can find them easy since they're posts with spoilers.
It's VERY preliminary and there is a tremendous amount of work to do. Pretty much everything seems to have changed, and it's painful to find anything because the documentation is skimpy to start with, and what little there is is obscured by older (now obsolete) documentation, command blocks, and just plain play. Google is nearly useless.
That was just one tree type out of something like 13, just one per chunk, no variation in size, not properly assigned to biome, and all other trees in all biomes suppressed (easier than repressing them only in the right ones). I haven't figured out how to do the vanilla trees I place sometimes, or the fallen logs. And the sapling system is completely different. Oh, and there's a bug in the light tracking routine - that hillside shouldn't have been bare. The only point is that it can be done.
The pic was surprisingly the best I could do. I was trying to find an angle that clearly wasn't older terrain or RTG but where you could see the trees were big, and where the biome color wasn't too outrageously wrong.
I don't anticipate changing anything due to the terrain changes per se. The things I'm thinking about now is the loss of sub-biomes (which calls for some form of increased variation); whether I should tie the tree composition changes to temperature/humidity or keep it a separate noise; whether tree size should be tied to humidity or kept a separate noise.
Oh, and just to make things a little harder on myself I want to change the small birch tree to have a more birchy shape (real ones are generally more of an elongated balloon; the existing one is more of a Christmas tree shape). And I want that in 1.12, so I have to change it before I port the tree.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
Season 4: Episode 6
I continue my trip South back across the savanna, and chart the bit of ocean to the South. I suppose a good place to start this update is at the ruined portal I spotted first coming through here.

There's a lot of sheep around it, and three are Brown. There's two that are dark Grey (only one pictured). No Pink sheep, but I wonder what thee chances are that 3/7 are Brown and 2/7 are dark Grey (there may have been more than 7 total but I'm going on what I can confirm pictured, plus the second dark Grey one I know was there).
Time to check the ruined portal.
I head South to get the remainder of the ocean on this map. I look East and see this shore. That's the direction I'm be heading in, but in North and South sweeps.
It's forest here, and plains to the very South. I know the dark oak forest is a bit inland.
I end the day on the beach. Time to head North!
About halfway North, I look East and spot the expected dark oak forest. There's a lot of rivers merging (or just doing their typical awkward 1.18 looping) here. It actually fits in this case, being the mouth of a river flowing into the ocean.
Just ahead, we get more into the windswept hills, and there's a a split type cavern opening here. Caves like these, but much larger/wider, are some of my favorite types of caves to start a cave exploration from.
And just ahead is that unique overhanging area of sorts. It has two spawns in it; a creeper and a skeleton. I get closer for a better look, but not too close.
Just beyond that, the hills break for a bit, but there's more windswept hills in the distance. In this small valley clearing is a meeting of quite a bit of biomes.
There's the windswept hills on both ends, a swamp, and forests of numerous types; oak, birch, and dark oak. There's even taiga trees around but I think (?) those are part of the windswept hills.
I certainly wouldn't like biomes this small on the regular; these make even older versions look like they have spacious biomes, but seeing a higher convergence of variety at times is nice, and that does happen.
Just down the hill is this hidden cave.
I draw close to chance a better look (something I wouldn't have done before getting this armor upgrade and enchantments). A creeper that was already visible in the above picture, but I missed, emerges.
Further North is yet another cavern that looks very similar, albeit smaller, to one I found to the West in a previous update.
This area really is full of caves.
The tallest spot of these "1.7 era mountains" is here, and while climbing these cute little things is no difficult task, I still take the path of least resistance and go around it, even if that takes me just off the North of the map.
There's vast forests to the North, but that's for another map on another day.
As I head back South, I discover the taiga trees were indeed also a biome of their own. It's small though, and nearby is the contrasting dark oak forest that's massive in size. I'm also already drawing near to the woodland mansion. The next sweep will probably bring me halfway close to it, meaning I'll probably need to get creative in avoiding it at times.
Boo! Hiss!
For now I head South, and a river gives me a short boating opportunity. I dive off the top of the trees.
This also shows the river as I took it near the end of my last video, and how it also led me to discovering the savanna to the West (right). The river to the South (ahead) leads the way i originally came, and the river North (behind me) leads to the woodland mansion. The split to the West (right) is where I found the ocean, and then the warmer region. You can see how it leads there on the map.
I progress forward and... nothing to see here, let's keep moving. It'd be suuuuch a shame if something happened to that mansion though, oh dear goodness.
To the South, the dark oak forest shifts to regular oak forest, but only for a moment. The plains we saw off the short to the South cut up into this map a bit at this point. Who says there's no flat plains in 1.18!? They're still everywhere! They're just not the only ones you find now (which means yes, there's less, because there's more variety instead of the same flat one every time).
The gradual hill in the distance and the sparse tree near the fog look pretty here. I wonder how far those plains extend, and if there's villages to be found within them? Time will tell.
But I almost miss something in the pocket of forest to the West (my right) if not for seeing something on the map. It's a somewhat large crater cave opening. I get a couple angles of this one as well.
I head into the plains, though I can't go far without leaving the map, and head East to begin another sweep North. The majority of the rest of this map, and much of the next, should be dark oak forest now I imagine. I look South to observe what I can of the plains. No villages visible.
Ugh, that overhang. Now that I'm unlikely to do anything on terrain generation, I finally, just now, thought of a way to address this - distortions in 3D could create complex features while rarely producing goofy stuff. Although perhaps performance would have been bad.
I was wondering if you would tackle a Woodland Mansion in an important Hardcore world. Guess I'll find out reasonably soon.
No, you don't wonder if there are villages to be found in a large Plains area. None of us do, we know the answer.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
Sorry, I was in a rush to make the update and missed your reply.
I know the excitement I give off may contradict what I'm about to say, but don't worry. I might not understand coding in detail, but I do understand that it's not easy to "just get a virtual result working as you want" without effort or time put into it. Until you have something announced, or really until it's something finished and released, I'm not going to hold any expectations against you. I am interpreting this only as a concept, which it sort of is I guess? So I repeat, don't worry or feel pressured or anything (but I'm super excited to see whatever you're willing to try and share at the same time, of course, and even more flattered if you're ever interested in my feedback).
As for the changes, I can only imagine. There were a lot of versions that I think may have changed things a lot. 1.13 ("the flattening"), 1.14 (I think?), and 1.15 (dedicated technical update) come to mind. 1.18 might be another, and then 1.20 too (lighting system changes). Even 1.20.5 seems like it could be a spot of changes, as there were changes to items or IDs or whatever? That's what caused the wandering trader to get messed up trades and 1.20.6 was released basically as a bug fix just for that. It's probably a massive shift from what you were used to with 1.12 and Forge (or maybe I'm making presumptions and you're still using Forge).
This is actually part of reason for the shift in favor towards Sodium over OptiFine in the last couple years (and likewise, Fabric over Forge). It isn't just for the extra performance, although that's a big part of it, but for also its open source nature. OptiFine is closed source by one developer, so what exactly it does is unknown, and if it conflicts with mods, it's a guessing game as to why, and it's slower to update. By contrast, Sodium is open source and has (I think) a handful of developers helping maintain it, and it tends to update within hours or days of a release. I really wish I wasn't married to OptiFine due to my particular use cases that Sodium/Iris don't seem to fit as well with, because I'd like to change over one day, but OptiFine isn't terrible in the meantime. It's just not a huge rendering uplift over vanilla anymore (and part of this is because vanilla has honestly gotten better more than OptiFine getting worse; instead OptiFine just stagnated in a world that got better around it). Anyway, I would have hazarded a guess that it might only be easier for someone to find documentation, support, or help on stuff these days as a result? Perhaps I'm wrong. Modding and coding isn't my area of knowledge.
Something I do know is that there's a couple of terrain generation modifications for current versions, so maybe you can get something out of looking into those? One is Teraforged (and ReTeraforged), but I think that one is sort of not up to date, at least officially, so I didn't look too far into this one besides seeing some videos of it on YouTube showing terrain scale that makes 1.18 look moderate in scale. No kidding, it does to 1.18 what 1.18 does to 1.6. Mountain height, distances, just everything seems so much more grand and way higher in scale. And then people get around the need for the higher necessary higher render distances that such a scale brings by using distant horizons which adds LOD to Minecraft (the big thing with this before was that it didn't work with shaders, and it has support for some now, but it's a shader by shader basis and few or maybe just one I think supports it right now?). I really do think the Fabric ecosystem and this LOD approach could be a big breakthrough in how the game could be played and how terrain generation mods could evolve, but they still have a ways to go. If Sodium/Iris ever become better for me, and if Distant Horizons ever starts working with BSL and Complimentary, I'm jumping over and never looking back. Vast render distances at very minimal performance hit and endless vistas? That's like an end game scenario right there. Anyway, the other mod like that is Terralith, which is the one I've tried. But that one doesn't do what RTG does by radically changing the trees (it does change them, but it "plays it safe" and sticks more to vanilla styles). It's nice for the extra biomes, but what I'm wondering is if there could be room to find an audience in modern Minecraft for something like what RTG does with the trees because there doesn't yet seem to be a mod that does this specifically. Basically a "forest overhaul" update of sorts.
Speaking of the 1.20 stuff, which version were you testing this in? I'm a bit curious if you're noticing a difference in lighting behavior/issues, especially if it's in 1.20 or newer.
Yeah, I didn't imagine you'd go after this because RTG's terrain in 1.12 is so wildly different that you'd have to drastically change 1.18's terrain to achieve that (even more than 1.12's terrain needed changed).
One thing that may need consideration is how RTG uses smaller trees on average for higher altitudes. Or at least the scaling would have to be way different with how much higher on average 1.18 goes. You probably wouldn't want the only tall trees to be ones at sea level in 1.18.
I thought RTG was already making some trees like that, wasn't it? I could have sworn I saw some small-medium size ones like that? I thought it was only the very largest ones that were more "large oaky" in shape?


Edit: Here's the two types I remember seeing. The smaller ones (and somewhat even the larger ones) do sort of seem to resemble that shape.
Yes, there have been changes all over the place, and continuing today. 1.13 and the ID changes were probably the very biggest; that's the main reason 1.12 ended up the #1 modding version; there was just a huge number of mods that stopped there because the authors did not want to deal with a complete overhaul (generally right after the complete overhaul 1.8 demanded). A lot of my standard mods stopped there for that reason, including Bibliocraft, Davinci's Vessels, Millenaire, and RTG.
It's a lot harder to find documentation than it used to be. Most of the problem is that there is just so much more non-current-coding info on any query you might do. Sometimes you can search for the procedure names, but Mojang likes generic procedure names these days that call up half the code on the planet. And they've moved hard to functional code, which has a lot of theoretical advantages, and avoids the endless boilerplate java used to be prone to BUT it's far harder to read, and generates absolutely gruesome crash messages.
I have looked at Terraforged, Biomes o Plenty, and a couple of other similar things. Unfortunately the "big boys" end up writing assistance code which in the new system of stacked multiple registries ends up pretty darn opaque. I'm learning more by poking around in the decompiled Mojang code - I found out how to do saplings and vanilla trees today.
1.18's height variation is not much more than RTGs, so I'm not sure how much adjustment is needed. It's not like there are grand forests at y=100 very often. But don't worry, I look at those things.
The two large birch trees have a legitimately "birchy" shape, although now I'm thinking the leaves should be biased upward rather than downward. But the smallest of the birch trees is just using the Cypress code, which is a christmas tree shape (conical). That's the one I want to change. Although, I've decided to get the 1.20 oak forests going in their entirety before tackling that.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
Shows how little I know. My impression was that things seemed to be favoring more open source directions so I though perhaps it'd be better and easier for you to find information, and now I feel like I misled you. It seems like that might not apply to everything. After all, not much good it does if the specific thing you're looking to do doesn't have a ton of examples in the wild to look at.
I would have thought it was quite more variable with 1.18?
In any case, I was thinking of how the plateaus (and their ridges), of which trees and forests often grow upon, provide a much more variable baseline to terrain altitude since 1.18. Add in the higher mountains and the height scale seems wider in 1.18.
But I definitely trust you'll be able to to look at the results and see what's what for yourself and then take that in consideration.
What exactly do you mean by "boilerplate"? I only code in Java 6 (MCP for 1.6.4 doesn't even support newer versions by default, well, you can change the "source/target 1.6" options it sets but I never saw any reason to) and my code is astoundingly compact compared to vanilla, I mean, just look at this, and TMCW adds way, WAY, more content than even 1.8 over vanilla 1.6.4:

It is also very interesting how they reduced the size so much between 1.5 and 1.6; and just HOW did 1.20 grow so much?! I thought 1.8 was insane at the time; I added over 100 new blocks and items in TMCWv5.10 alone, compared to a handful in 1.20.5 (I even have 4 types of wolf armor; iron, gold, diamond, amethyst; 1.20.5's is basically just leather; if I implemented this as well, including dying it, it would only be up to 4-5 KB of additional code even if I copied the "RecipesArmorDyes" class (and adapt the code to handle vanilla's and any new items I might add so there is really only my custom class; this also makes the small size of TMCW even more remarkable since at last count I'd deleted over 200 classes from MCP's sources which are still present in the modded jar itself; that is to say, the modded jar has 2044 files vs 1562 from vanilla, an increase of 482 while MCP's src folder has 1818 vs 1559, an increase of only 259 so there are 223 missing files. Some were deleted to ensure no existing code referenced them (this has happened before), others so it could compile due to changes to class/method/field signatures which invalidate vanilla code or prevent MCP from reobfuscating unmodified classes due to the previous; or just to keep the number down to reduce compilation times, even if only 10-11 seconds).
Not to mention lightweight on memory usage, maybe the most astounding fact about TMCW is that it uses no more memory than vanilla (for the same settings), while I always hear about how much memory mods in particular need, Mojang apparently also recently changed the default allocation, at least for 1.20.5, to 4 GB (some think this is no big deal but I've already seen people who are unable to play due to lack of RAM or even still using a 20 year old computer / 32 bit OS, due to its demographics Minecraft is likely played on much lower-spec systems than most games, even Bedrock Edition has its share of reported performance issues):
Also, this bug report blames Mojang for overusing "method based programming", lambdas or whatever (again, I've never used them since I can't, or see why they would be beneficial, much like using a "blockpos" object instead of separate xyz coordinates, I mean, "y + 1" is way easier to understand for me than "blockpos.up()". My own "blockstate" system is simply "blockID | metadata << 8" and uses simple static final ints which are even inlined at compile time with no object references, extracting them from a variable is just a matter of "blockState & 255" or "blockState >> 8" (of course, within "getBlockId" and "getBlockMetadata" methods, not coded in everywhere, so if I ever needed more than 256 IDs I could simply change two methods to extend it to 4096):
Another thing I've always wondered about, why didn't Mojang ever think of mapping a block name to an ID:metadata pair? That is, in 1.7 you could use block names in commands but you still had to specify damage values, such as "wool 6" for pink wool instead of just "pink_wool". You already have 4096 "blocks" available with metadata and I still have 50 ID remaining despite adding 10 times as many blocks and could hijack more vanilla blocks to add many more (for example, amethyst ore used to be a variant of obsidian, as amethyst blocks still are, the ore no longer is since I added many new ore variants and wanted to use the same data values for all ores. I also added additional metadata support for things like light level, hence I was able to merge many vanilla blocks like furnaces into one (0-7 = idle, 8-15 = burning).
Also, I blame Discord for the lack of online publicly available documentation, everybody seems to only want to use private messaging or other non-public services these days (I still get PMs quite often here and have even thought of just ignoring them, then they might make a real post, like, if they want some details about my mod why don't they just post in the thread?):
(by contrast, I've posted so much information that I had to move individual updates into separate posts since it exceeded the post size limit, plus it reduced the number of fixes I had to keep making every time I edited the OP)
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Season 4: Episode 7
I continue heading North. For some reason, I want to explore plains and feel somewhat sad leaving them behind, but happy knowing I'll have some in the area. For now, we're heading back into forest, and especially dark oak forest.

Minecraft can make some pretty horizon lines with a far enough distance, even with just the typical vanilla trees.
The birch forest at this spot is short before shifting back to the dark oak forest.
Time to dive back into the river and then run at ground level through a dark oak forest!? It's rather uneventful, but I take the first easy opportunity to ascend back to the treetops, my favorite spot (random thought; with this forest in particular being so accommodating to this, maybe a treetop passive mob found here and in other trees Mojang?).
Heading North brings the woodland mansion into view, and it's almost in our path.
I descend to the river and spot an awkward but pretty spot where there's apparently a lush cave on the surface.
Time to skirt a woodland mansion and hope I can chart this all with upsetting them.
Amusingly, my earlier fire reference is followed up, and no, I didn't do this one either.
"Burn it down!"
"Boo! Hiss!"
And such... wait, they heard me, so I better not loiter.
I am able to complete the map, but the one to the North will involve more of the mansion.
For now, I can head South and complete this map one one more sweep. I head into the forest and it's dark, but uneventful. Or at least, whatever there may be, I don't notice because I'm just running. I was yelling at the mansion so who knows what may be after me.
I definitely take the first opportunity to get off of the ground though, and give them one last shout.
"Kiss this!"
I'm probably not coming off as too daring yelling that from this distance, but oh well.
"I'm a treetop dweller and you're not!"
Maybe I should work on my insults one day.
While heading South, I look East and get this picture of the ridge. I like the shift from dark oak to birch, and the way the forests can even, you know, exist there. I've said it before and I'll say it now; untying biomes from generation was one of the best things for the game. It's simply a better system.
That will be in the next map. So yes, I'm doing a fourth map also after this!
I also spot the large crater cave opening I almost boated into in my last video a few updates ago.
I need to cross a river heading South, so it's back to the ground. And my lucky streak ends when I see a creeper walk out from behind one tree to another, only to notice me and then give chase.
You better believe my butt got back up in a tree real quick. It looks cute from up here. I almost feel bad for it... almost.
I head south and the ridge to the East slopes down, but in the distance further to the Southeast is another hill with a sparse covering of trees of a regular forest.
For now, the dark oak forest ends (but we're not done with it totally; just for this map) and it's a thin stretch of birch forest, some river networks, and plains to the very Southeast.
Looking East again excites me as I spot a single cherry tree on the side of that recently shown hill. Is this a hint of a vast area of plains, plateaus, cherry groves, and maybe mountains? I know it eventually turns to a cold region to the South but maybe further East I'll see some of that?
Looking East from the Southeast corner shows plains here, and this is where the next map will start from. I'll continue my North to South sweeps, since I know this will better deal with the ridge I have coming up (less climbing up and down I hope).
The point of functional programming ("method-based" is not what I'd call it: I'd use that for object-oriented) is to replace:
with:
So, less typing. Note this also gets the programmer out of specifying a bunch of types. This example is pretty simple, but when the parameters of the closure are closures themselves you quickly get things that look like LISP code, with so many levels of parentheses it becomes totally unclear what is a parameter of what. This can in theory be fixed by aggressive indenting, with every closure on one line and the indentation levels indicating the levels of the call but - it's often not done. And Java has a lot of "mapping" method that do thing like calculate a list of field values for a list of objects and these add to the clutter as the method names are abstract, with the fieldname being buried in code or even worse passed by reference.
It kind of reflects linguistic studies on why languages have seemingly pointless things like gender, subject-verb agreement, cases, and so forth. Turns out redundancy (specifying the subject *and* changing the verb to indicate that subject) improves listening accuracy. But it's a hassle to say all that "correctly" and speakers shortcut sometimes, and the rules of languages end up a compromise between easy-to-say and easy-to-understand. Old old java with "HashMap<integer,dimension> dimensionnumbers = new HashMap<integer,dimension>()" and lots of separate classes for what's now an inner class or closure was too much typing for comprehensibility; but the new functional system goes the other way (as is usually the case with other functional languages);
I know nothing about the internal representations: 90+ of the time the functional example could compile to the same bytecode but that doesn't mean it does. If it has to recompile the bytecode every time the closure is invoked, sure, that will eat up a LOT of time. Streams are more of a problem because they often do something in a way that could be done more efficiently in a traditional method; for example a stream might be restricted with a Predicate and then the result used with a Consumer; that requires two passes through the stream and probably the construction of an intermediate stream. Theoretically an entity like Mojang/Microsoft has the resources to figure out when closure and stream overhead is affordable but - well, we all know how that has gone in the past.
As to minecraft bloat, I haven't looked at the cause, but in mods, bloat is usually the result of having lots of models. Prehistoric Nature, for example, needs 8 gigs on my machine because there are literally thousands of animal and plant models. The "new" (well, not so new anymore) biome-specific villages with their complex varied designs are the kind of thing that really eat up space. And there are a lot more blocks and passive mobs. The general shift to data-driven generation also can eat up space because one routine for a tree gets replaced with a bunch of models.
And yeah, having information on private Discord servers sucks.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
Oops, sorry about burying your post in some kind-off-topic wonky coding discussions!
I love the idea of a treetop passive mob. Squirrels?
Can't illagers also pathfind onto leaves? Or do they not recognize leaves as something they can walk on?
I do see what you mean about larger rivers. I wonder how much of the oversived RTG rivers is from the manipulations to make them curve, which can also (sometimes) stretch or squish them. That wouldn't be affected by changing the base size.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
I don't mind the posts!
I'm not sure what animals or critters I had in mind, but the idea of something being atop trees, especially for the dark oak forest biome where there's usually a tree canopy that makes a consistent enough level of its own, seemed like an opportunity. Squirrels could work but they'd need to have a lot of fall damage resistance (rabbits need this badly) and to have a way to climb back up Minecraft's world of trees. And ideally they'd do it enough to where you might see some atop a dark oak forest while also see them scurrying around on the ground in normal forests. I don't know if that's easy to accomplish. Then add some acorns for them to have (plus, I'd feel safer hollering at the pillagers with squirrels to toss acorns at them by my side!).
I don't know if pillagers are prevented from pathfinding on leaves, but often you have to jump at points and they probably won't do that. Just a house with a door too far away trips villagers up from pathfinding (I guess the AI range needs increased but that would mean more performance I guess).
And yeah, the rivers are a mixed case. I love the width and depth of vanilla ones, but RTG does a better job at making them navigable for traveling or exploring large distances (the interrupts from hills aside). My ideal rivers would be a mix of the two. I'd love to see Mojang make rivers capable of different altitudes so the high terrain (plateau) areas have a mix of rivers cutting through them and some high altitude ones. Then connect them to sea level terrain rivers with waterfalls.
Surely at least some of them can be condensed; I even went so far as to share the same "closed chest" model across all types of chests, and, of course, vanilla entity variants like rabbits just change the texture applied to a single model (babies just apply scale changes to the model at render time). I heard that vanilla 1.8+ actually uses a separate block model for literally every single block even though most can share the same few models, unless it is changed with a resource pack (a simple matter of checking if the model was changed and if not assign it to a generic cube/slab.stair/etc model). Surely though, they have to be extremely inefficient if they really add up to gigabytes of memory, the actual data as uploaded to OpenGL uses 28 bytes per vertex, 112 bytes per face/quad and 672 bytes per cube; times a thousand and you are still only looking at 672,000 bytes, and with some optimization common vertices can be merged (so a cube is 8 instead of 24).
Also, they don't actually store structure data as volumetric block arrays (I presume so)? That definitely can use way more space than some simple loops; for example, I generate fossils like this; the entire class for generating 22 types of fossils (8 Overworld + 14 Nether) is 35 KB (which compiles to about half the size and compresses even further):
For perspective, this is a partial list of classes by size as well as a comparison of the vanilla 1.6.4 source with my own, which tends to be much larger per class file (I usually group together related features rather than using separate files), with a total size that exceeds that of vanilla with only a third of the classes:
Of course, it isn't surprising that one of the largest classes is for generating caves, the largest is equivalent to vanilla's "RenderBlocks" class and contains rendering code for most blocks, with many of my own blocks having it in their own classes (I made one of the vanilla render types redirect to a custom method). This is still a lot smaller than it might be due to extensive code reuse, for example, slabs simply change their dimensions and use a generic "render cuboid block" method; stairs add a bit of setup but still mostly reuse code, etc:
Also, I've heard that since 1.8 it is no longer possible (at least efficiently) to use fully dynamic rendered block models, that is, my "real trees in flowerpots" feature generates the tree itself just like one made of actual blocks, setting points in an array which is then looped over and each point is rendered as a miniature block, with upwards of thousands of such "blocks", and each tree is unique (the coordinates are used as a seed):
Note that these are tile entities but do not use a TESR, nor do any other blocks that I've added (I also made beds, doors, fence gates, and buttons use tile entities to store their variant; any reasonable use of these won't have any performance impact, if anything the chunk update lag spikes caused by too many tree flowerpots are due to OpenGL being too slow to process the data given to it, something which plagues even modern versions, maybe not as bad due to multithreading (the time taken to generate and render the mesh itself is usually only a fraction of the total time a chunk update takes; 12 "mega tree" flowerpots took 2 ms to render, 33 ms to upload).
I'll also note that I substantially reduced the number of textures required for various blocks by using overlays or colored textures; all ores have a transparent overlay which is placed over a base texture which is derived from the block it appears as (stone, sandstone, hardened clay, snow, etc) and stalactites are simply flipped around with hardened clay variants taking on the color of hardened clay they are placed on, requiring only one set of textures instead of 17 (4 vs 68 total textures). Beds have 5 base textures and 5 overlay textures which are colored one of 16 colors, and only adds 4 to vanilla's 6 textures (the top of the feet doesn't need a base and likewise the end of the head doesn't need an overlay, the bottom itself is taken from oak planks). By contrast, when Mojang added colored beds they gave each one its own texture, which is 64x64, so equivalent to a total of 256 16x16 textures, which far exceeds even the 96 I'd need if I gave each color its own textures. Not only that, they use a TESR / entity models, with all their inefficiencies (e.g. the performance difference between barrels and chests):
A look at some of the blocks in-game; there are a total of 168 variants of stalagmite, a staggering 336 textures if every one had its own (these design choices were less about conserving memory/texture space than not having to make all those textures! For comparison, there are actually 48 stalagmite textures out of a total of 363 new block textures so this change alone nearly halved the total otherwise needed):
There are 73 ore variants but most only use a single overlay, two for ones that need more contrast with a base texture (sandstone and gold/iron, ice and diamond), plus nether gold ore (which also uses an overlay, with a simple code change I could add netherrack variants for other ores, actually, you can obtain them with /give, which allows "illegal" data values, but they won't have the correct name):
One thing that is different between 1.6.4 and newer versions (since 1.8) is that there are separate texture atlases for blocks and items, this means that some people could no longer use higher resolution texture packs (the width of the combined blocks+item texture atlas has been 1024 since 1.8, compared to 512 before). It is also notable how few new items I've added as opposed to blocks, with space for 19 more textures before the atlas needs to be enlarged, part of this is also because I made many blocks drop themselves instead of separate items, such as beds, doors, and signs (you can still see the vanilla door and sign, as well as my original "glow sign" since I kept them in for backwards compatibility, otherwise, I completely removed many such items in TMCWv5):
They could just make them immune to fall damage, I also made them immune to cactus for similar reasons, or at least increase the distance mobs which move by jumping can fall before taking damage (I increased this to 4 for slimes since jumping adds a bit over one block to the total fall distance). I'll also note that if they ever fix MC-130639 they will definitely want to change the fall damage calculation, in vanilla you can jump off a 2 block high drop and not take damage even though you fell about 3.25 blocks and fall damage is rounded up (i.e. anything more than 3 should become 4, dealing 1 damage). While I didn't notice the change when I fixed it myself I somebody pointed out that it was too easy to take fall damage, and indeed, you now took damage when jumping off a 2 block high drop (3 blocks was still fine as long as you just walked off it and is what I'd tested to verify the fix), which I "fixed" by increasing the safe fall distance to 3.3 blocks ("fixed" since technically the new behavior was what was originally intended but I think most will agree it is too easy to take fall damage*; this bug is also why you can fall 23 blocks and not die since the game is off by more than an entire block due to missing out on a tick of fall distance).
*This is one reason why I added a "Long Fall" enchantment which increases the distance you can fall without taking damage, I even recently buffed it to 2 blocks per level, up to 11 total (for comparison, when combined with Protection, which by itself reduces damage by 60%, or up to 53 blocks (64% / 58 blocks in 1.9+), Feather Falling lets you fall up to 83 blocks (103 in 1.9+) and Long Fall is up to 61 blocks (previously 57, this is only additive and 24 blocks is around the crossover point where Feather Falling is more effective above and Long Fall below).
Also, vanilla already halves the fall damage taken by horses (they can fall twice the distance before taking damage and take only half the damage afterwards. It is also important to note that they naturally regenerate health so minor damage here and there can be overcome; I made all mobs, except those which otherwise naturally regenerate, very slowly regenerate health (about once every 7 minutes if they haven't taken damage for 5 minutes) for the same reason).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Season 4: Episode 8
Starting on the next map, and what should be the final for now, I head North from a starting spot of the Southwest corner.

The plains has been pushing Northward as I move East, and if that continues, a good portion of the map to the east might plains. perhaps maybe higher altitude with more plateaus as the small hill here may hint.
That single tree is sad. Yes, that's seemingly all it is. I have my own submission for "world's smallest cherry grove" now. I've definitely seen a small one (or two) before, but I don't think any were a single tree yet.
But for now, it's forest and then more dark oak forest to the North. Of course this means it's treetop time.
Looking East, I see another ridge in the distance between the small hill and the start of the nearby ridge I'll be next to shortly, and it's full of forest and has a village in it.
You may need to look at the full size image but there's a pair of churches there.
Here's the start of the ridge I'm near, and the rest of the dark oak forest to the North.
I come across the large crater cave opening that I almost fell into from the river. I said about the last one I showed in the prior update, but I was mistaken then. That was simply a different large cave opening. This one is unmistakably it.
I yell insults one final time, since this will probably be the final time I see it until I do the maps to its North.
Shortly East, the dark oak forest ends and there's a cute beach here, which a really, really lovely little bay. There's a shipwreck in the distance, but I won't go for it yet. It will probably be halfway between this pass and the next so I'll have to go out of my way either way, and I decide not to do it yet.
I'm noticing the return of the taiga trees (left). I know there's a Cold region to the North, and also one to the South. The one to the North was running diagonally South and East the last time I saw it. A possibility occurs to me. Remember the very large cold region along the Western edge of the Southern region? That was either one very large region, or possibly two overlapping. I'm now wondering that might be the case here. I'll find out as I head East.
The second picture is pretty. I love how terrain generation can do stuff like this now.
As I head up the ridge in front of me, I look East. The forest is yielding to grasslands here, so I expect my earlier guess of more plains to the South and East was right.
From the top of the ridge, I get a better overview of what's ahead. For one thing, the village is. I notice more meadow to the Southeast (left).
Immediately ahead is this. I spotted it well in advance, but let's watch our stop, shall we? Stuff like this is why my enchantments will be very welcome. This fall would likely hurt and be very panic inducing, and follow up from creepers or mobs would be a concern, but not a guaranteed death anymore.
The little valley here is rather pretty.
At first I don't think much of the village, but I'm running right by the bells... so I just have to!
I then decide to check it for hay, and shockingly, there's none. None at all. Zero.
There's another congregation site with bells, though.
Heading North puts that little hill (with the single cherry tree) in my path, and there's a cave at the base on this side.
From the top, I get another overview of the terrain ahead. I'm now one sweep worth of exploration distance from my starting spot, and it's still simply plains I see.
There's further plateaus to the East. For some reason, this picture reminds me of something I've consciously felt but never realized until thinking about it now; Minecraft terrain generation since 1.18 somewhat resembles the world of Final Fantasy IX. There's lot of plains, ridges, and plateaus creating multiple common altitude levels, with mountains further atop those. No wonder I love it!?
The second image is my example of something Zeno (and myself many times prior)have lamented; the short mapping distances. See the ravine looking cave just ahead near the edge of the render distance? That's just on the tip of the South edge of the map for reference, and I can see just beyond it (so I'm basically seeing a hair beyond the edge of the map), yet my map doesn't even show halfway to that point. Even at "just" a render distance of 24, this is pretty painful.
Making my down the hill, and by the lonely cherry tree, I see there's a cave opening here.
And in the plains, here's the ravine looking cave which isn't actually a ravine. That's a very deep fall!
I'll end here. The next update starts with a surprise of sorts (and I'm barely any further in actual play anyhow).
Season 4: Episode 9
Let's finish this last map and head home!?

So the surprise was that the plains turn to snow to the East! There is indeed a cold region here!
Somehow I think a zombie from 1.6 got in here. It detected me from all the way down there!
I started heading North and there's higher terrain ahead. A river runs through the terrain and is right where I'm heading, so I follow it.
And there's more caves here.
The river has an unusual end, with another cave just past the hill it ends at.
I head up the ridge to my right, and look further East to see confirmation of much more of a snowy region, so it's not just at that one spot.
There's yet another cave up here.
From up here, there's a single spot on the bit of land across the river to the South! Uh! I'd have to climb down, then back up, for like one spot!? Thankfully, climbing down is close enough to chart it, so I then follow the river North, which leads to the ocean and the shipwreck I spotted in the prior update.
It's quite buried with gravel and stone. I wouldn't be able to do this without respiration at least, and aqua affinity is proving useful too.
I have to discard some things to get everything I want, but it's worth it.
I head East and catch a pretty sunset glowing on the ice.
I am slow to make it to land to sleep, so the next morning, this is shown to have had time to spawn.
"I'm sorry! I tried to be faster! Your pain is my fault!"
I head South now towards what I expect is the last of the non-snowy region.
There's... mountains? If you want to call them that; they're tiny! Time to put my winter boots on in any case.
This, too, has a cave. I should call it the ice caverns!? In that case, I'll stay out. I know what's in there.
I look Northwest from the top of the hill/mountain and spot another shipwreck... although it doesn't look too wrecked. This gives me an overview of the Northern half of the remainder of the map.
Now to the remainder of the South.
I first get one last look East towards the Greener pastures.
To the South, two things of interest reveal themselves.
The first are ice spikes! I found more!
The other is a village.
I make the final sweep North and it's pretty uneventful as I go over the hill and head into the frozen ocean already shown. I reach the ship, and besides having struck an iceberg, it doesn't look too wrecked.
With that, the final map is complete. It's time to head home and fine out where, exactly, I've been.
I make my way back and guess where I may have been, largely by trying to see where ocean is near the edge of the map. This seems too far South though?
Hm, yes, it is.
But I wasn't far off. It turns out it belongs only one row higher, which is still a bit further South than I thought I was.
Now normally I would be waiting for the full update to show this added here, and would only be showing this on the region map, but... I don't have a region map yet! I need a home still!
So I start considering where I'll have this region be.
This is looking at the map "rotated" as I'm looking East here instead of North. So the following regions are listed in width by height, but they are reversed as a result of the flipped map. Keep in mind that I have 21 blocks/maps worth of space from North to South (right to left in these images), which gives a combination of 6, 6, and 9 if I want to evenly ill them with regions. With that in mind, I decide I have three ideal options.
The first is that I could align the new region starting from the Southern edge of the map. It would have to be a 6 x 9 region (longer North and South rather than East and West). Otherwise, my currently explored strip doesn't fall within it.
The second and third are to align it as the middle region. One would simply my 6 x 9 still, and the other would be 9 x 6.
I'm not entirely forcing myself to align this in perfect orientations because I am going to have some spots that will need done as "leftover" either way, and the orientation will just change where that ends up. But I'm going to go with one of these, I think, and the second or third are the ones that seem more appealing to me.
Where I'm going to settle though... I don't yet know. For now, I'm going to head back out and do another row of four maps to the immediate North of what I just did. Maybe this will like the start of the world where I explore a bit before finally deciding on a spot.
After all, I had already known where I wanted to settle in the Southern region (and it just happened to line up well) since I had explored it before, but I won't always have that luxury. To the contrary, I almost never will.
Surprises are good in exploration. I also approve of the relatively large amount of water on your maps.
It's almost looking like a base where you're been exploring is far enough to the side it could be used to explore two regions? Although I enjoy your bases.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.
Yes, there's a lot of ocean, and that might speed up some of my explorations, which might be good since I'm already having to slow play to not get too far ahead. I'm thinking of using the extra time to play through Final Fantasy IX again; it's been a while and I have that itch again. On the other hand, the last one I replayed was X and I was intending to do both it and X-2 (I like to do them together) and I never completed that duo. I think I stopped very near the end of X doing all the "post-game" sort of stuff but I forget. It's been even longer since I did VIII and while that's considered a Black sheep of the series by some, it's my guilty pleasure. Probably going to do IX though because I tend to like to replay through that one again in pauses no longer than every couple/few years between and it's.... been way too long. Anyway...
That's an interesting thought because now that I have the nether, travel between my home region and this one isn't yet that bad, but traveling that extra distance in the overworld back and forth to do outings so repeatedly is that bad. I feel like a 9 x 6 (or 6 x 9) region size is perfect because if my base is close to the center, or at least not right on the edge, then I feel like it stops just shy of getting to the point where outings from that region's shelter to the rest of the region is too long. But if I was doubling the size of the region, it would feel too long.
So even with faster travel times between my home region and outer regions (which reduces the original need I had to limit region map sizes), I'm still not going to do regions larger than that by default.
Edit: Putting (a lot!) more thought into it, I would want to do one of my first two region examples, because the last one will set things up more awkwardly in the future. Nothing I couldn't do if I wanted to, but that's leaning me towards 1 or 2. If I go with 1, I can make a home in the ice spikes region. If I go with 2, that would be on the very edge (or even just off of) the map. I'll continue my current outing and then try and decide between which of the two I want to do. At worst, I'll be undecided and do a third and final row of four to the South (as this would fall within either region) and then be forced to decide. I think I'm slightly leaning towards the first now instead though.
Season 4: Episode 10
I've gotten soooo far ahead (like... eight updates worth at least I think?), but maybe that's not a bad thing. Sort of minor spoiler; I've more or less settled where the region will be and most likely where my next location will be (not exact, but approximate).

But first, there's another outing to get started on. I'm doing the the row of maps just above the one I just did. Since the portal comes out sort of near the center, I decide to just start one of the middle maps, and... I accidetally start the one on the left and wanted to start the one on the right first. So I move East and create another. No harm since I needed both anyway, but the marker had me think I was off the map and while I knew I was close to the border and may not be, I guesstimated (incorrectly).
To start, I'll head North and then likely back South I decide.
It's rather sparse on rewards, but any is better than nothing. I take the obsidian and the iron nuggets.
The plains then shift to forest, but only briefly. Soon they give way to ocean. Remember there's a massive ocean comprising of most of the two maps to the row South of this, so it seems it extends East here.
I continue North and it isn't long before the ocean reveals more land in the distance. There's more dark oak forest here. Another woodland mansion would be funny!
The land is on the next map though, so no exploration of it for now. I head back South and then come back to the plains I started in, and that "1.7 era mountains" I wrapped around at the start of the region's adventure comes into view.
I remember from earlier I caught a view from high altitude a ways into the map I'm now doing, and it was a lot of forest.
I decide to move to an East and then West sweep, doing the "L shape" passes I've gravitated more towards at times. The forest shifts to the expected dark oak forest, as this is near where the woodland mansion is. I get to tease them more! I mean... I'm very afraid of them.
Very early on, this friend reminds me of why I treetop all the time.
It's actually not just for the safety, but the vision.
This is seemingly as close as I'll have to get. Not as close as I thought I'd have to from the last map.
Sprawling dark oak forests in vales can be a pretty sight.
I have quite the descent to make here.
I know I shouldn't... and I try to find another way, but most add time, or worse, risk...
I fall and am surprised at the mere half a heart of damage I take, which is instantly recovered due to regeneration (regeneration is way too soon and fast in my opinion).
There's a fire North, which is curious. This is the little bit of ocean were I was seen landing at this dark oak forest when I first discovered it in my last video.
I head West and it begins raining, so I'm especially glad I'm in the treetops. The dark oak forest becomes birch, which means that might not be as viable, but I try at the start. To the North is more forest and hills and ridges, and I spot this cavern opening. I want to investigate it closer, but not now when it's raining, so far away, and close to evening. Unfortunately, the check I intend to do when I pass by it later on in the map is forgotten.
Just ahead is a ruined portal, which are far easier to spot with it raining. This one is better on rewards, having some golden carrots.
Heading North is an interesting isthmus of a beach separating ocean on one side, and a river on the other, and there's a lot of turtles here. I wonder if the river connects the ocean to East almost to this one to the West.
From the ocean in the Northwest, I spot another ruined portal, this one making its presence known because it sits in grand fashion atop a ridge and pokes above the forest. It's one of the bigger ones. You'll likely have to see the full size image to notice it, but it's just above my cursor.
I do another L shape pass, which are getting increasingly shorter as I draw near the end of the map. The river does indeed nearly connect them as I though, so I use Zeno's approach and follow it, and get another look at the same portal heading back.
I then reach the portal and it's exactly on a ridge, a pointed top of a hill with forest and the area is very attractive. This portal also has some nice rewards even though it's low on quantity. One of which is a golden apple.
I move to finish the rest of the map, and this cave is found in the forest.
The forest begins shifting to taiga, which isn't unexpected. I know eventually it shifts cold in the East, after all.
I conclude the map by charting the ocean in the Northeast, which brings us to that cliff along the ocean with taiga forest atop it.
This is where the next map where start. I notice now it has regular forest behind it, so perhaps it won't all be taiga. Taiga is nice... but endless vastness of it isn't my favorite. It's a strange forest because while it's sometimes taller than normal forests (at least the old growth variants, which this is not), it fixes what I dislike about forests visually, but it still has the flaw of low visibility and low canopies (at least the non-old growth variants do).
That fall would have been a good time to practice your bucketing skills.
With all those lakes about you should be able to to pretty well with water transport. The new rivers are usually too crooked and windy to be useful for long-distance transport but when lakes (I just can't call them "oceans") connect them up you can find routes.
3 ruined portals in one episode. Too many! It's like it's the ruins of a society which used nether connections to get to the grocery store.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Better Forests Varied and beautiful trees and forests, in modern Minecraft.