Fix mistakes

This commit is contained in:
nossr50 2021-04-18 17:28:27 -07:00
parent 2c44590c52
commit a844f27093
2 changed files with 18 additions and 4 deletions

View File

@ -293,7 +293,7 @@ public final class BlockUtils {
World world = block.getWorld();
//pretty sure both height and min height are able to have blocks placed on them
return block.getY() >= worldCompatibilityLayer.getMinWorldHeight(world) && block.getY() <= worldCompatibilityLayer.getMaxWorldHeight(world);
return block.getY() >= worldCompatibilityLayer.getMinWorldHeight(world) && block.getY() < worldCompatibilityLayer.getMaxWorldHeight(world);
}
}

View File

@ -40,6 +40,8 @@ import static org.mockito.Mockito.mock;
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Bukkit.class, mcMMO.class})
public class ChunkStoreTest {
public static final int LEGACY_WORLD_HEIGHT_MAX = 256;
public static final int LEGACY_WORLD_HEIGHT_MIN = 0;
private static File tempDir;
@BeforeClass
public static void setUpClass() {
@ -77,8 +79,20 @@ public class ChunkStoreTest {
Mockito.when(platformManager.getCompatibilityManager()).thenReturn(compatibilityManager);
Mockito.when(platformManager.getCompatibilityManager().getWorldCompatibilityLayer()).thenReturn(worldCompatibilityLayer);
Assert.assertNotNull(mcMMO.getCompatibilityManager().getWorldCompatibilityLayer());
Mockito.when(worldCompatibilityLayer.getMinWorldHeight(mockWorld)).thenReturn(0);
Mockito.when(worldCompatibilityLayer.getMaxWorldHeight(mockWorld)).thenReturn(255);
Mockito.when(worldCompatibilityLayer.getMinWorldHeight(mockWorld)).thenReturn(LEGACY_WORLD_HEIGHT_MIN);
Mockito.when(worldCompatibilityLayer.getMaxWorldHeight(mockWorld)).thenReturn(LEGACY_WORLD_HEIGHT_MAX);
}
@Test(expected = IndexOutOfBoundsException.class)
public void testIndexOutOfBounds() {
Mockito.when(mcMMO.getCompatibilityManager().getWorldCompatibilityLayer().getMinWorldHeight(mockWorld)).thenReturn(-64);
HashChunkManager hashChunkManager = new HashChunkManager();
//Top Block
TestBlock illegalHeightBlock = new TestBlock(1337, 256, -1337, mockWorld);
Assert.assertFalse(hashChunkManager.isTrue(illegalHeightBlock));
hashChunkManager.setTrue(illegalHeightBlock);
}
@Test
@ -108,7 +122,7 @@ public class ChunkStoreTest {
Assert.assertTrue(hashChunkManager.isTrue(bottomBlock));
//Top Block
TestBlock topBlock = new TestBlock(1337, 256, -1337, mockWorld);
TestBlock topBlock = new TestBlock(1337, 255, -1337, mockWorld);
Assert.assertFalse(hashChunkManager.isTrue(topBlock));
Assert.assertTrue(BlockUtils.isWithinWorldBounds(worldCompatibilityLayer, topBlock));