You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 22, 2024. It is now read-only.
Below is intended to explain how fossil ore generation should work and how the fossils received by these ores should behave.
The team has further plans for fossils than what is written in this issue, but for all intents and purposes this is the minimum requirements for fossils to do their job in a Beta version of the mod
Fossil Ore & Fossils:
Configurable Generation by type and species.
Each cluster should only drop one creature type, (Ex. If a cluster is made up of 4 fossil ore blocks they should all drop velociraptor etc.)
3 Types of Fossil; Fossil (plant, dinosaur, etc.), Trace (footprints, decorative fossils), and Amber
Each type of fossil has different pieces, see pieces. These pieces show as a visual representation on the ore block, Ex. an ore containing a skull fossil will have a skull texture overlay on the ore.
Fossil ores can generate in more than MC block types, including: stone, deepslate, terracotta, and sandstone
A fossil ore will drop a fossil, if silk touch is used it will drop a fossil ore (like normal ores work), fortune will just give better chances for higher qualities of fossil to drop, not affect the quantity of dropped fossils, there will always be only one fossil dropped at a time.
A fossil belongs to a time period, which determines the depth at which it generates, as well as an extra rarity control. see "periods"
Pieces:
Types of pieces include: skull (generally unique to each dinosaur), neck_long, neck_short, ribcage, foot, arm, leg_quadruped, leg_biped, tail, spine, wing, leaf, trunk
There are also some unique creatures sprites, ex: Spinosaurus neural spines, stegosaurus plates, and the skull of each creatures
Piece sets:
Piece sets define a pool of pieces that can belong to one fossil type, for example t-rex is a biped, so it would contain the biped piece set below:
biped: [ribcage, foot, arm, leg_biped, tail, spine] where the; arm, leg, and foot pieces will be weighted double in the chance of generation, see piece sets in below configuration file, see below
Periods:
Periods are what defines the depth and overall rarity of a fossil, the older the time period the deeper and more rare the fossil.
Rarity:
The rarity of a fossil can be calculated pretty easily, it is the typical rarity of MC ores, since this is relative let's assign 1 to that.
Then you multiply that by the rarity of the fossils belonging to it's period, then you take it's weight compared to other fossils in that period as a percentage decimal and multiply that, then finally the weight of that specific piece in the set, finally multiply that by the weight of the quality of the fossil. Ex:
MC ore rarity: 1
Period Rarity: .5
Weight of type: 2 of 12 = .166 (2/12)
Weight of piece: 1 of 8 = .125
weight of quality: 5 of 10 = .5
Total rarity = 1 * .5 * .166 * .125 * .5 = 0.51% chance of an ore in this chunk generating as this specific [quality] [species] [piece] [type], se summary for naming of fossils in the inventory.
Summary:
This will in turn generate many variations of fossil blocks, and fossils: Common Tyrannosaurus Skull Fossil Perfect Velociraptor Claw Fossil
With silk touch: Perfect Deepslate Velociraptor Claw Fossil Perfect Amber Piece Perfect Footprint Trace Fossil
Configurability:
It is important that these values be configurable so that modpack creators can customize the rarities of these creatures, and so that we can balance the mod if someone on the team does not understand code.
These configuration files can be combined into one file if that's preferred, but I split them up for the sake of this example. Also note that these files are incomplete and will need to be populated with every dinosaur, plant, etc. in the mod.
ore_qualities.toml:
[qualities]
#define the weights of each fossil quality, (weight / total weights) = percentage chance this quality will generate and how much dna they will yield as a percentage of a full genome.fragmented = {weight = 2, dna_yield = 0.05}
poor = {weight = 5, dna_yield = 0.1}
common = {weight = 2, dna_yield = 0.4}
pristine = {weight = 1, dna_yield = 1.0}
periods.toml:
[periods]
#defines the depths of each time period for generation, this list is incomplete and the values are examples, DC team to populate a full list once the systems are in place to do so
[periods.carboniferous]
min_y = 2#the min y value that this period generates inmax_y = 20#the max y value that this period generates inrarity_mod = 0.5#the rarity modifier to apply to the "will generate" method of this vein
[periods.jurassic]
min_y = -12max_y = 10rarity_mod = 0.4
[periods.cretaceous]
min_y = -40max_y = -10rarity_mod = 0.3
[fossils]
#defines the configured information for each type of fossil
[fossils.tyrannosaurus_rex]
pieces = "biped"special_pieces = [{piece = "rex_skull", weight = 1}] #optional field to include if a species has a special identifiable fossil typeweight = 1#the lower the number the more rare the fossil; (weight / total weights) = percentage chance this fossil type generatingperiods = ["cretaceous"] #The time period that this fossil type belongs tobiomes = ["minecraft:desert", "minecraft:forest"] #all acceptable biomes for this fossil to generate in
[fossils.velociraptor]
pieces = "biped"special_pieces = [{piece = "raptor_skull"weight = 1}, {piece = "claw", weight = 2}]
weight = 2periods = ["jurassic"]
biomes = ["minecraft:desert", "minecraft:forest"]
[fossils.cycads] #this section also applies to plantspieces = "fern"weight = 2periods = ["jurassic", "cretaceous"]
biomes = ["minecraft:jungle", "minecraft:forest"]
amber_rarities.toml
[amber]
#rarities of each kind of amber
[amber.weights]
tyrannosaurus = 1velociraptor = 2
Introduction:
Below is intended to explain how fossil ore generation should work and how the fossils received by these ores should behave.
The team has further plans for fossils than what is written in this issue, but for all intents and purposes this is the minimum requirements for fossils to do their job in a Beta version of the mod
Fossil Ore & Fossils:
Pieces:
Types of pieces include: skull (generally unique to each dinosaur), neck_long, neck_short, ribcage, foot, arm, leg_quadruped, leg_biped, tail, spine, wing, leaf, trunk
There are also some unique creatures sprites, ex: Spinosaurus neural spines, stegosaurus plates, and the skull of each creatures
Piece sets:
Piece sets define a pool of pieces that can belong to one fossil type, for example t-rex is a biped, so it would contain the biped piece set below:
Periods:
Periods are what defines the depth and overall rarity of a fossil, the older the time period the deeper and more rare the fossil.
Rarity:
The rarity of a fossil can be calculated pretty easily, it is the typical rarity of MC ores, since this is relative let's assign 1 to that.
Then you multiply that by the rarity of the fossils belonging to it's period, then you take it's weight compared to other fossils in that period as a percentage decimal and multiply that, then finally the weight of that specific piece in the set, finally multiply that by the weight of the quality of the fossil. Ex:
MC ore rarity: 1
Period Rarity: .5
Weight of type: 2 of 12 = .166 (2/12)
Weight of piece: 1 of 8 = .125
weight of quality: 5 of 10 = .5
Total rarity = 1 * .5 * .166 * .125 * .5 = 0.51% chance of an ore in this chunk generating as this specific
[quality] [species] [piece] [type]
, se summary for naming of fossils in the inventory.Summary:
This will in turn generate many variations of fossil blocks, and fossils:
Common Tyrannosaurus Skull Fossil
Perfect Velociraptor Claw Fossil
With silk touch:
Perfect Deepslate Velociraptor Claw Fossil
Perfect Amber Piece
Perfect Footprint Trace Fossil
Configurability:
It is important that these values be configurable so that modpack creators can customize the rarities of these creatures, and so that we can balance the mod if someone on the team does not understand code.
These configuration files can be combined into one file if that's preferred, but I split them up for the sake of this example. Also note that these files are incomplete and will need to be populated with every dinosaur, plant, etc. in the mod.
ore_qualities.toml:
periods.toml:
fossil_sets.toml:
fossils.toml:
amber_rarities.toml
trace_fossils.toml
The text was updated successfully, but these errors were encountered: