Fix critical bug with beehives sapling patch

This commit is contained in:
William Blake Galbreath
2020-01-04 22:04:47 -06:00
parent 154be2caaf
commit 63f6e7380d

View File

@@ -1,4 +1,4 @@
From 75a5dba6c9275e78f9617db8849e81e3f66d852e Mon Sep 17 00:00:00 2001
From 570979828b834ca760e09896fae86a227e643fe6 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 4 Jan 2020 11:41:38 -0600
Subject: [PATCH] Allow beehives to generate with saplings
@@ -6,12 +6,14 @@ Subject: [PATCH] Allow beehives to generate with saplings
---
.../server/BiomeDecoratorGroups.java | 260 +++++++++---------
.../server/WorldGenFeatureTreeBeehive.java | 2 +-
.../server/WorldGenTreeProvider.java | 6 +-
.../minecraft/server/WorldGenGroundBush.java | 10 +-
.../server/WorldGenTreeAbstract.java | 6 +
.../server/WorldGenTreeProvider.java | 16 +-
.../server/WorldGenTreeProviderBirch.java | 10 +-
.../server/WorldGenTreeProviderOak.java | 33 ++-
.../net/minecraft/server/WorldGenerator.java | 7 +-
.../net/pl3x/purpur/PurpurWorldConfig.java | 5 +
7 files changed, 184 insertions(+), 139 deletions(-)
9 files changed, 206 insertions(+), 143 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BiomeDecoratorGroups.java b/src/main/java/net/minecraft/server/BiomeDecoratorGroups.java
index 8aabc14a53..13246e6cd1 100644
@@ -506,8 +508,44 @@ index 4fbc53068f..60f0b0c05e 100644
+ 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/WorldGenGroundBush.java b/src/main/java/net/minecraft/server/WorldGenGroundBush.java
index bd756fd201..02b4e8a219 100644
--- a/src/main/java/net/minecraft/server/WorldGenGroundBush.java
+++ b/src/main/java/net/minecraft/server/WorldGenGroundBush.java
@@ -38,10 +38,12 @@ public class WorldGenGroundBush extends WorldGenTreeAbstract<WorldGenFeatureTree
return true;
}
+ // Purpur - this doesnt belong here... moving up to WorldGenTreeAbstract
// CraftBukkit start - decompile error
- @Override
- public boolean generate(GeneratorAccess generatoraccess, ChunkGenerator<? extends GeneratorSettingsDefault> chunkgenerator, Random random, BlockPosition blockposition, WorldGenFeatureTreeConfiguration fc) {
- return super.a(generatoraccess, chunkgenerator, random, blockposition, fc);
- }
+ //@Override
+ //public boolean generate(GeneratorAccess generatoraccess, ChunkGenerator<? extends GeneratorSettingsDefault> chunkgenerator, Random random, BlockPosition blockposition, WorldGenFeatureTreeConfiguration fc) {
+ // return super.a(generatoraccess, chunkgenerator, random, blockposition, fc);
+ //}
// CraftBukkit end
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/WorldGenTreeAbstract.java b/src/main/java/net/minecraft/server/WorldGenTreeAbstract.java
index b7c1919ae4..fc5dc18575 100644
--- a/src/main/java/net/minecraft/server/WorldGenTreeAbstract.java
+++ b/src/main/java/net/minecraft/server/WorldGenTreeAbstract.java
@@ -275,4 +275,10 @@ public abstract class WorldGenTreeAbstract<T extends WorldGenFeatureTreeConfigur
}
protected abstract boolean a(VirtualLevelWritable virtuallevelwritable, Random random, BlockPosition blockposition, Set<BlockPosition> set, Set<BlockPosition> set1, StructureBoundingBox structureboundingbox, T t0);
+
+ // Purpur start - decompile error
+ public boolean generate(GeneratorAccess generatoraccess, ChunkGenerator<? extends GeneratorSettingsDefault> chunkgenerator, Random random, BlockPosition blockposition,T fc) {
+ return a(generatoraccess, chunkgenerator, random, blockposition, fc);
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/WorldGenTreeProvider.java b/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
index 17ee097ac8..1d1bbd644b 100644
index 17ee097ac8..6441282f16 100644
--- a/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
+++ b/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
@@ -8,11 +8,11 @@ public abstract class WorldGenTreeProvider {
@@ -525,6 +563,23 @@ index 17ee097ac8..1d1bbd644b 100644
if (worldgenfeatureconfigured == null) {
return false;
@@ -65,6 +65,16 @@ public abstract class WorldGenTreeProvider {
BlockSapling.treeType = TreeType.MEGA_REDWOOD;
} else if (worldgentreeabstract.c == BiomeDecoratorGroups.MEGA_JUNGLE_TREE) {
BlockSapling.treeType = TreeType.JUNGLE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.OAK_TREE_WITH_MORE_BEEHIVES()) {
+ BlockSapling.treeType = TreeType.TREE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.FANCY_TREE_WITH_MORE_BEEHIVES()) {
+ BlockSapling.treeType = TreeType.BIG_TREE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.OAK_TREE_WITH_BEEHIVES()) {
+ BlockSapling.treeType = TreeType.TREE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.FANCY_TREE_WITH_BEEHIVES()) {
+ BlockSapling.treeType = TreeType.BIG_TREE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.BIRCH_TREE_WITH_BEEHIVES()) {
+ BlockSapling.treeType = TreeType.BIRCH;
} else {
throw new IllegalArgumentException("Unknown tree generator " + worldgentreeabstract);
}
diff --git a/src/main/java/net/minecraft/server/WorldGenTreeProviderBirch.java b/src/main/java/net/minecraft/server/WorldGenTreeProviderBirch.java
index 0915718854..ae6f7459f8 100644
--- a/src/main/java/net/minecraft/server/WorldGenTreeProviderBirch.java