mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Add back configurable beehive generation chance
This commit is contained in:
@@ -188,6 +188,40 @@ blocks
|
||||
- **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
|
||||
|
||||
* 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
|
||||
* burn-out-in-rain
|
||||
- **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>
|
||||
Date: Thu, 27 Feb 2020 13:39:06 -0600
|
||||
Subject: [PATCH] decompile-fixes
|
||||
@@ -90,7 +90,8 @@ Subject: [PATCH] decompile-fixes
|
||||
.../net/minecraft/server/EntityWitch.java | 4 +--
|
||||
.../java/net/minecraft/server/MathHelper.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
|
||||
index de831ed87e..9c38f8907a 100644
|
||||
@@ -1586,6 +1587,18 @@ index de8f1874af..73402f2b5a 100644
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
|
||||
@@ -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