mirror of
https://github.com/BentoBoxWorld/AcidIsland.git
synced 2025-03-13 15:20:17 +01:00
Reworked nether and end ocean bottomss and added configs. #149
This commit is contained in:
parent
ac5dedf156
commit
abbc9ab319
@ -220,6 +220,21 @@ public class AISettings implements WorldSettings {
|
||||
@ConfigEntry(path = "world.ocean-floor", needsReset = true)
|
||||
private boolean oceanFloor = false;
|
||||
|
||||
@ConfigComment("Structures")
|
||||
@ConfigComment("This creates an vanilla structures in the worlds.")
|
||||
@ConfigEntry(path = "world.make-structures", needsReset = true)
|
||||
private boolean makeStructures = false;
|
||||
|
||||
@ConfigComment("Caves")
|
||||
@ConfigComment("This creates an vanilla caves in the worlds.")
|
||||
@ConfigEntry(path = "world.make-caves", needsReset = true)
|
||||
private boolean makeCaves = false;
|
||||
|
||||
@ConfigComment("Decorations")
|
||||
@ConfigComment("This creates an vanilla decorations in the worlds.")
|
||||
@ConfigEntry(path = "world.make-decorations", needsReset = true)
|
||||
private boolean makeDecorations = true;
|
||||
|
||||
@ConfigComment("Maximum number of islands in the world. Set to -1 or 0 for unlimited. ")
|
||||
@ConfigComment("If the number of islands is greater than this number, no new island will be created.")
|
||||
@ConfigEntry(path = "world.max-islands")
|
||||
@ -2024,4 +2039,46 @@ public class AISettings implements WorldSettings {
|
||||
public void setOceanFloor(boolean oceanFloor) {
|
||||
this.oceanFloor = oceanFloor;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the makeStructures
|
||||
*/
|
||||
public boolean isMakeStructures() {
|
||||
return makeStructures;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param makeStructures the makeStructures to set
|
||||
*/
|
||||
public void setMakeStructures(boolean makeStructures) {
|
||||
this.makeStructures = makeStructures;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the makeCaves
|
||||
*/
|
||||
public boolean isMakeCaves() {
|
||||
return makeCaves;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param makeCaves the makeCaves to set
|
||||
*/
|
||||
public void setMakeCaves(boolean makeCaves) {
|
||||
this.makeCaves = makeCaves;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the makeDecorations
|
||||
*/
|
||||
public boolean isMakeDecorations() {
|
||||
return makeDecorations;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param makeDecorations the makeDecorations to set
|
||||
*/
|
||||
public void setMakeDecorations(boolean makeDecorations) {
|
||||
this.makeDecorations = makeDecorations;
|
||||
}
|
||||
}
|
||||
|
@ -27,10 +27,17 @@ import world.bentobox.acidisland.AcidIsland;
|
||||
*/
|
||||
public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
|
||||
private record FloorMats(Material base, Material top) {
|
||||
}
|
||||
|
||||
private final AcidIsland addon;
|
||||
private final Random rand = new Random();
|
||||
private final Map<Environment, WorldConfig> seaHeight = new EnumMap<>(Environment.class);
|
||||
private final Map<Vector, Material> roofChunk = new HashMap<>();
|
||||
private static final Map<Environment, FloorMats> floorMats = Map.of(Environment.NETHER,
|
||||
new FloorMats(Material.NETHERRACK, Material.SOUL_SAND), Environment.NORMAL,
|
||||
new FloorMats(Material.SANDSTONE, Material.SAND), Environment.THE_END,
|
||||
new FloorMats(Material.END_STONE, Material.END_STONE));
|
||||
private PerlinOctaveGenerator gen;
|
||||
|
||||
private record WorldConfig(int seaHeight, Material waterBlock) {}
|
||||
@ -72,7 +79,8 @@ public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
for (int z = 0; z < 16; z++) {
|
||||
int n = (int)(25 * gen.noise((chunkX << 4) + (double)x, (chunkZ << 4) + (double)z, 0.5, 0.5, true));
|
||||
for (int y = worldInfo.getMinHeight(); y < 25 + n; y++) {
|
||||
chunkData.setBlock(x, y, z, rand.nextBoolean() ? Material.SAND : Material.SANDSTONE);
|
||||
chunkData.setBlock(x, y, z, rand.nextBoolean() ? floorMats.get(worldInfo.getEnvironment()).top()
|
||||
: floorMats.get(worldInfo.getEnvironment()).base());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -90,11 +98,11 @@ public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
}
|
||||
@Override
|
||||
public boolean shouldGenerateCaves() {
|
||||
return addon.getSettings().isOceanFloor();
|
||||
return addon.getSettings().isMakeCaves();
|
||||
}
|
||||
@Override
|
||||
public boolean shouldGenerateDecorations() {
|
||||
return addon.getSettings().isOceanFloor();
|
||||
return addon.getSettings().isMakeDecorations();
|
||||
}
|
||||
@Override
|
||||
public boolean shouldGenerateMobs() {
|
||||
@ -102,7 +110,7 @@ public class ChunkGeneratorWorld extends ChunkGenerator {
|
||||
}
|
||||
@Override
|
||||
public boolean shouldGenerateStructures() {
|
||||
return addon.getSettings().isOceanFloor();
|
||||
return addon.getSettings().isMakeStructures();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -139,6 +139,18 @@ world:
|
||||
# This creates an ocean floor environment, with vanilla elements.
|
||||
# /!\ 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.
|
||||
ocean-floor: true
|
||||
# Structures
|
||||
# This creates an vanilla structures in the worlds.
|
||||
# /!\ 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.
|
||||
make-structures: false
|
||||
# Caves
|
||||
# This creates an vanilla caves in the worlds.
|
||||
# /!\ 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.
|
||||
make-caves: false
|
||||
# Decorations
|
||||
# This creates an vanilla decorations in the worlds.
|
||||
# /!\ 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.
|
||||
make-decorations: true
|
||||
# Maximum number of islands in the world. Set to -1 or 0 for unlimited.
|
||||
# If the number of islands is greater than this number, no new island will be created.
|
||||
max-islands: 0
|
||||
@ -212,9 +224,9 @@ world:
|
||||
# Mob white list - these mobs will NOT be removed when logging in or doing /island
|
||||
remove-mobs-whitelist:
|
||||
- ZOMBIE_VILLAGER
|
||||
- ENDERMAN
|
||||
- ZOMBIFIED_PIGLIN
|
||||
- WITHER
|
||||
- ZOMBIFIED_PIGLIN
|
||||
- ENDERMAN
|
||||
# World flags. These are boolean settings for various flags for this world
|
||||
flags:
|
||||
CREEPER_DAMAGE: true
|
||||
@ -229,18 +241,21 @@ world:
|
||||
NATURAL_SPAWNING_OUTSIDE_RANGE: true
|
||||
ENTER_EXIT_MESSAGES: true
|
||||
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
|
||||
ITEM_FRAME_DAMAGE: false
|
||||
TREES_GROWING_OUTSIDE_RANGE: false
|
||||
BOAT: true
|
||||
# These are the default protection settings for new islands.
|
||||
# The value is the minimum island rank required allowed to do the action
|
||||
# Ranks are: Visitor = 0, Member = 900, Owner = 1000
|
||||
default-island-flags:
|
||||
HURT_ANIMALS: 500
|
||||
LOOM: 500
|
||||
DRAGON_EGG: 500
|
||||
REDSTONE: 500
|
||||
BUCKET: 500
|
||||
@ -256,6 +271,8 @@ world:
|
||||
END_PORTAL: 500
|
||||
BREEDING: 500
|
||||
HURT_VILLAGERS: 500
|
||||
BOOKSHELF: 500
|
||||
HARVEST: 500
|
||||
TURTLE_EGGS: 500
|
||||
FROST_WALKER: 500
|
||||
COLLECT_LAVA: 500
|
||||
@ -268,6 +285,7 @@ world:
|
||||
NAME_TAG: 500
|
||||
ARMOR_STAND: 500
|
||||
CHANGE_SETTINGS: 1000
|
||||
SIGN_EDITING: 500
|
||||
TRADING: 0
|
||||
EGGS: 500
|
||||
ITEM_DROP: 0
|
||||
@ -278,6 +296,7 @@ world:
|
||||
SCULK_SENSOR: 500
|
||||
LECTERN: 500
|
||||
SHULKER_BOX: 500
|
||||
GRINDSTONE: 500
|
||||
ITEM_PICKUP: 0
|
||||
CROP_TRAMPLE: 500
|
||||
DROPPER: 500
|
||||
@ -287,6 +306,7 @@ world:
|
||||
AXOLOTL_SCOOPING: 500
|
||||
BUTTON: 500
|
||||
COMPOSTER: 500
|
||||
STONECUTTING: 500
|
||||
FIRE_EXTINGUISH: 500
|
||||
COMMAND_RANKS: 500
|
||||
BEACON: 500
|
||||
@ -298,6 +318,7 @@ world:
|
||||
HIVE: 500
|
||||
ITEM_FRAME: 500
|
||||
PLACE_BLOCKS: 500
|
||||
CROP_PLANTING: 500
|
||||
CRAFTING: 0
|
||||
SHEARING: 500
|
||||
ENCHANTING: 0
|
||||
@ -309,6 +330,7 @@ world:
|
||||
DISPENSER: 500
|
||||
SCULK_SHRIEKER: 500
|
||||
GATE: 0
|
||||
SMITHING: 500
|
||||
EXPERIENCE_PICKUP: 500
|
||||
HOPPER: 500
|
||||
LEASH: 500
|
||||
@ -320,13 +342,16 @@ world:
|
||||
POTION_THROWING: 500
|
||||
BARREL: 500
|
||||
COLLECT_POWDERED_SNOW: 500
|
||||
CARTOGRAPHY: 500
|
||||
# These are the default settings for new islands
|
||||
default-island-settings:
|
||||
PVP_END: false
|
||||
PVP_NETHER: false
|
||||
LEAF_DECAY: true
|
||||
ENDERMAN_TELEPORT: true
|
||||
ANIMAL_NATURAL_SPAWN: true
|
||||
MONSTER_NATURAL_SPAWN: true
|
||||
SHULKER_TELEPORT: true
|
||||
FIRE_SPREAD: true
|
||||
FIRE_BURNING: true
|
||||
PVP_OVERWORLD: false
|
||||
@ -551,4 +576,3 @@ protection:
|
||||
do-not-edit-these-settings:
|
||||
# These settings should not be edited
|
||||
reset-epoch: 0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user