summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2018-07-16 09:01:23 +1000
committermd_5 <git@md-5.net>2018-07-16 09:01:23 +1000
commit43eb8f312cdeb7ba8016d17cd6184e6b8aae1ba2 (patch)
treebc7eee68f7510537b62bcd6bd787a9a6ba66a932 /src/main/java
parent82ca5c27407d2dc336b0f1f158d762f3c291e96f (diff)
downloadcraftbukkit-43eb8f312cdeb7ba8016d17cd6184e6b8aae1ba2.tar
craftbukkit-43eb8f312cdeb7ba8016d17cd6184e6b8aae1ba2.tar.gz
craftbukkit-43eb8f312cdeb7ba8016d17cd6184e6b8aae1ba2.tar.lz
craftbukkit-43eb8f312cdeb7ba8016d17cd6184e6b8aae1ba2.tar.xz
craftbukkit-43eb8f312cdeb7ba8016d17cd6184e6b8aae1ba2.zip
SPIGOT-4011: Clear error for plugin misusing ChunkData
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
index 4280be5a..774a5e34 100644
--- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
@@ -1,5 +1,6 @@
package org.bukkit.craftbukkit.generator;
+import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
import it.unimi.dsi.fastutil.longs.Long2ObjectMaps;
@@ -57,8 +58,9 @@ public class CustomChunkGenerator extends InternalChunkGenerator<GeneratorSettin
CustomBiomeGrid biomegrid = new CustomBiomeGrid();
biomegrid.biome = chunkManager.getBiomeBlock(x << 4, z << 4, 16, 16);
- CraftChunkData data = (CraftChunkData) generator.generateChunkData(this.world.getWorld(), random, x, z, biomegrid);
- ChunkSection[] sections = data.getRawChunkData();
+ ChunkData data = generator.generateChunkData(this.world.getWorld(), random, x, z, biomegrid);
+ Preconditions.checkArgument(data instanceof CraftChunkData, "Plugins must use createChunkData(World) rather than implementing ChunkData: %s", data);
+ ChunkSection[] sections = ((CraftChunkData) data).getRawChunkData();
ChunkSection[] csect = ichunkaccess.getSections();
int scnt = Math.min(csect.length, sections.length);