klikli-dev / occultism

A magic mod inspired by the world of Jonathan Stroud's Bartimaeus. With the help of occult rituals players can summon entities from the "Other Side" to perform magic.
https://www.curseforge.com/minecraft/mc-mods/occultism
MIT License
74 stars 47 forks source link

[1.20.1] Groves still spawning underwater #1022

Open ffuentesm opened 10 months ago

ffuentesm commented 10 months ago

Describe the bug Groves are still spawning in the bottom of the ocean, causing all the grass to break and accumulating MANY item entities in a single place, lagging the game.

To Reproduce Steps to reproduce the behavior:

  1. join a new world
  2. Fly around the ocean

Expected behavior Groves should not be spawning inside the ocean

Screenshots image image

System (please complete the following information):

Additional context Groves should have the same spawning rules as strongholds, maybe instead use The same spawning rules as dungeons? Or try the trial chamber spawn rules for the new version of minecraft?

klikli-dev commented 10 months ago

I don't think there are any biome tags for dungeons or even the trial chamber (and "spawn rules" as such sadly do not exist for worldgen, you can just define a feature, in this case the grove, and add it to a biome tag).

It is odd though, the stronghold biome tag has the following in it:

  this.tag(BiomeTags.STRONGHOLD_BIASED_TO).add(Biomes.PLAINS).add(Biomes.SUNFLOWER_PLAINS).add(Biomes.SNOWY_PLAINS).add(Biomes.ICE_SPIKES).add(Biomes.DESERT).add(Biomes.FOREST).add(Biomes.FLOWER_FOREST).add(Biomes.BIRCH_FOREST).add(Biomes.DARK_FOREST).add(Biomes.OLD_GROWTH_BIRCH_FOREST).add(Biomes.OLD_GROWTH_PINE_TAIGA).add(Biomes.OLD_GROWTH_SPRUCE_TAIGA).add(Biomes.TAIGA).add(Biomes.SNOWY_TAIGA).add(Biomes.SAVANNA).add(Biomes.SAVANNA_PLATEAU).add(Biomes.WINDSWEPT_HILLS).add(Biomes.WINDSWEPT_GRAVELLY_HILLS).add(Biomes.WINDSWEPT_FOREST).add(Biomes.WINDSWEPT_SAVANNA).add(Biomes.JUNGLE).add(Biomes.SPARSE_JUNGLE).add(Biomes.BAMBOO_JUNGLE).add(Biomes.BADLANDS).add(Biomes.ERODED_BADLANDS).add(Biomes.WOODED_BADLANDS).add(Biomes.MEADOW).add(Biomes.GROVE).add(Biomes.SNOWY_SLOPES).add(Biomes.FROZEN_PEAKS).add(Biomes.JAGGED_PEAKS).add(Biomes.STONY_PEAKS).add(Biomes.MUSHROOM_FIELDS).add(Biomes.DRIPSTONE_CAVES).add(Biomes.LUSH_CAVES);

Which does not include any ocean biomes.

To diagnose this further, can you let me know what biome you are in? I think F3 might show that? I only know some map mods do.

Also it would be interesting roughly how far (in blocks or in chunks) you are from the next non-water biome (like forest etc)

ffuentesm commented 10 months ago

it seems that the grove is in the deep ocean, and The Mushroom fields are literally 1 block away, even underwater. image image

Even inside the grove is deep ocean image

Maybe you could place a "height limit" or a "no exposure to water" like how some ores have. I know that oceans have a bottom at y = 45 and deep oceans have a bottom at y = 30 image

ffuentesm commented 9 months ago

Here is the same problem in another world. The grove spawned in a river biome. occultism: 1.113.1 image image

lieutenantker commented 8 months ago

occultism

hi I would like to chime in with I'm currently developing a modpack (just a small, custom thing for a group of friends I'll be hosting a server with, modpack is catered to the personal interests of the group) and one of the friends helping test the modpack for me encountered this problem--a grove spawned at the bottom of the ocean and ruined the landscape

minecraft is version 1.20.1 and Forge is version 47.2.0

ffuentesm commented 7 months ago

I am on Neoforge 1.20.4 version, and I noticed that Groves seem to "bisect" structures. One spawned in the middle of a village, and it deleted half of a house. Maybe add the same thing Strongholds have so they don't clash with present structures? image

Reaviik commented 5 months ago

Even though it was strange, I thought it was beautiful

ffuentesm commented 1 month ago

Hum... Still happening in 1.21.1 Been thinking, but blocking their spawn so they only appear below y=0 help? Since Ocean floor y level is y 30, in case a grove spawns at y -1, the height would still keep it below the ground.