From 327535741d6df47302834767b5c8223d9bd1266c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 23 Jan 2017 15:11:07 -0600 Subject: [PATCH] Do not allow a zero max height in BiomeJungle Fixes GH-592 Thanks to the forge team who noticed this issue long ago --- ...low-a-zero-max-height-in-BiomeJungle.patch | 38 +++++++++++++++++++ scripts/importmcdev.sh | 1 + 2 files changed, 39 insertions(+) create mode 100644 Spigot-Server-Patches/0210-Do-not-allow-a-zero-max-height-in-BiomeJungle.patch diff --git a/Spigot-Server-Patches/0210-Do-not-allow-a-zero-max-height-in-BiomeJungle.patch b/Spigot-Server-Patches/0210-Do-not-allow-a-zero-max-height-in-BiomeJungle.patch new file mode 100644 index 000000000..a39e1a5af --- /dev/null +++ b/Spigot-Server-Patches/0210-Do-not-allow-a-zero-max-height-in-BiomeJungle.patch @@ -0,0 +1,38 @@ +From 41ca8dd50089527afea998348956e692c684c93f Mon Sep 17 00:00:00 2001 +From: Zach Brown +Date: Mon, 23 Jan 2017 15:10:25 -0600 +Subject: [PATCH] Do not allow a zero max height in BiomeJungle + + +diff --git a/src/main/java/net/minecraft/server/BiomeJungle.java b/src/main/java/net/minecraft/server/BiomeJungle.java +index a4e5e49..20c18cd 100644 +--- a/src/main/java/net/minecraft/server/BiomeJungle.java ++++ b/src/main/java/net/minecraft/server/BiomeJungle.java +@@ -39,7 +39,11 @@ public class BiomeJungle extends BiomeBase { + super.a(world, random, blockposition); + int i = random.nextInt(16) + 8; + int j = random.nextInt(16) + 8; +- int k = random.nextInt(world.getHighestBlockYAt(blockposition.a(i, 0, j)).getY() * 2); ++ // Paper start - Don't allow a 0 height ++ int height = world.getHighestBlockYAt(blockposition.add(i, 0, j)).getY() * 2; ++ if (height < 1) height = 1; ++ int k = random.nextInt(height); ++ // Paper end + + (new WorldGenMelon()).generate(world, random, blockposition.a(i, k, j)); + WorldGenVines worldgenvines = new WorldGenVines(); +diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java +index 6a0b3a6..38a7af5 100644 +--- a/src/main/java/net/minecraft/server/BlockPosition.java ++++ b/src/main/java/net/minecraft/server/BlockPosition.java +@@ -42,6 +42,7 @@ public class BlockPosition extends BaseBlockPosition { + this(baseblockposition.getX(), baseblockposition.getY(), baseblockposition.getZ()); + } + ++ public BlockPosition add(double x, double y, double z) { return this.a(x, y, z); } // Paper - OBFHELPER + public BlockPosition a(double d0, double d1, double d2) { + return d0 == 0.0D && d1 == 0.0D && d2 == 0.0D ? this : new BlockPosition((double) this.getX() + d0, (double) this.getY() + d1, (double) this.getZ() + d2); + } +-- +2.9.3 + diff --git a/scripts/importmcdev.sh b/scripts/importmcdev.sh index 7898d99e6..8c57be004 100755 --- a/scripts/importmcdev.sh +++ b/scripts/importmcdev.sh @@ -38,6 +38,7 @@ function import { import AxisAlignedBB import BaseBlockPosition import BiomeBase +import BiomeJungle import BiomeMesa import BlockChest import BlockFalling