Separate chunk gen and sapling beehive chances

This commit is contained in:
William Blake Galbreath
2020-01-05 19:45:59 -06:00
parent d4e7128695
commit bf9c4f7153
2 changed files with 49 additions and 17 deletions

View File

@@ -390,6 +390,26 @@ beehive
* can-generate-from-saplings * can-generate-from-saplings
* **default:** false * **default:** false
* **description:** Trees grown from saplings have the same chance to have a beehive as if from chunk generation * **description:** Trees grown from saplings have the same chance to have a beehive as if from chunk generation
* generation-chance
* plains
* **default:** 0.05
* **description:** Chance a beehive generates on an oak tree in the plains biome
* sunflower-plains
* **default:** 0.05
* **description:** Chance a beehive generates on an oak tree in the sunflower plains biome
* flower-forest
* **default:** 0.01
* **description:** Chance a beehive generates on an oak or birch tree in the flower forest biome
* sapling-chance
* plains
* **default:** 0.05
* **description:** Chance a beehive grows on an oak tree in the plains biome from a sapling
* sunflower-plains
* **default:** 0.05
* **description:** Chance a beehive grows on an oak tree in the sunflower plains biome from a sapling
* flower-forest
* **default:** 0.01
* **description:** Chance a beehive grows on an oak or birch tree in the flower forest biome from a sapling
hay-block-fall-damage hay-block-fall-damage
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~

View File

@@ -1,15 +1,15 @@
From ba45df2abe629108d5390ea37db225890b8f0303 Mon Sep 17 00:00:00 2001 From 04ca8f191b83e609498db65956691ecdceeaae62 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com> From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sun, 5 Jan 2020 12:07:28 -0600 Date: Sun, 5 Jan 2020 12:07:28 -0600
Subject: [PATCH] Add configurable beehive generation chance Subject: [PATCH] Add configurable beehive generation chance
--- ---
.../minecraft/server/WorldGenFeatureTreeBeehive.java | 12 ++++++++++-- .../server/WorldGenFeatureTreeBeehive.java | 18 ++++++++++++++++--
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 6 ++++++ .../net/pl3x/purpur/PurpurWorldConfig.java | 12 ++++++++++++
2 files changed, 16 insertions(+), 2 deletions(-) 2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
index e85e096cd6..b914bc541f 100644 index e85e096cd6..ca4b5b77fb 100644
--- a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java --- a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
+++ b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java +++ b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
@@ -10,7 +10,7 @@ import java.util.stream.Collectors; @@ -10,7 +10,7 @@ import java.util.stream.Collectors;
@@ -31,15 +31,21 @@ index e85e096cd6..b914bc541f 100644
if (BlockSapling.growing) { if (BlockSapling.growing) {
MinecraftServer.getServer().scheduleOnMain(() -> { MinecraftServer.getServer().scheduleOnMain(() -> {
generate(generatoraccess, random, list, list1, set, structureboundingbox); generate(generatoraccess, random, list, list1, set, structureboundingbox);
@@ -35,6 +35,14 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree { @@ -35,6 +35,20 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
} }
} }
+ private float getChance(World world, BlockPosition position) { + private float getChance(World world, BlockPosition position) {
+ BiomeBase biome = world.getBiome(position); + BiomeBase biome = world.getBiome(position);
+ if (biome == Biomes.PLAINS) return world.purpurConfig.beehivesPlainsChance; + if (BlockSapling.growing) {
+ else if (biome == Biomes.SUNFLOWER_PLAINS) return world.purpurConfig.beehivesSunflowerPlainsChance; + if (biome == Biomes.PLAINS) return world.purpurConfig.beehivesGrowPlainsChance;
+ else if (biome == Biomes.FLOWER_FOREST) return world.purpurConfig.beehivesFlowerForestChance; + else if (biome == Biomes.SUNFLOWER_PLAINS) return world.purpurConfig.beehivesGrowSunflowerPlainsChance;
+ else if (biome == Biomes.FLOWER_FOREST) return world.purpurConfig.beehivesGrowFlowerForestChance;
+ } else {
+ if (biome == Biomes.PLAINS) return world.purpurConfig.beehivesGeneratePlainsChance;
+ else if (biome == Biomes.SUNFLOWER_PLAINS) return world.purpurConfig.beehivesGenerateSunflowerPlainsChance;
+ else if (biome == Biomes.FLOWER_FOREST) return world.purpurConfig.beehivesGenerateFlowerForestChance;
+ }
+ return getChance(); + return getChance();
+ } + }
+ +
@@ -47,21 +53,27 @@ index e85e096cd6..b914bc541f 100644
// Purpur end // Purpur end
EnumDirection enumdirection = BlockBeehive.a[random.nextInt(BlockBeehive.a.length)]; EnumDirection enumdirection = BlockBeehive.a[random.nextInt(BlockBeehive.a.length)];
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 340697ae53..f09fdf1c1d 100644 index 340697ae53..64e00258ac 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -145,8 +145,14 @@ public class PurpurWorldConfig { @@ -145,8 +145,20 @@ public class PurpurWorldConfig {
} }
public boolean beeHivesGenerateFromSaplings = false; public boolean beeHivesGenerateFromSaplings = false;
+ public float beehivesPlainsChance = 0.05F; + public float beehivesGeneratePlainsChance = 0.05F;
+ public float beehivesSunflowerPlainsChance = 0.05F; + public float beehivesGenerateSunflowerPlainsChance = 0.05F;
+ public float beehivesFlowerForestChance = 0.01F; + public float beehivesGenerateFlowerForestChance = 0.01F;
+ public float beehivesGrowPlainsChance = 0.05F;
+ public float beehivesGrowSunflowerPlainsChance = 0.05F;
+ public float beehivesGrowFlowerForestChance = 0.01F;
private void beehiveSettings() { private void beehiveSettings() {
beeHivesGenerateFromSaplings = getBoolean("beehive.can-generate-from-saplings", beeHivesGenerateFromSaplings); beeHivesGenerateFromSaplings = getBoolean("beehive.can-generate-from-saplings", beeHivesGenerateFromSaplings);
+ beehivesPlainsChance = (float) getDouble("beehive.chance.plains", beehivesPlainsChance); + beehivesGeneratePlainsChance = (float) getDouble("beehive.generation-chance.plains", beehivesGeneratePlainsChance);
+ beehivesSunflowerPlainsChance = (float) getDouble("beehive.chance.sunflower-plains", beehivesSunflowerPlainsChance); + beehivesGenerateSunflowerPlainsChance = (float) getDouble("beehive.generation-chance.sunflower-plains", beehivesGenerateSunflowerPlainsChance);
+ beehivesFlowerForestChance = (float) getDouble("beehive.chance.flower-forest", beehivesFlowerForestChance); + beehivesGenerateFlowerForestChance = (float) getDouble("beehive.generation-chance.flower-forest", beehivesGenerateFlowerForestChance);
+ beehivesGrowPlainsChance = (float) getDouble("beehive.grow-chance.plains", beehivesGrowPlainsChance);
+ beehivesGrowSunflowerPlainsChance = (float) getDouble("beehive.grow-chance.sunflower-plains", beehivesGrowSunflowerPlainsChance);
+ beehivesGrowFlowerForestChance = (float) getDouble("beehive.grow-chance.flower-forest", beehivesGrowFlowerForestChance);
} }
public boolean hayBlockFallDamage = true; public boolean hayBlockFallDamage = true;