aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0206-Do-not-allow-a-zero-max-height-in-BiomeJungle.patch
blob: d0447c4f8f72a47695eb15291bcc569381bee5aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From 2ee2dc9a86f49234475babaaedbe77a8e738e1a5 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
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 a4e5e4933..20c18cdbd 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 6a0b3a62d..38a7af58c 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.12.2.windows.2