BiomeTweaker

BiomeTweaker

13M Downloads

Setting liquid doesn't seem to work in the nether

keybounce opened this issue · 10 comments

commented

So I tried setting biome 8 (hell)'s liquid to minecraft:air.

I still got a lava lake in the nether.

commented

BiomeTweaker checks for water to replace. Hmm... I'll have to figure out a way to accommodate this.

commented

How about instead of "actualFillerBlock" and "liquidFillerBlock" in the set command, I create a new "registerGenBlockReplacement" command, that lets you specify what block to replace with what during generation?

commented

All right, I've finished a build with the new features, 100th build is just for you :P

http://jenkins.superckl.me/job/BiomeTweaker/100/

"actualFillerBlock" and "liquidFillerBlock" are still a thing, but they do not determine what gets put down. They are used so that filler and topBlock replacement still happens, since vanilla gen just looks for stone. You should set them to whatever you want Minecraft to look for instead of stone and water.

There is now a command "registerGenBlockRep". It takes up to four arguments, requiring at least two strings for the blocks and then optionally metadata. Here is an example

allBiomes = forAllBiomes()
allBiomes.registerGenBlockRep("minecraft:stone", "minecraft:sandstone", 2)
allBiomes.registerGenBlockRep("minecraft:water", "minecraft:lava")
allBiomes.registerGenBlockRep("minecraft:lava", "minecraft:water")
allBiomes.set("actualFillerBlock", "minecraft:sandstone")

This replaces stone with chiseled sandstone, and switches water and lava. I also set the "actualFillerBlock" so that dirt and such still gets placed down. Note that the metadata from the chiseled sandstone that gets replaced with dirt (the fillerBlock) doesn't go away, resulting in podzol under the grass topBlock. Nothing I can do about that currently (could be used for this purpose, a metadata of 2 on stone does nothing, but will make podzol generate instead of dirt ;) ).

The registerGenBlockRep command takes arguments like this:

registerGenBlockRep(String blockToReplace, int blockToReplaceMeta *(optional)*, String blockToPlace, int blockToPlaceMeta *(optional)*)

2015-05-14_16 49 01

commented

Understood.

Meanwhile, testing with the older version, I've noticed that lava is replacing water in the ocean in mystcraft ages that are age 2 or higher, but not in ages that are -2 or lower. Is that intentional?

It's unexpected, but it leads to the possibility of a "treasure" world that has a negative ID number and avoids the hostile ocean.

On 2015-05-23, at 11:00 AM, Chris [email protected] wrote:

This replacement happens before decorations are placed. And topBlock and fillerBlock substitution is done. Lakes will still appear with water even if you set a replacement for water.

Setting a replacement for water is equivalent to setting the liquidFillerBlock in the old system, and similar for stone. The only difference is this system is far more powerful, allowing this to be done for any block.


Reply to this email directly or view it on GitHub.


Entertaining minecraft videos
http://YouTube.com/keybounce

commented

If this doesn't work out for you, let me know. My testing has shown it's ready for release.

commented

I'm sorry, I thought I replied with a "I won't have a chance to look at this for a bit".

I'm not sure about this. If I understand this, you are first generating a normal chunk, and then applying block substitutions -- so, for example, all water might be turned into lava.

Right now, I can get lava oceans, with water lakes.
With this new system, if I understand correctly, the water lakes would be turned into lava lakes.

That would kill my map -- lakes are the only source of water for players.

Also, since events/replacements/decorations are per-biome, rather than per-dimension, consider the issue of the deep lava lake in the ocean, versus no deep lava in mystcraft ages, versus ages that have a lava sea. Any attempt to say "This biome generates with this type of liquid" which affects initial biome generation in the overworld, that is changed like that, may result in different alterations in ages (definitely something I need to check).

commented

To put it another way: If I understand correctly, You used to change water to the specified block after chunk gen, before any decorations.

The "goal", as I see it, is to change what kind of block is placed down.

Now, there is both "change water to specified block", "change lava to specified block", etc. And, depending on when this happens, there may be other things that happen.

I like the idea of being able to say "Still have dirt and ores even as the ground type changes".

commented

This replacement happens before decorations are placed. And topBlock and fillerBlock substitution is done. Lakes will still appear with water even if you set a replacement for water.

Setting a replacement for water is equivalent to setting the liquidFillerBlock in the old system, and similar for stone. The only difference is this system is far more powerful, allowing this to be done for any block.

commented

Err, no, not intentional. I have only have some very basic experience with MystCraft, so I'm not really sure why that would happen. I've been looking into per-dimension support for some features.