blob: 279af4cc1f40dc73d150101633532392be2491ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#pragma once
#include "StarBiomePlacement.hpp"
#include "StarSpawner.hpp"
namespace Star {
STAR_STRUCT(AmbientNoisesDescription);
STAR_CLASS(Parallax);
STAR_STRUCT(BiomePlaceables);
STAR_STRUCT(Biome);
struct BiomePlaceables {
BiomePlaceables();
explicit BiomePlaceables(Json const& json);
Json toJson() const;
// If any of the item distributions contain trees, this returns the first
// tree type.
Maybe<TreeVariant> firstTreeType() const;
ModId grassMod;
float grassModDensity;
ModId ceilingGrassMod;
float ceilingGrassModDensity;
List<BiomeItemDistribution> itemDistributions;
};
struct Biome {
Biome();
explicit Biome(Json const& store);
Json toJson() const;
String baseName;
String description;
MaterialId mainBlock;
List<MaterialId> subBlocks;
// Pairs the ore type with the commonality multiplier.
List<pair<ModId, float>> ores;
float hueShift;
MaterialHue materialHueShift;
BiomePlaceables surfacePlaceables;
BiomePlaceables undergroundPlaceables;
SpawnProfile spawnProfile;
ParallaxPtr parallax;
AmbientNoisesDescriptionPtr ambientNoises;
AmbientNoisesDescriptionPtr musicTrack;
};
}
|