World settings(config.json)
PNX supports loading worlds from BDS, you just need to place them under worlds to load them. After loading the world, a config.json will be generated to control some world-related configs.
Example
The following is a config example used to start the built-in Terra terrain generator in PNX and use its default config pack.
Remember to turn on use-terra=on in server.properties before using it.
{
"format": "leveldb",
"enable": true,
"generators": {
"0": {
"name": "terra",
"seed": 0,
"enableAntiXray": false,
"antiXrayMode": "LOW",
"preDeobfuscate": true,
"dimensionData": {
"dimensionName": "minecraft:overworld",
"dimensionId": 0,
"minHeight": -64,
"maxHeight": 319,
"height": 384,
"chunkSectionCount": 24
},
"preset": {
"pack": "overworld"
}
}
}
}
Config items
Here are explanations of some config items in the above example
DimensionData: object
OverWorld
{
"dimensionName": "minecraft:overworld",
"dimensionId": 0,
"minHeight": -64,
"maxHeight": 319,
"height": 384,
"chunkSectionCount": 24
}
Nether
{
"dimensionName": "minecraft:nether",
"dimensionId": 1,
"minHeight": 0,
"maxHeight": 127,
"height": 128,
"chunkSectionCount": 8
}
End
{
"dimensionName": "minecraft:end",
"dimensionId": 2,
"minHeight": 0,
"maxHeight": 255,
"height": 256,
"chunkSectionCount": 16
}
enable: boolean
Value: true false
Controls whether to load this world, default is true
format: string
Value: leveldb
Controls the loader for loading the world, currently only supports leveldb
generators: object
Key: DimensionId 代表 加载的维度id [0,1,2] Value: Generator
Controls the dimensions loaded for this world
Generator: object
nameName of the generator, used to control the terrain generator used by this dimension, such asterra, specific values are determined by plugins and coreseedSeed used for random number generationenableAntiXrayWhether to enable anti Xray anti-cheatantiXrayModeAnti Xray anti-cheat check level, effective only when enableAntiXray is enabled [LOWMEDIUMHIGH]preDeobfuscateWhether to pre-deobfuscate blocks, which can optimize the experience of normal players, effective only when enableAntiXray is enabled [truefalse]dimensionData: DimensionDatapresetAn object whose values are passed to the generator, how to use them needs to be checked in the corresponding generator's documentation
PNX Built-in Generators
flat
A flat generator, very similar to the vanilla
terra
- Terra is an open-source generator, you can use terra in PNX to generate epic worlds.
- Set
use-terra=oninserver.propertiesto enable the terra generator. - Terra controls terrain generation through config packs, and you can use different config packs for different experiences.
- Terra supports loading config packs from zip or folder. To install a config pack, just place it in the
./terra/packsfolder and restart the server. - Some available config packs can be found here: Community Packs.
Next, we will use the ReimagEND config pack as an example to describe how to use config packs.
Firstly create a world folder in the worlds directory, such as end, and create the following config file config.json
{
"format": "leveldb",
"enable": true,
"generators": {
"2": {
"name": "terra",
"seed": 0,
"enableAntiXray": false,
"antiXrayMode": "LOW",
"preDeobfuscate": true,
"dimensionData": {
"dimensionName": "minecraft:end",
"dimensionId": 2,
"minHeight": 0,
"maxHeight": 255,
"height": 256,
"chunkSectionCount": 16
},
"preset": {
"pack": "REIMAGEND"
}
}
}
}
The preset/pack is the name of the config pack, you can find it in the id item of the pack.yml file in the config pack.
Then, restart the server. Type world tp end Dim2 teleport to end world
Why Settings Do Not Take Effect
- If your world was not previously using the terra generator, the settings will not take effect, you need to create a new world.
- Please check if you have configured Terra correctly, otherwise it will not take effect.
Too Much Memory Usage
If you want to reduce memory usage, you can try modifying ./terra/config/yml:
cache:
structure: 0 # default 32
sampler: 0 # default 128
biome-provider: 0 # default 32
This will reduce memory usage but will increase CPU load.