warjort / tatters

Tatters Fabric Skyblock
Other
0 stars 4 forks source link

No Biomes or Slime Chunks #3

Open rickspencer opened 3 years ago

rickspencer commented 3 years ago

Describe the bug All Biomes seem to be plains biomes and there are no slime chunks.

Expected behaviour Vanilla biomes to build specific farms to generate needed materials and mobs that don't spawn naturally in a plains biome. Require Slime chunks for slime farms...

We are using this mod for a Vanilla+ style skyblock and are trying to keep it as Vanilla as possible.

warjort commented 3 years ago

There are "slime chunks", I just tested it. I modified the stone.json to just generate a few layers of dirt instead of filling the world with stone and slimes spawned.

For the other biomes, this is more difficult.

This mod uses the FlatWorld Generator so it can support the "fillers" for stone block like configuration. The Flat World Generator only supports 1 biome, so I chose minecraft:plains

My understanding is that you want things like wolves to spawn which normally only spawn in taiga and forests?

I can see 2 ways to change this:

For the second option you could have something like the following in config/tatters/tatters.json

"spawnsComment": "List of entities that can spawn in skyblock worlds"
"spawns": [
"minecraft:cow",
"minecraft:horse",
"minecraft:slime",
"minecraft:witch",
"minecraft:wolf",
"minecraft:zombie"

etc.

]

This would have the downside that you would need to update this when Mojang introduce new mobs if you want them to spawn. I don't update/overwrite that config file after it is first generated.

warjort commented 3 years ago

For the slime chunks issue, you know they only generate below y=40 and the skyblocks are at y=80 by default?

rickspencer commented 3 years ago

Yep, I know slimes only generate below y=40... I have Xaero's Minimap installed and have it set to show the slime chunks but it doesn't show any... When I tested in the single-player map using the same seed and the default MC world gen the minimap did show slime chunks...

Thanks for the other advice I'll see what we can do with the config option as we are only playing the skyblock for a short break while we get a new pack together for our community...

Cheers,

warjort commented 3 years ago

Make my own "skyblock biome" (a copy of the plains biome) and let you configure which entites can spawn in it

I was thinking about this and you can actually do this yourself, though it might take some work. No modifications required by me :-)

If you create a datapack with a data/minecraft/worldgen/biome/plains.json file You can make a custom biome to spawn whatever mobs you like.

warjort commented 3 years ago

Docs from the MC wiki https://minecraft.fandom.com/wiki/Biome/JSON_format

warjort commented 3 years ago

I have Xaero's Minimap installed and have it set to show the slime chunks but it doesn't show any

That sounds like an issue for that mod?

warjort commented 3 years ago

I'll see what we can do with the config option

You know that "spawns" config option doesn't exist. I was suggesting it as a change to tatters I wanted to know if something like it would be useful for your problem.

rickspencer commented 3 years ago

Oh... ok... That could be a convenient option.

However a biome datapack could be a better option longer term...

Rick

On Tue, 27 Jul 2021, 8:03 pm Adrian Brock, @.***> wrote:

I'll see what we can do with the config option

You that "spawns" config option doesn't exist. I was suggesting it as a change to tatters I wanted to know if something like it would be useful for your problem.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/warjort/tatters/issues/3#issuecomment-887381611, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA6YH2J2R4LWFX3U64SPC3TTZZ76XANCNFSM5BBFAMJQ .

warjort commented 3 years ago

I got some time to test the datapack approach and it seems to work fine.

The following are the default settings for the plains biome in 1.17.1 plains.txt I tested it by changing the sky_color to deep blue (255)

What you need to do is make a datapack and include the above file at data/minecraft/worldgen/biome/plains.json (Note .json not .txt) Most of the settings won't get used by tatters since they are for the normal overworld generation.

You will need to modify the spawn settings of the biome to include whatever mobs you want. They are towards the bottom of the file. e.g.

      {
        "type": "minecraft:wolf",
        "weight": 5,
        "minCount": 2,
        "maxCount": 6
      },

I haven't explicitly tested this part, but I don't see why it shouldn't work as well?

NOTE: You will get a warning about "experimental worlds" when using custom biomes. This means mojang could change the format of that file in 1.18

warjort commented 3 years ago

If you don't want to mess about with managing datapacks, you can use a mod like this: https://www.curseforge.com/minecraft/mc-mods/open-loader but this means your changes will apply to the normal overworld generation as well.

rickspencer commented 3 years ago

Thanks, heaps for all your input and help.

Question: How did you get the default settings for the plains biome and can I get the settings like that for any Biome?

I'll have to do some reading but I give it a go...

Rick

On Thu, Jul 29, 2021 at 8:24 PM Adrian Brock @.***> wrote:

If you don't want to mess about with managing datapacks, you can use a mod like this: https://www.curseforge.com/minecraft/mc-mods/open-loader but this means your changes will apply to the normal overworld generation as well.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/warjort/tatters/issues/3#issuecomment-888998067, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA6YH2KHBV4YVN2T5NS5J23T2ET4NANCNFSM5BBFAMJQ .

warjort commented 3 years ago

Question: How did you get the default settings for the plains biome and can I get the settings like that for any Biome?

I actually have a command in an unreleased mod I'm developing. :-) The mod does some worldgen modification, so I use it for debugging.

The essense of it is:

    public static <T> JsonElement getInfoFromCodec(final Codec<T> codec, final T input) {
        final var result = codec.encode(input, JsonOps.INSTANCE, JsonOps.INSTANCE.empty());
        return result.getOrThrow(false, error -> new RuntimeException(error));
    }

Which I called with:

final var output = getInfoFromCodec(Biome.DIRECT_CODEC, Biome.PLAINS);

In my mod, the output of the command is printed to chat where you can click on it to copy it to the clipboard.

warjort commented 3 years ago

I believe, you can also get a dump of world generation if you run forge's datagen mod development stuff with the option --reports.

I have never used it, so I don't know how useful it is.

Here's the forge documentation. https://mcforge.readthedocs.io/en/latest/datagen/intro/

rickspencer commented 3 years ago

nice... thanks

On Thu, Jul 29, 2021 at 9:47 PM Adrian Brock @.***> wrote:

Question: How did you get the default settings for the plains biome and can I get the settings like that for any Biome?

I actually have a command in an unreleased mod I'm developing. :-) The mod does some worldgen modification, so I use it for debugging.

The essense of it is:

public static <T> JsonElement getInfoFromCodec(final Codec<T> codec, final T input) {
    final var result = codec.encode(input, JsonOps.INSTANCE, JsonOps.INSTANCE.empty());
    return result.getOrThrow(false, error -> new RuntimeException(error));
}

Which I called with:

final var output = getInfoFromCodec(Biome.DIRECT_CODEC, Biome.PLAINS);

In my mod, the output of the command is printed to chat where you can click on it to copy it to the clipboard.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/warjort/tatters/issues/3#issuecomment-889049887, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA6YH2POX2SSN4JRO5RSOILT2E5ULANCNFSM5BBFAMJQ .

rickspencer commented 3 years ago

thanks again...

On Thu, Jul 29, 2021 at 10:00 PM Adrian Brock @.***> wrote:

I believe, you can also get a dump of world generation if you run forge's datagen mod development stuff with the option --reports.

I have never used it, so I don't know how useful it is.

Here's the forge documentation. https://mcforge.readthedocs.io/en/latest/datagen/intro/

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/warjort/tatters/issues/3#issuecomment-889057645, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA6YH2JSJST452OWTZAZPDDT2E7GNANCNFSM5BBFAMJQ .