mirror of
https://github.com/BentoBoxWorld/CaveBlock.git
synced 2024-11-14 10:15:22 +01:00
Fixes a 1.18 world generator bug where it generated dirt-grass layers.
Expose 3 world generator options for overworld: - natural-surface - generates surface that is natural(-ish). Currently, it may be just grass and dirt layers. - natural-caves - generates caves inside world. - natural-bedrock - generates natural looking bedrock pattern. This also fixes a bug with floor and roof config option not working properly. Fixes https://github.com/BentoBoxWorld/Level/issues/258
This commit is contained in:
parent
e6e3c97f80
commit
28f1a57838
2
pom.xml
2
pom.xml
@ -50,7 +50,7 @@
|
||||
<!-- Revision variable removes warning about dynamic version -->
|
||||
<revision>${build.version}-SNAPSHOT</revision>
|
||||
<!-- This allows to change between versions and snapshots. -->
|
||||
<build.version>1.15.0</build.version>
|
||||
<build.version>1.16.0</build.version>
|
||||
<build.number>-LOCAL</build.number>
|
||||
<sonar.organization>bentobox-world</sonar.organization>
|
||||
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
|
||||
|
@ -34,7 +34,9 @@ public class CaveBlock extends GameModeAddon
|
||||
this.saveDefaultConfig();
|
||||
this.loadSettings();
|
||||
|
||||
this.chunkGenerator = new ChunkGeneratorWorld(this);
|
||||
this.chunkNormalGenerator = new ChunkGeneratorWorld(this, World.Environment.NORMAL);
|
||||
this.chunkNetherGenerator = new ChunkGeneratorWorld(this, World.Environment.NETHER);
|
||||
this.chunkEndGenerator = new ChunkGeneratorWorld(this, World.Environment.THE_END);
|
||||
|
||||
// Player Command
|
||||
this.playerCommand = new DefaultPlayerCommand(this)
|
||||
@ -137,7 +139,7 @@ public class CaveBlock extends GameModeAddon
|
||||
// Create the world if it does not exist
|
||||
this.islandWorld = WorldCreator.name(worldName).
|
||||
environment(World.Environment.NORMAL).
|
||||
generator(this.chunkGenerator).
|
||||
generator(this.chunkNormalGenerator).
|
||||
createWorld();
|
||||
// Set spawn rates
|
||||
setSpawnRates(islandWorld);
|
||||
@ -162,7 +164,7 @@ public class CaveBlock extends GameModeAddon
|
||||
{
|
||||
this.netherWorld = WorldCreator.name(worldName + NETHER).
|
||||
type(WorldType.FLAT).
|
||||
generator(this.chunkGenerator).
|
||||
generator(this.chunkNetherGenerator).
|
||||
environment(World.Environment.NETHER).
|
||||
createWorld();
|
||||
}
|
||||
@ -187,7 +189,7 @@ public class CaveBlock extends GameModeAddon
|
||||
{
|
||||
this.endWorld = WorldCreator.name(worldName + THE_END).
|
||||
type(WorldType.FLAT).
|
||||
generator(this.chunkGenerator).
|
||||
generator(this.chunkEndGenerator).
|
||||
environment(World.Environment.THE_END).
|
||||
createWorld();
|
||||
}
|
||||
@ -232,7 +234,18 @@ public class CaveBlock extends GameModeAddon
|
||||
@Override
|
||||
public @NonNull ChunkGenerator getDefaultWorldGenerator(String worldName, String id)
|
||||
{
|
||||
return this.chunkGenerator;
|
||||
if (worldName.endsWith("_nether"))
|
||||
{
|
||||
return this.chunkNetherGenerator;
|
||||
}
|
||||
else if (worldName.endsWith("_the_end"))
|
||||
{
|
||||
return this.chunkEndGenerator;
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.chunkNormalGenerator;
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
@ -284,9 +297,19 @@ public class CaveBlock extends GameModeAddon
|
||||
private Settings settings;
|
||||
|
||||
/**
|
||||
* This stores CaveBlock addon WorldGenerator.
|
||||
* This stores CaveBlock addon WorldGenerator for overworld.
|
||||
*/
|
||||
private ChunkGeneratorWorld chunkGenerator;
|
||||
private ChunkGeneratorWorld chunkNormalGenerator;
|
||||
|
||||
/**
|
||||
* This stores CaveBlock addon WorldGenerator for the nether.
|
||||
*/
|
||||
private ChunkGeneratorWorld chunkNetherGenerator;
|
||||
|
||||
/**
|
||||
* This stores CaveBlock addon WorldGenerator for the end.
|
||||
*/
|
||||
private ChunkGeneratorWorld chunkEndGenerator;
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
|
@ -2077,6 +2077,72 @@ public class Settings implements WorldSettings
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Is generate caves boolean.
|
||||
*
|
||||
* @return the boolean
|
||||
*/
|
||||
public boolean isGenerateCaves()
|
||||
{
|
||||
return generateCaves;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets generate caves.
|
||||
*
|
||||
* @param generateCaves the generate caves
|
||||
*/
|
||||
public void setGenerateCaves(boolean generateCaves)
|
||||
{
|
||||
this.generateCaves = generateCaves;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Is generate natural bedrock boolean.
|
||||
*
|
||||
* @return the boolean
|
||||
*/
|
||||
public boolean isGenerateNaturalBedrock()
|
||||
{
|
||||
return generateNaturalBedrock;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets generate natural bedrock.
|
||||
*
|
||||
* @param generateNaturalBedrock the generate natural bedrock
|
||||
*/
|
||||
public void setGenerateNaturalBedrock(boolean generateNaturalBedrock)
|
||||
{
|
||||
this.generateNaturalBedrock = generateNaturalBedrock;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Is generate natural surface boolean.
|
||||
*
|
||||
* @return the boolean
|
||||
*/
|
||||
public boolean isGenerateNaturalSurface()
|
||||
{
|
||||
return generateNaturalSurface;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets generate natural surface.
|
||||
*
|
||||
* @param generateNaturalSurface the generate natural surface
|
||||
*/
|
||||
public void setGenerateNaturalSurface(boolean generateNaturalSurface)
|
||||
{
|
||||
this.generateNaturalSurface = generateNaturalSurface;
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Section: Variables
|
||||
// ---------------------------------------------------------------------
|
||||
@ -2196,8 +2262,8 @@ public class Settings implements WorldSettings
|
||||
private int banLimit = -1;
|
||||
|
||||
@ConfigComment("")
|
||||
@ConfigComment("This is cave.. no height... only depth. Max 256.")
|
||||
@ConfigComment("Should not be less then cave height.")
|
||||
@ConfigComment("This is cave.. no height... only depth. If depth is set smaller than maximal world height, then area above will be empty.")
|
||||
@ConfigComment("Should not be less than cave height.")
|
||||
@ConfigEntry(path = "world.world-depth", needsReset = true)
|
||||
private int worldDepth = 256;
|
||||
|
||||
@ -2212,14 +2278,34 @@ public class Settings implements WorldSettings
|
||||
private boolean newMaterialGenerator = false;
|
||||
|
||||
@ConfigComment("")
|
||||
@ConfigComment("Make over world roof of bedrock, if false, it will be made from stone")
|
||||
@ConfigComment("Make over world roof of bedrock, if false, it will be made from stone.")
|
||||
@ConfigEntry(path = "world.normal.roof", needsReset = true)
|
||||
private boolean normalRoof = true;
|
||||
|
||||
@ConfigComment("Make over world floor of bedrock, if false, it will be made from stone")
|
||||
@ConfigComment("")
|
||||
@ConfigComment("Option allows to toggle if world generator should generate natural(-ish) looking surface with dirt and grass blocks.")
|
||||
@ConfigComment("Enabling this option will ignore roof setting.")
|
||||
@ConfigComment("Default value is false.")
|
||||
@ConfigEntry(path = "world.normal.natural-surface", needsReset = true, experimental = true)
|
||||
private boolean generateNaturalSurface = false;
|
||||
|
||||
@ConfigComment("")
|
||||
@ConfigComment("Option allows to toggle if world generator should generate natural looking caves.")
|
||||
@ConfigComment("Default value is false.")
|
||||
@ConfigEntry(path = "world.normal.natural-caves", needsReset = true)
|
||||
private boolean generateCaves = false;
|
||||
|
||||
@ConfigComment("Make over world floor of bedrock, if false, it will be made from stone.")
|
||||
@ConfigEntry(path = "world.normal.floor", needsReset = true)
|
||||
private boolean normalFloor = true;
|
||||
|
||||
@ConfigComment("")
|
||||
@ConfigComment("Option allows to toggle if world generator should generate natural looking bedrock block patterns.")
|
||||
@ConfigComment("Enabling this option will ignore floor setting.")
|
||||
@ConfigComment("Default value is false.")
|
||||
@ConfigEntry(path = "world.normal.natural-bedrock", needsReset = true)
|
||||
private boolean generateNaturalBedrock = false;
|
||||
|
||||
@ConfigComment("Main block of which world will be generated.")
|
||||
@ConfigEntry(path = "world.normal.main-block", needsReset = true)
|
||||
private Material normalMainBlock = Material.STONE;
|
||||
|
@ -6,12 +6,10 @@ import org.bukkit.generator.BiomeProvider;
|
||||
import org.bukkit.generator.BlockPopulator;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.generator.WorldInfo;
|
||||
|
||||
import world.bentobox.caveblock.CaveBlock;
|
||||
import world.bentobox.caveblock.Settings;
|
||||
import world.bentobox.caveblock.generators.populators.EntitiesPopulator;
|
||||
import world.bentobox.caveblock.generators.populators.FlatBiomeProvider;
|
||||
import world.bentobox.caveblock.generators.populators.MaterialPopulator;
|
||||
import world.bentobox.caveblock.generators.populators.NewMaterialPopulator;
|
||||
import world.bentobox.caveblock.generators.populators.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -31,6 +29,7 @@ public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
private final CaveBlock addon;
|
||||
private final Settings settings;
|
||||
private final List<BlockPopulator> blockPopulators;
|
||||
private final World.Environment environment;
|
||||
private BiomeProvider biomeProvider;
|
||||
private boolean isNewGenerator;
|
||||
|
||||
@ -40,12 +39,14 @@ public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
|
||||
/**
|
||||
* @param addon - CaveBlock object
|
||||
* @param environment - World environment
|
||||
*/
|
||||
public ChunkGeneratorWorld(CaveBlock addon) {
|
||||
public ChunkGeneratorWorld(CaveBlock addon, World.Environment environment) {
|
||||
this.addon = addon;
|
||||
this.settings = addon.getSettings();
|
||||
this.blockPopulators = new ArrayList<>(2);
|
||||
|
||||
this.environment = environment;
|
||||
reload();
|
||||
}
|
||||
|
||||
@ -53,14 +54,24 @@ public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
// Section: Methods
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
private Material getGroundCeilMaterial(World.Environment environment) {
|
||||
private Material getGroundRoofMaterial(World.Environment environment) {
|
||||
return switch (environment) {
|
||||
case NETHER -> this.settings.isNetherRoof() ? Material.BEDROCK : this.settings.getNetherMainBlock();
|
||||
case THE_END -> this.settings.isEndRoof() ? Material.BEDROCK : this.settings.getEndMainBlock();
|
||||
default -> this.settings.isNormalRoof() ? Material.BEDROCK : this.settings.getNormalMainBlock();
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
private Material getGroundFloorMaterial(World.Environment environment) {
|
||||
return switch (environment) {
|
||||
case NETHER -> this.settings.isNetherFloor() ? Material.BEDROCK : this.settings.getNetherMainBlock();
|
||||
case THE_END -> this.settings.isEndFloor() ? Material.BEDROCK : this.settings.getEndMainBlock();
|
||||
default -> this.settings.isNormalFloor() ? Material.BEDROCK : this.settings.getNormalMainBlock();
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
private Material getBaseMaterial(World.Environment environment) {
|
||||
return switch (environment) {
|
||||
case NETHER -> this.settings.getNetherMainBlock();
|
||||
@ -70,19 +81,35 @@ public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateBedrock(WorldInfo worldInfo, Random random, int chunkX, int chunkZ, ChunkData chunkData) {
|
||||
final int minHeight = worldInfo.getMinHeight();
|
||||
Material material = getGroundCeilMaterial(worldInfo.getEnvironment());
|
||||
chunkData.setRegion(0, minHeight, 0, 16, minHeight + 1, 16, material);
|
||||
public void generateBedrock(WorldInfo worldInfo, Random random, int chunkX, int chunkZ, ChunkData chunkData)
|
||||
{
|
||||
if (!this.shouldGenerateBedrock())
|
||||
{
|
||||
final int minHeight = worldInfo.getMinHeight();
|
||||
Material material = this.getGroundFloorMaterial(worldInfo.getEnvironment());
|
||||
chunkData.setRegion(0, minHeight, 0, 16, minHeight + 1, 16, material);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Apparently default surface generation does not include 0 bedrock layer.
|
||||
final int minHeight = worldInfo.getMinHeight();
|
||||
chunkData.setRegion(0, minHeight, 0, 16, minHeight + 1, 16, Material.BEDROCK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void generateSurface(WorldInfo worldInfo, Random random, int chunkX, int chunkZ, ChunkData chunkData) {
|
||||
final int worldHeight = Math.min(worldInfo.getMaxHeight(), this.settings.getWorldDepth());
|
||||
Material material = getGroundCeilMaterial(worldInfo.getEnvironment());
|
||||
chunkData.setRegion(0, worldHeight - 1, 0, 16, worldHeight, 16, material);
|
||||
public void generateSurface(WorldInfo worldInfo, Random random, int chunkX, int chunkZ, ChunkData chunkData)
|
||||
{
|
||||
if (!this.shouldGenerateSurface())
|
||||
{
|
||||
final int worldHeight = Math.min(worldInfo.getMaxHeight(), this.settings.getWorldDepth());
|
||||
Material material = this.getGroundRoofMaterial(worldInfo.getEnvironment());
|
||||
chunkData.setRegion(0, worldHeight - 1, 0, 16, worldHeight, 16, material);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void generateNoise(WorldInfo worldInfo, Random random, int chunkX, int chunkZ, ChunkData chunkData) {
|
||||
final int minHeight = worldInfo.getMinHeight();
|
||||
@ -127,18 +154,22 @@ public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldGenerateSurface() {
|
||||
return true;
|
||||
public boolean shouldGenerateSurface()
|
||||
{
|
||||
// Surface generation should happen only in overworld. Nether and end worlds does not have surface.
|
||||
return this.environment.equals(World.Environment.NORMAL) && this.settings.isGenerateNaturalSurface();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldGenerateBedrock() {
|
||||
return true;
|
||||
// Bedrock generation should happen only in overworld. Nether and end worlds does not have nice bedrock layers.
|
||||
return this.environment.equals(World.Environment.NORMAL) && this.settings.isGenerateNaturalBedrock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldGenerateCaves() {
|
||||
return this.isNewGenerator;
|
||||
// Cave generation should happen only in overworld. Nether and end worlds does not have nice cave layers.
|
||||
return this.environment.equals(World.Environment.NORMAL) && this.settings.isGenerateCaves();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,4 +1,4 @@
|
||||
# CaveBlock Configuration {$version}
|
||||
# CaveBlock Configuration 1.15.0-SNAPSHOT-LOCAL
|
||||
caveblock:
|
||||
command:
|
||||
# Cave Command. What command users will run to access their cave.
|
||||
@ -9,12 +9,12 @@ caveblock:
|
||||
admin: cbadmin cba
|
||||
# The default action for new player command call.
|
||||
# Sub-command of main player command that will be run on first player command call.
|
||||
# By default, it is the sub-command 'create'.
|
||||
# By default it is sub-command 'create'.
|
||||
# Added since 1.13.0.
|
||||
new-player-action: create
|
||||
# The default action for player command.
|
||||
# Sub-command of main player command that will be run on each player command call.
|
||||
# By default, it is the sub-command 'go'.
|
||||
# By default it is sub-command 'go'.
|
||||
# Added since 1.13.0.
|
||||
default-action: go
|
||||
world:
|
||||
@ -81,9 +81,9 @@ world:
|
||||
# The permission caveblock.ban.maxlimit.X where X is a number can also be used per player
|
||||
# -1 = unlimited
|
||||
ban-limit: -1
|
||||
#
|
||||
# This is cave.. no height... only depth. Max 256.
|
||||
# Should not be less then cave height.
|
||||
#
|
||||
# This is cave.. no height... only depth. If depth is set smaller than maximal world height, then area above will be empty.
|
||||
# Should not be less than cave height.
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
world-depth: 256
|
||||
# This indicate how many times block should be tried to generate.
|
||||
@ -95,13 +95,31 @@ world:
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
use-new-material-generator: false
|
||||
normal:
|
||||
#
|
||||
# Make over world roof of bedrock, if false, it will be made from stone
|
||||
#
|
||||
# Make over world roof of bedrock, if false, it will be made from stone.
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
roof: true
|
||||
# Make over world floor of bedrock, if false, it will be made from stone
|
||||
#
|
||||
# Option allows to toggle if world generator should generate natural(-ish) looking surface with dirt and grass blocks.
|
||||
# Enabling this option will ignore roof setting.
|
||||
# Default value is false.
|
||||
# /!\ This feature is experimental and might not work as expected or might not work at all.
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
natural-surface: false
|
||||
#
|
||||
# Option allows to toggle if world generator should generate natural looking caves.
|
||||
# Default value is false.
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
natural-caves: false
|
||||
# Make over world floor of bedrock, if false, it will be made from stone.
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
floor: true
|
||||
#
|
||||
# Option allows to toggle if world generator should generate natural looking bedrock block patterns.
|
||||
# Enabling this option will ignore floor setting.
|
||||
# Default value is false.
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
natural-bedrock: false
|
||||
# Main block of which world will be generated.
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
main-block: STONE
|
||||
@ -116,24 +134,24 @@ world:
|
||||
# where max amount in pack are 5 per each subchunk!
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
blocks:
|
||||
- MATERIAL:DIAMOND_ORE:1:5
|
||||
- MATERIAL:GOLD_ORE:1:4
|
||||
- MATERIAL:IRON_ORE:5:4
|
||||
- MATERIAL:COAL_ORE:10:6
|
||||
- MATERIAL:EMERALD_ORE:1:1
|
||||
- MATERIAL:CLAY:10:6
|
||||
- MATERIAL:DIRT:20:10
|
||||
- MATERIAL:GRAVEL:40:6
|
||||
- MATERIAL:GRANITE:40:10
|
||||
- MATERIAL:ANDESITE:20:10
|
||||
- MATERIAL:DIORITE:30:8
|
||||
- ENTITY:ZOMBIE:10:1
|
||||
- ENTITY:ENDERMAN:10:1
|
||||
- ENTITY:SKELETON:10:1
|
||||
- ENTITY:CREEPER:1:1
|
||||
- ENTITY:DOLPHIN:1:1
|
||||
- ENTITY:BAT:10:1
|
||||
- ENTITY:CAVE_SPIDER:10:1
|
||||
- MATERIAL:DIAMOND_ORE:1:5
|
||||
- MATERIAL:GOLD_ORE:1:4
|
||||
- MATERIAL:IRON_ORE:5:4
|
||||
- MATERIAL:COAL_ORE:10:6
|
||||
- MATERIAL:EMERALD_ORE:1:1
|
||||
- MATERIAL:CLAY:10:6
|
||||
- MATERIAL:DIRT:20:10
|
||||
- MATERIAL:GRAVEL:40:6
|
||||
- MATERIAL:GRANITE:40:10
|
||||
- MATERIAL:ANDESITE:20:10
|
||||
- MATERIAL:DIORITE:30:8
|
||||
- ENTITY:ZOMBIE:10:1
|
||||
- ENTITY:ENDERMAN:10:1
|
||||
- ENTITY:SKELETON:10:1
|
||||
- ENTITY:CREEPER:1:1
|
||||
- ENTITY:DOLPHIN:1:1
|
||||
- ENTITY:BAT:10:1
|
||||
- ENTITY:CAVE_SPIDER:10:1
|
||||
nether:
|
||||
# Generate Nether - if this is false, the nether world will not be made and access to
|
||||
# the nether will not occur. Other plugins may still enable portal usage.
|
||||
@ -172,18 +190,19 @@ world:
|
||||
# where max amount in pack are 5 per each subchunk!
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
blocks:
|
||||
- MATERIAL:NETHER_QUARTZ_ORE:30:5
|
||||
- MATERIAL:SOUL_SAND:40:10
|
||||
- MATERIAL:MAGMA_BLOCK:10:3
|
||||
- MATERIAL:GLOWSTONE:20:8
|
||||
- MATERIAL:NETHER_BRICKS:10:5
|
||||
- MATERIAL:LAVA:10:1
|
||||
- ENTITY:MAGMA_CUBE:0.5:1
|
||||
- ENTITY:GHAST:0.1:1
|
||||
- ENTITY:WITHER_SKELETON:0.1:1
|
||||
- MATERIAL:FIRE:10:1
|
||||
- MATERIAL:NETHER_QUARTZ_ORE:30:5
|
||||
- MATERIAL:SOUL_SAND:40:10
|
||||
- MATERIAL:MAGMA_BLOCK:10:3
|
||||
- MATERIAL:GLOWSTONE:20:8
|
||||
- MATERIAL:NETHER_BRICKS:10:5
|
||||
- MATERIAL:LAVA:10:1
|
||||
- ENTITY:MAGMA_CUBE:0.5:1
|
||||
- ENTITY:GHAST:0.1:1
|
||||
- ENTITY:WITHER_SKELETON:0.1:1
|
||||
- MATERIAL:FIRE:10:1
|
||||
# This option indicates if nether portals should be linked via dimensions.
|
||||
# Option will simulate vanilla portal mechanics that links portals together or creates a new portal, if there is not a portal in other dimension.
|
||||
# Option will simulate vanilla portal mechanics that links portals together
|
||||
# or creates a new portal, if there is not a portal in that dimension.
|
||||
create-and-link-portals: false
|
||||
end:
|
||||
generate: true
|
||||
@ -214,16 +233,17 @@ world:
|
||||
# where max amount in pack are 5 per each subchunk!
|
||||
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
|
||||
blocks:
|
||||
- ENTITY:SHULKER:0.2:1
|
||||
- MATERIAL:OBSIDIAN:1:1
|
||||
- MATERIAL:CHORUS_PLANT:1:3
|
||||
# This option indicates if obsidian platform in the end should be generated when player enters the end world.
|
||||
- ENTITY:SHULKER:0.2:1
|
||||
- MATERIAL:OBSIDIAN:1:1
|
||||
- MATERIAL:CHORUS_PLANT:1:3
|
||||
# This option indicates if obsidian platform in the end should be generated
|
||||
# when player enters the end world.
|
||||
create-obsidian-platform: false
|
||||
# Mob white list - these mobs will NOT be removed when logging in or doing /cave
|
||||
remove-mobs-whitelist:
|
||||
- WITHER
|
||||
- ENDERMAN
|
||||
- ZOMBIE_VILLAGER
|
||||
- ZOMBIE_VILLAGER
|
||||
- WITHER
|
||||
- ENDERMAN
|
||||
# World flags. These are boolean settings for various flags for this world
|
||||
flags:
|
||||
CREEPER_DAMAGE: true
|
||||
@ -232,6 +252,7 @@ world:
|
||||
ISLAND_RESPAWN: true
|
||||
CREEPER_GRIEFING: false
|
||||
COARSE_DIRT_TILLING: true
|
||||
PETS_STAY_AT_HOME: true
|
||||
ENDERMAN_GRIEFING: true
|
||||
CLEAN_SUPER_FLAT: false
|
||||
CHEST_DAMAGE: false
|
||||
@ -241,6 +262,7 @@ world:
|
||||
ENDERMAN_DEATH_DROP: true
|
||||
LIQUIDS_FLOWING_OUT: false
|
||||
OFFLINE_REDSTONE: true
|
||||
REMOVE_END_EXIT_ISLAND: true
|
||||
OFFLINE_GROWTH: true
|
||||
REMOVE_MOBS: true
|
||||
ENDER_CHEST: false
|
||||
@ -272,15 +294,15 @@ world:
|
||||
END_PORTAL: 500
|
||||
BREEDING: 500
|
||||
HURT_VILLAGERS: 500
|
||||
TURTLE_EGGS: 500
|
||||
FROST_WALKER: 500
|
||||
TURTLE_EGGS: 500
|
||||
COLLECT_LAVA: 500
|
||||
BREAK_SPAWNERS: 500
|
||||
LEVER: 500
|
||||
ELYTRA: 0
|
||||
CAKE: 500
|
||||
HURT_MONSTERS: 0
|
||||
RIDING: 500
|
||||
HURT_MONSTERS: 0
|
||||
NAME_TAG: 500
|
||||
ARMOR_STAND: 500
|
||||
TRADING: 0
|
||||
@ -301,17 +323,17 @@ world:
|
||||
COMMAND_RANKS: 500
|
||||
BEACON: 500
|
||||
TRAPDOOR: 500
|
||||
EXPERIENCE_BOTTLE_THROWING: 500
|
||||
PRESSURE_PLATE: 0
|
||||
EXPERIENCE_BOTTLE_THROWING: 500
|
||||
DYE: 500
|
||||
ITEM_FRAME: 500
|
||||
PLACE_BLOCKS: 500
|
||||
CRAFTING: 0
|
||||
ENCHANTING: 0
|
||||
SHEARING: 500
|
||||
ENCHANTING: 0
|
||||
BOAT: 500
|
||||
BED: 500
|
||||
SPAWN_EGGS: 500
|
||||
BED: 500
|
||||
MILKING: 0
|
||||
DISPENSER: 500
|
||||
GATE: 0
|
||||
@ -322,8 +344,8 @@ world:
|
||||
BREAK_BLOCKS: 500
|
||||
CHORUS_FRUIT: 500
|
||||
CONTAINER: 500
|
||||
POTION_THROWING: 500
|
||||
JUKEBOX: 500
|
||||
POTION_THROWING: 500
|
||||
# These are the default settings for new caves
|
||||
default-cave-settings:
|
||||
PVP_END: false
|
||||
@ -335,33 +357,33 @@ world:
|
||||
MONSTER_NATURAL_SPAWN: true
|
||||
FIRE_IGNITE: true
|
||||
FIRE_SPREAD: true
|
||||
ANIMAL_SPAWNERS_SPAWN: true
|
||||
FIRE_BURNING: true
|
||||
ANIMAL_SPAWNERS_SPAWN: true
|
||||
PVP_OVERWORLD: false
|
||||
# These settings/flags are hidden from users
|
||||
# Ops can toggle hiding in-game using SHIFT-LEFT-CLICK on flags in settings
|
||||
hidden-flags: []
|
||||
# Visitor banned commands - Visitors to caves cannot use these commands in this world
|
||||
visitor-banned-commands:
|
||||
- spawner
|
||||
- spawnmob
|
||||
- spawner
|
||||
- spawnmob
|
||||
# Falling banned commands - players cannot use these commands when falling
|
||||
# if the PREVENT_TELEPORT_WHEN_FALLING world setting flag is active
|
||||
falling-banned-commands:
|
||||
- warp
|
||||
- spawn
|
||||
- warp
|
||||
- spawn
|
||||
cave:
|
||||
# Default max team size
|
||||
# Permission size cannot be less than the default below.
|
||||
# Permission size cannot be less than the default below.
|
||||
max-team-size: 4
|
||||
# Default maximum number of coop rank members per cave
|
||||
# Players can have the caveblock.coop.maxsize.<number> permission to be bigger but
|
||||
# permission size cannot be less than the default below.
|
||||
# permission size cannot be less than the default below.
|
||||
# Added since 1.13.0.
|
||||
max-coop-size: 4
|
||||
# Default maximum number of trusted rank members per cave
|
||||
# Players can have the caveblock.trust.maxsize.<number> permission to be bigger but
|
||||
# permission size cannot be less than the default below.
|
||||
# permission size cannot be less than the default below.
|
||||
# Added since 1.13.0.
|
||||
max-trusted-size: 4
|
||||
# Default maximum number of homes a player can have. Min = 1
|
||||
@ -461,10 +483,46 @@ cave:
|
||||
create-missing-nether-end-caves: false
|
||||
commands:
|
||||
# List of commands to run when a player joins an cave or creates one.
|
||||
# These commands are run by the console, unless otherwise stated using the [SUDO] prefix,
|
||||
# in which case they are executed by the player.
|
||||
#
|
||||
# Available placeholders for the commands are the following:
|
||||
# * [name]: name of the player
|
||||
#
|
||||
# Here are some examples of valid commands to execute:
|
||||
# * '[SUDO] bbox version'
|
||||
# * 'bsbadmin deaths set [player] 0'
|
||||
#
|
||||
# Note that player-executed commands might not work, as these commands can be run with said player being offline.
|
||||
# Added since 1.8.0.
|
||||
on-join: []
|
||||
# List of commands to run when a player leaves a cave, resets his cave or gets kicked from it.
|
||||
# These commands are run by the console, unless otherwise stated using the [SUDO] prefix,
|
||||
# in which case they are executed by the player.
|
||||
#
|
||||
# Available placeholders for the commands are the following:
|
||||
# * [name]: name of the player
|
||||
#
|
||||
# Here are some examples of valid commands to execute:
|
||||
# * '[SUDO] bbox version'
|
||||
# * 'bsbadmin deaths set [player] 0'
|
||||
#
|
||||
# Note that player-executed commands might not work, as these commands can be run with said player being offline.
|
||||
# Added since 1.8.0.
|
||||
on-leave: []
|
||||
# Returns a list of commands that should be executed when the player respawns after death if Flags.ISLAND_RESPAWN is true.
|
||||
# List of commands that should be executed when the player respawns after death if Flags.ISLAND_RESPAWN is true.
|
||||
# These commands are run by the console, unless otherwise stated using the [SUDO] prefix,
|
||||
# in which case they are executed by the player.
|
||||
#
|
||||
# Available placeholders for the commands are the following:
|
||||
# * [name]: name of the player
|
||||
#
|
||||
# Here are some examples of valid commands to execute:
|
||||
# * '[SUDO] bbox version'
|
||||
# * 'bsbadmin deaths set [player] 0'
|
||||
#
|
||||
# Note that player-executed commands might not work, as these commands can be run with said player being offline.
|
||||
# Added since 1.14.0.
|
||||
on-respawn: []
|
||||
sethome:
|
||||
nether:
|
||||
@ -488,9 +546,9 @@ protection:
|
||||
# Geo restrict mobs.
|
||||
# Mobs that exit the cave space where they were spawned will be removed.
|
||||
geo-limit-settings:
|
||||
- GHAST
|
||||
- BAT
|
||||
- BLAZE
|
||||
- GHAST
|
||||
- BAT
|
||||
- BLAZE
|
||||
# CaveBlock blocked mobs.
|
||||
# List of mobs that should not spawn in the CaveBlock.
|
||||
# Added since 1.13.0.
|
||||
@ -498,30 +556,30 @@ protection:
|
||||
# Invincible visitors. List of damages that will not affect visitors.
|
||||
# Make list blank if visitors should receive all damages
|
||||
invincible-visitors:
|
||||
- BLOCK_EXPLOSION
|
||||
- CONTACT
|
||||
- CUSTOM
|
||||
- DROWNING
|
||||
- ENTITY_ATTACK
|
||||
- ENTITY_EXPLOSION
|
||||
- FALL
|
||||
- FALLING_BLOCK
|
||||
- FIRE
|
||||
- FIRE_TICK
|
||||
- LAVA
|
||||
- LIGHTNING
|
||||
- MAGIC
|
||||
- POISON
|
||||
- PROJECTILE
|
||||
- STARVATION
|
||||
- SUFFOCATION
|
||||
- THORNS
|
||||
- WITHER
|
||||
- DRAGON_BREATH
|
||||
- FLY_INTO_WALL
|
||||
- HOT_FLOOR
|
||||
- CRAMMING
|
||||
- VOID
|
||||
- BLOCK_EXPLOSION
|
||||
- CONTACT
|
||||
- CUSTOM
|
||||
- DROWNING
|
||||
- ENTITY_ATTACK
|
||||
- ENTITY_EXPLOSION
|
||||
- FALL
|
||||
- FALLING_BLOCK
|
||||
- FIRE
|
||||
- FIRE_TICK
|
||||
- LAVA
|
||||
- LIGHTNING
|
||||
- MAGIC
|
||||
- POISON
|
||||
- PROJECTILE
|
||||
- STARVATION
|
||||
- SUFFOCATION
|
||||
- THORNS
|
||||
- WITHER
|
||||
- DRAGON_BREATH
|
||||
- FLY_INTO_WALL
|
||||
- HOT_FLOOR
|
||||
- CRAMMING
|
||||
- VOID
|
||||
do-not-edit-these-settings:
|
||||
# These settings should not be edited
|
||||
reset-epoch: 0
|
||||
|
Loading…
Reference in New Issue
Block a user