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 Key representing the dimension ID to load [0,1,2]
Value: Generator
Controls the dimensions loaded for this world
Generator
: object
name
Name of the generator, used to control the terrain generator used by this dimension, such asterra
, specific values are determined by plugins and coreseed
Seed used for random number generationenableAntiXray
Whether to enable anti Xray anti-cheatantiXrayMode
Anti Xray anti-cheat check level, effective only when enableAntiXray is enabled [LOW
MEDIUM
HIGH
]preDeobfuscate
Whether to pre-deobfuscate blocks, which can optimize the experience of normal players, effective only when enableAntiXray is enabled [true
false
]dimensionData
: DimensionDatapreset
An 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 (opens in a new tab), you can use terra in PNX to generate epic worlds.
- Set
use-terra=on
inserver.properties
to 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/packs
folder and restart the server. - Some available config packs can be found here: Community Packs (opens in a new tab).
Next, we will use the ReimagEND (opens in a new tab) 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.