Source: Decompiled from
HytaleServer.jar(pre-release2026.02.05-9ce2783f7)
The Framework system provides named constants and position providers that can be referenced across the world generation pipeline. Frameworks are defined at the World Structure level and made available to biomes and their sub-systems via a ReferenceBundle. There are 2 registered framework types.
- A
WorldStructureAssetdefines aFrameworkarray - During build, each framework populates the
ReferenceBundlewith named data - Other systems (scanners, position providers, density functions) reference this data by name
graph LR
WS[WorldStructure] --> F[Framework Array]
F --> DC[DecimalConstants]
F --> P[Positions]
DC --> RB[ReferenceBundle]
P --> RB
RB --> S[Scanners]
RB --> PP[Position Providers]
RB --> DF[Density Functions]
The runtime container for framework data. Provides type-safe storage and retrieval.
| Method | Description |
|---|---|
put(name, reference, type) |
Register named reference with type |
get(name, type) |
Retrieve typed reference (asserts type compatibility) |
Stores named double values accessible throughout the pipeline.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
Entries |
EntryAsset[] |
Yes | [] |
Array of named constants |
Each entry contains:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
Name |
string |
Yes | — | Constant name |
Value |
double |
Yes | — | Constant value |
Registered as: "DecimalConstants" in ReferenceBundle
Usage: Referenced by scanners (BaseHeightName field) and density functions that need named height values or other global constants.
{
"Type": "DecimalConstants",
"Entries": {
"base_height": { "Name": "base_height", "Value": 64.0 },
"sea_level": { "Name": "sea_level", "Value": 62.0 },
"max_terrain": { "Name": "max_terrain", "Value": 200.0 }
}
}Stores named position providers accessible throughout the pipeline.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
Entries |
EntryAsset[] |
Yes | [] |
Array of named position providers |
Each entry contains:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
Name |
string |
Yes | — | Position provider name |
Positions |
PositionProviderAsset |
Yes | List() |
Position provider definition |
Registered as: "Positions" in ReferenceBundle
Usage: Referenced by Framework type position providers (see Position Providers).
{
"Type": "Positions",
"Entries": {
"spawn_grid": {
"Name": "spawn_grid",
"Positions": {
"Type": "Mesh2D",
"PointGenerator": { "Type": "Mesh", "Spacing": 16, "Jitter": 0.3 },
"PointsY": 0
}
}
}
}{
"Type": "NoiseRange",
"Framework": {
"constants": {
"Type": "DecimalConstants",
"Entries": {
"base_height": { "Name": "base_height", "Value": 64.0 }
}
},
"positions": {
"Type": "Positions",
"Entries": {
"tree_grid": {
"Name": "tree_grid",
"Positions": { "Type": "Mesh2D", "PointGenerator": { "Type": "Mesh", "Spacing": 8 }, "PointsY": 0 }
}
}
}
},
"Biomes": {},
"DefaultBiome": "plains"
}Source files: FrameworkAsset.java, DecimalConstantsFrameworkAsset.java, PositionsFrameworkAsset.java, ReferenceBundle.java