mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 05:06:45 +01:00
Fix exception thrown when plants fake grow at max world height.
This commit is contained in:
parent
0fa1d822d4
commit
e0d85f842b
@ -253,12 +253,18 @@ public class BlockListener implements Listener {
|
||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
||||
public void onBlockGrow(BlockGrowEvent event)
|
||||
{
|
||||
Block block = event.getBlock();
|
||||
World world = block.getWorld();
|
||||
|
||||
/* WORLD BLACKLIST CHECK */
|
||||
if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
|
||||
if(WorldBlacklist.isWorldBlacklisted(world))
|
||||
return;
|
||||
|
||||
BlockState blockState = event.getBlock().getState();
|
||||
mcMMO.getPlaceStore().setFalse(blockState);
|
||||
// Minecraft is dumb, the events still throw when a plant "grows" higher than the max block height. Even though no new block is created
|
||||
if (block.getY() >= world.getMaxHeight())
|
||||
return;
|
||||
|
||||
mcMMO.getPlaceStore().setFalse(block);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -82,7 +82,7 @@ public class BitSetChunkStore implements ChunkStore, Serializable {
|
||||
|
||||
private int coordToIndex(int x, int y, int z) {
|
||||
if (x < 0 || x >= 16 || y < 0 || y >= worldHeight || z < 0 || z >= 16)
|
||||
throw new IndexOutOfBoundsException();
|
||||
throw new IndexOutOfBoundsException(String.format("x: %d y: %d z: %d World Height: %d", x, y, z, worldHeight));
|
||||
return (z * 16 + x) + (256 * y);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user