PaperMC/Spigot-Server-Patches/Do-not-allow-a-zero-max-height-in-BiomeJungle.patch
Zach Brown 64b19558b6 Remove last bit of chunk exists region file fix
CraftBukkit removed their implementation that caused this issue,
switching to Mojang's implementation which doesn't appear to share it. I
already removed the important bit in the last upstream merge, this is
just unused and unnecessary now. So we remove it.
2017-04-29 05:27:31 -05:00

36 lines
No EOL
1.9 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Zach Brown <1254957+zachbr@users.noreply.github.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
@@ -0,0 +0,0 @@ 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
@@ -0,0 +0,0 @@ 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);
}
--