Open Terrain Generator (OTG)

Open Terrain Generator (OTG)

10M Downloads

1.16.x 1.0.0: 5.1 - Biome resources update

PG85 opened this issue ยท 7 comments

commented

We need to re-design/update resources for biomes to support all 1.16 resources. We should also do any improvements/refactoring at this point. Here's a list of current resources, need to know for each if they should be renamed/refactored/changed/removed. Also need to know if any new resources should be added.

"AboveWaterRes", AboveWaterGen
"Boulder", BoulderGen
"Cactus", CactusGen
"Dungeon", DungeonGen
"Grass", GrassGen
"Fossil", FossilGen
"IceSpike", IceSpikeGen
"Liquid", LiquidGen
"Ore", OreGen
"Plant", PlantGen
"UnderWaterPlant", UnderWaterPlantGen
"Reed", ReedGen
"SmallLake", SmallLakeGen
"SurfacePatch", SurfacePatchGen
"UndergroundLake", UndergroundLakeGen
"UnderWaterOre", UnderWaterOreGen
"Vein", VeinGen
"Vines", VinesGen
"Well", WellGen
"CustomObject", CustomObjectGen
"CustomStructure", CustomStructureGen
"Sapling", SaplingGen
"Tree", TreeGen

#######################################################################
# +-----------------------------------------------------------------+ #
# |                          Resource queue                         | #
# +-----------------------------------------------------------------+ #
#######################################################################

# This section control all resources spawning after terrain generation.
# The resources will be placed in this order.

# Keep in mind that a high size, frequency or rarity might slow down terrain generation.

# Possible resources:
# DoResourceInheritance(true|false)
# SmallLake(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude)
# Dungeon(Frequency,Rarity,MinAltitude,MaxAltitude)
# UnderGroundLake(MinSize,MaxSize,Frequency,Rarity,MinAltitude,MaxAltitude)
# Ore(BlockName,Size,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
# UnderWaterOre(BlockName,Size,Frequency,Rarity,BlockSource[,BlockSource2,BlockSource3.....])
# CustomObject(Object[,AnotherObject[,...]])
# CustomStructure([Object,Object_Chance[,AnotherObject,Object_Chance[,...]]])
# SurfacePatch(BlockName,DecorationBlockName,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....]
# Tree(Frequency,TreeType,TreeTypeChance[,AdditionalTreeType,AdditionalTreeTypeChance.....])
# Plant(PlantType,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
# UnderWaterPlant(PlantType,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
# Grass(PlantType,Grouped/NotGrouped,Frequency,Rarity,BlockSource[,BlockSource2,BlockSource3.....])
# Reed(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
# Cactus(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
# Liquid(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
# AboveWaterRes(BlockName,Frequency,Rarity)
# Vines(Frequency,Rarity,MinAltitude,MaxAltitude)
# Vein(BlockName,MinRadius,MaxRadius,Rarity,OreSize,OreFrequency,OreRarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,..])
# Well(BaseBlockName,HalfSlabBlockName,WaterBlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,..])
# Boulder(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,..]
# IceSpike(BlockName,IceSpikeType,Frequency,Rarity,MinAltitude,MaxAltitude,Blocksource[,BlockSource2,...])

# BlockName:      must be the name of a block. May include block data, like "WOOL:1".
# BlockSource:    list of blocks the resource can spawn on/in. You can also use "Solid" or "All".
# Frequency:      number of attempts to place this resource in each chunk.
# Rarity:         chance for each attempt, Rarity:100 - mean 100% to pass, Rarity:1 - mean 1% to pass.
# MinAltitude and MaxAltitude: height limits.
# BlockSource:    mean where or whereupon resource will be placed 
# TreeType:       Tree (original oak tree) - BigTree - Birch - TallBirch - SwampTree -
#                 HugeMushroom (randomly red or brown) - HugeRedMushroom - HugeBrownMushroom -
#                 Taiga1 - Taiga2 - HugeTaiga1 - HugeTaiga2 -
#                 JungleTree (the huge jungle tree) - GroundBush - CocoaTree (smaller jungle tree)
#                 DarkOak (from the roofed forest biome) - Acacia
#                 You can also use your own custom objects, as long as they have set Tree to true in their settings.
# TreeTypeChance: similar to Rarity. Example:
#                 Tree(10,Taiga1,35,Taiga2,100) - plugin tries 10 times, for each attempt it tries to place Taiga1 (35% chance),
#                 if that fails, it attempts to place Taiga2 (100% chance).
# PlantType:      one of the plant types: Allium, AzureBluet, BlueOrchid, BrownMushroom, Dandelion, DeadBush, DoubleTallgrass, Fern, LargeFern, Lilac, OrangeTulip, OxeyeDaisy, Peony, PinkTulip, Poppy, RedMushroom, RedTulip, RoseBush, Sunflower, Tallgrass, WhiteTulip
#                 or simply a BlockName
# IceSpikeType:   one of the ice spike types: Basement,HugeSpike,SmallSpike
# Object:         can be a any kind of custom object (bo2 or bo3) but without the file extension. You can
#                 also use UseWorld to spawn one of the object in the WorldObjects folder and UseBiome to spawn
#                 one of the objects in the BiomeObjects setting. When using BO2s for UseWorld, the BO2 must have
#                 this biome in their spawnInBiome setting.

# Plant and Grass resource: both a resource of one block. Plant can place blocks underground, Grass cannot.
# UnderWaterPlant resource: a resource of one block, places blocks only in water.
# Liquid resource: a one-block water or lava source
# SmallLake and UnderGroundLake resources: small lakes of about 8x8 blocks
# Vein resource: not in vanilla. Starts an area where ores will spawn. Can be slow, so use a low Rarity (smaller than 1).
# CustomStructure resource: starts a BO3 structure in the chunk.

Also need to rewrite this whole section.

commented

Maybe iceberg should be a SurfaceAndGroundControl: type?

commented

So we've got the requirements looks like:

  • Coral
  • Kelp
  • Seagrass
  • Sea Pickles
  • Bamboo
  • Iceberg(spawned as resource?)
  • New flowers (should be added already?)
  • Sweet berry bushes

"structures spawned as resources":

  • Fossil (already a resource? make sure it works)
  • Dungeon & Desert well (already a resource? make sure it works)

@MCPitman & @SuperCoder7979 Could you make a finalised list of new resources for the biome configs, that covers all these?

commented

@SuperCoder7979 said on #570

A quick list of all the new resource generators we're going to need:

Coral
Kelp
Seagrass
Icebergs (shudders)
Bamboo

Nether generators (lower priority, but nice-to-haves):

Huge fungus
Weeping vines
Twisting vines
Deltas
Basalt Columns
Replace blobs
Basalt pillars
No surface ore (netherite ore)

1.17 stuff, lowest priority:

Geodes
commented

Some of these are better spawned like other vanilla structures, but here's a quick list of worldgen stuff added in 1.13 to start with:

Buried Treasure
Coral
Kelp
Seagrass
Sea Pickles
Iceberg
Shipwrecks
Ocean Ruins

commented

Nice, thanks. The following are structures, not resources, so we'll have to make another issue for those:

  • Buried treasure
  • Ocean Ruins
  • Shipwreck
  • Pillager outpost
  • Bastion Remnant
  • Nether fossil
  • End City
  • Ruined Portal
  • Amethyst Geode (1.17)

And ofc we already have:

  • Village
  • Stronghold
  • Ocean Monument
  • Rare buildings (desert pyramid, igloo, jungle temple, swamp hut, any new ones?)
  • Woodland Mansion
  • Nether fortress
  • Mineshaft

The following are "structures spawned as resources":

  • Fossil
  • Dungeon & Desert well

I'll make a new issue for structures. See #576

commented

Should have everything now I think? Anything left has its own issue, closing.