mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 01:47:42 +01:00
Add back configurable beehive generation chance
This commit is contained in:
@@ -188,6 +188,40 @@ blocks
|
|||||||
- **default**: DESTROY
|
- **default**: DESTROY
|
||||||
- **description**: What to do with the blocks that are effected by the explosion. `DESTROY` will destroy the blocks (no item drops). `BREAK` will naturally break the blocks (items will drop). `NONE` will not break any blocks
|
- **description**: What to do with the blocks that are effected by the explosion. `DESTROY` will destroy the blocks (no item drops). `BREAK` will naturally break the blocks (items will drop). `NONE` will not break any blocks
|
||||||
|
|
||||||
|
* beehive
|
||||||
|
* generation-chance
|
||||||
|
* plains
|
||||||
|
- **default**: 0.05F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in plains biome (0.0 - 1.0)
|
||||||
|
* sunflower-plains
|
||||||
|
- **default**: 0.05F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in sunflower-plains biome (0.0 - 1.0)
|
||||||
|
* flower-forest
|
||||||
|
- **default**: 0.02F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in flower-forest biome (0.0 - 1.0)
|
||||||
|
* forest
|
||||||
|
- **default**: 0.002F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in forest biome (0.0 - 1.0)
|
||||||
|
* wooded-hills
|
||||||
|
- **default**: 0.002F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in wooded-hills biome (0.0 - 1.0)
|
||||||
|
* birch-forest
|
||||||
|
- **default**: 0.002F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in birch-forest biome (0.0 - 1.0)
|
||||||
|
* tall-birch-forest
|
||||||
|
- **default**: 0.002F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in tall-birch-forest biome (0.0 - 1.0)
|
||||||
|
* birch-forest-hills
|
||||||
|
- **default**: 0.002F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in birch-forest-hills biome (0.0 - 1.0)
|
||||||
|
* tall-birch-hills
|
||||||
|
- **default**: 0.002F;
|
||||||
|
- **description**: Chance for beehives to generate on trees in tall-birch-hills biome (0.0 - 1.0)
|
||||||
|
* grow-sapling-flower-check-radius
|
||||||
|
- **default**: 2
|
||||||
|
- **description**: Radius check for flowers when sapling grows to generate beehive
|
||||||
|
|
||||||
|
|
||||||
* campfire
|
* campfire
|
||||||
* burn-out-in-rain
|
* burn-out-in-rain
|
||||||
- **default**: false
|
- **default**: false
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From 1444823eb26c2030160e084acbf72988af64f542 Mon Sep 17 00:00:00 2001
|
From a89bbe90c2218f7ce1a2c106f2c8d0166290ef21 Mon Sep 17 00:00:00 2001
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
Date: Thu, 27 Feb 2020 13:39:06 -0600
|
Date: Thu, 27 Feb 2020 13:39:06 -0600
|
||||||
Subject: [PATCH] decompile-fixes
|
Subject: [PATCH] decompile-fixes
|
||||||
@@ -90,7 +90,8 @@ Subject: [PATCH] decompile-fixes
|
|||||||
.../net/minecraft/server/EntityWitch.java | 4 +--
|
.../net/minecraft/server/EntityWitch.java | 4 +--
|
||||||
.../java/net/minecraft/server/MathHelper.java | 2 +-
|
.../java/net/minecraft/server/MathHelper.java | 2 +-
|
||||||
.../server/WorldGenFeatureConfigured.java | 2 +-
|
.../server/WorldGenFeatureConfigured.java | 2 +-
|
||||||
86 files changed, 225 insertions(+), 231 deletions(-)
|
.../server/WorldGenFeatureTreeBeehive.java | 2 +-
|
||||||
|
87 files changed, 226 insertions(+), 232 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BiomeBambooJungle.java b/src/main/java/net/minecraft/server/BiomeBambooJungle.java
|
diff --git a/src/main/java/net/minecraft/server/BiomeBambooJungle.java b/src/main/java/net/minecraft/server/BiomeBambooJungle.java
|
||||||
index de831ed87e..9c38f8907a 100644
|
index de831ed87e..9c38f8907a 100644
|
||||||
@@ -1586,6 +1587,18 @@ index de8f1874af..73402f2b5a 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
public WorldGenFeatureRandomChoiceConfigurationWeight<FC> a(float f) {
|
public WorldGenFeatureRandomChoiceConfigurationWeight<FC> a(float f) {
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
|
||||||
|
index 979f3517c0..5827b1ba1a 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
|
||||||
|
@@ -58,6 +58,6 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> T a(DynamicOps<T> dynamicops) {
|
||||||
|
- return (new Dynamic(dynamicops, dynamicops.createMap(ImmutableMap.of(dynamicops.createString("type"), dynamicops.createString(IRegistry.w.getKey(this.a).toString()), dynamicops.createString("probability"), dynamicops.createFloat(this.b))))).getValue();
|
||||||
|
+ return new Dynamic<>(dynamicops, dynamicops.createMap(ImmutableMap.of(dynamicops.createString("type"), dynamicops.createString(IRegistry.w.getKey(this.a).toString()), dynamicops.createString("probability"), dynamicops.createFloat(this.b)))).getValue(); // Purpur - decompile error
|
||||||
|
}
|
||||||
|
}
|
||||||
--
|
--
|
||||||
2.24.0
|
2.24.0
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,107 @@
|
|||||||
|
From b3f030e509044015a30554baaef3f67b79ff66e8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
|
Date: Thu, 2 Apr 2020 03:39:34 -0500
|
||||||
|
Subject: [PATCH] Add configurable beehive generation chance
|
||||||
|
|
||||||
|
---
|
||||||
|
.../server/WorldGenFeatureTreeBeehive.java | 18 +++++++++++++--
|
||||||
|
.../server/WorldGenTreeProvider.java | 5 +++-
|
||||||
|
.../net/pl3x/purpur/PurpurWorldConfig.java | 23 +++++++++++++++++++
|
||||||
|
3 files changed, 43 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
|
||||||
|
index 5827b1ba1a..5ef9ae16e3 100644
|
||||||
|
--- a/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;
|
||||||
|
|
||||||
|
public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
|
||||||
|
|
||||||
|
- private final float b;
|
||||||
|
+ private final float b; public float getChance() { return b; } // Purpur - OBFHELPER
|
||||||
|
|
||||||
|
public WorldGenFeatureTreeBeehive(float f) {
|
||||||
|
super(WorldGenFeatureTrees.d);
|
||||||
|
@@ -23,7 +23,7 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void a(GeneratorAccess generatoraccess, Random random, List<BlockPosition> list, List<BlockPosition> list1, Set<BlockPosition> set, StructureBoundingBox structureboundingbox) {
|
||||||
|
- if (random.nextFloat() < this.b) {
|
||||||
|
+ if (random.nextFloat() < getChance(generatoraccess.getMinecraftWorld(), list.get(0))) {
|
||||||
|
EnumDirection enumdirection = BlockBeehive.a[random.nextInt(BlockBeehive.a.length)];
|
||||||
|
int i = !list1.isEmpty() ? Math.max(((BlockPosition) list1.get(0)).getY() - 1, ((BlockPosition) list.get(0)).getY()) : Math.min(((BlockPosition) list.get(0)).getY() + 1 + random.nextInt(3), ((BlockPosition) list.get(list.size() - 1)).getY());
|
||||||
|
List<BlockPosition> list2 = (List) list.stream().filter((blockposition) -> {
|
||||||
|
@@ -56,6 +56,20 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ private float getChance(World world, BlockPosition position) {
|
||||||
|
+ BiomeBase biome = world.getBiome(position);
|
||||||
|
+ 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;
|
||||||
|
+ else if (biome == Biomes.FOREST) return world.purpurConfig.beehivesGenerateForestChance;
|
||||||
|
+ else if (biome == Biomes.WOODED_HILLS) return world.purpurConfig.beehivesGenerateWoodedHillsChance;
|
||||||
|
+ else if (biome == Biomes.BIRCH_FOREST) return world.purpurConfig.beehivesGenerateBirchForestChance;
|
||||||
|
+ else if (biome == Biomes.TALL_BIRCH_FOREST) return world.purpurConfig.beehivesGenerateTallBirchForestChance;
|
||||||
|
+ else if (biome == Biomes.BIRCH_FOREST_HILLS) return world.purpurConfig.beehivesGenerateBirchForestHillsChance;
|
||||||
|
+ else if (biome == Biomes.TALL_BIRCH_HILLS) return world.purpurConfig.beehivesGenerateTallBirchHillsChance;
|
||||||
|
+ return getChance();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
public <T> T a(DynamicOps<T> dynamicops) {
|
||||||
|
return new Dynamic<>(dynamicops, dynamicops.createMap(ImmutableMap.of(dynamicops.createString("type"), dynamicops.createString(IRegistry.w.getKey(this.a).toString()), dynamicops.createString("probability"), dynamicops.createFloat(this.b)))).getValue(); // Purpur - decompile error
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/WorldGenTreeProvider.java b/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
|
||||||
|
index b9dee0e255..9e9d9e6437 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
|
||||||
|
@@ -31,7 +31,10 @@ public abstract class WorldGenTreeProvider {
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean a(GeneratorAccess generatoraccess, BlockPosition blockposition) {
|
||||||
|
- Iterator iterator = BlockPosition.MutableBlockPosition.a(blockposition.down().north(2).west(2), blockposition.up().south(2).east(2)).iterator();
|
||||||
|
+ // Purpur start
|
||||||
|
+ int r = generatoraccess.getMinecraftWorld().purpurConfig.beehivesSaplingFlowerRadius;
|
||||||
|
+ Iterator iterator = BlockPosition.MutableBlockPosition.a(blockposition.down().north(r).west(r), blockposition.up().south(r).east(r)).iterator();
|
||||||
|
+ // Purpur end
|
||||||
|
|
||||||
|
BlockPosition blockposition1;
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
|
index 58b7543d82..6446ee7d79 100644
|
||||||
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
|
@@ -99,6 +99,29 @@ public class PurpurWorldConfig {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public int beehivesSaplingFlowerRadius = 2;
|
||||||
|
+ public float beehivesGeneratePlainsChance = 0.05F;
|
||||||
|
+ public float beehivesGenerateSunflowerPlainsChance = 0.05F;
|
||||||
|
+ public float beehivesGenerateFlowerForestChance = 0.01F;
|
||||||
|
+ public float beehivesGenerateForestChance;
|
||||||
|
+ public float beehivesGenerateWoodedHillsChance;
|
||||||
|
+ public float beehivesGenerateBirchForestChance;
|
||||||
|
+ public float beehivesGenerateTallBirchForestChance;
|
||||||
|
+ public float beehivesGenerateBirchForestHillsChance;
|
||||||
|
+ public float beehivesGenerateTallBirchHillsChance;
|
||||||
|
+ private void beehiveSettings() {
|
||||||
|
+ beehivesSaplingFlowerRadius = getInt("beehive.grow-sapling-flower-check-radius", beehivesSaplingFlowerRadius);
|
||||||
|
+ beehivesGeneratePlainsChance = (float) getDouble("beehive.generation-chance.plains", beehivesGeneratePlainsChance);
|
||||||
|
+ beehivesGenerateSunflowerPlainsChance = (float) getDouble("beehive.generation-chance.sunflower-plains", beehivesGenerateSunflowerPlainsChance);
|
||||||
|
+ beehivesGenerateFlowerForestChance = (float) getDouble("beehive.generation-chance.flower-forest", beehivesGenerateFlowerForestChance);
|
||||||
|
+ beehivesGenerateForestChance = (float) getDouble("beehive.generation-chance.forest", beehivesGenerateForestChance);
|
||||||
|
+ beehivesGenerateWoodedHillsChance = (float) getDouble("beehive.generation-chance.wooded-hills", beehivesGenerateWoodedHillsChance);
|
||||||
|
+ beehivesGenerateBirchForestChance = (float) getDouble("beehive.generation-chance.birch-forest", beehivesGenerateBirchForestChance);
|
||||||
|
+ beehivesGenerateTallBirchForestChance = (float) getDouble("beehive.generation-chance.tall-birch-forest", beehivesGenerateTallBirchForestChance);
|
||||||
|
+ beehivesGenerateBirchForestHillsChance = (float) getDouble("beehive.generation-chance.birch-forest-hills", beehivesGenerateBirchForestHillsChance);
|
||||||
|
+ beehivesGenerateTallBirchHillsChance = (float) getDouble("beehive.generation-chance.tall-birch-hills", beehivesGenerateTallBirchHillsChance);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
public int campfireRegenInterval = 0;
|
||||||
|
public int campfireRegenDuration = 80;
|
||||||
|
public int campfireRegenRange = 5;
|
||||||
|
--
|
||||||
|
2.24.0
|
||||||
|
|
||||||
Reference in New Issue
Block a user