mirror of https://github.com/Minestom/Minestom.git
44 lines
1.5 KiB
Java
44 lines
1.5 KiB
Java
package net.minestom.server.collision;
|
|
|
|
import net.minestom.testing.Env;
|
|
import net.minestom.testing.EnvTest;
|
|
import net.minestom.server.coordinate.Pos;
|
|
import net.minestom.server.coordinate.Vec;
|
|
import net.minestom.server.entity.Entity;
|
|
import net.minestom.server.entity.EntityType;
|
|
import net.minestom.server.instance.block.Block;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
@EnvTest
|
|
public class PlacementCollisionIntegrationTest {
|
|
|
|
@Test
|
|
public void empty(Env env) {
|
|
var instance = env.createFlatInstance();
|
|
assertNull(BlockCollision.canPlaceBlockAt(instance, new Vec(0, 40, 0), Block.STONE));
|
|
}
|
|
|
|
@Test
|
|
public void entityBlock(Env env) {
|
|
var instance = env.createFlatInstance();
|
|
new Entity(EntityType.ZOMBIE).setInstance(instance, new Pos(0, 40, 0)).join();
|
|
assertNotNull(BlockCollision.canPlaceBlockAt(instance, new Vec(0, 40, 0), Block.STONE));
|
|
}
|
|
|
|
@Test
|
|
public void slab(Env env) {
|
|
var instance = env.createFlatInstance();
|
|
new Entity(EntityType.ZOMBIE).setInstance(instance, new Pos(0, 40.75, 0)).join();
|
|
assertNull(BlockCollision.canPlaceBlockAt(instance, new Vec(0, 40, 0), Block.STONE_SLAB));
|
|
}
|
|
|
|
@Test
|
|
public void belowPlayer(Env env) {
|
|
var instance = env.createFlatInstance();
|
|
env.createPlayer(instance, new Pos(5.7, -8, 6.389));
|
|
assertNull(BlockCollision.canPlaceBlockAt(instance, new Vec(5, -9, 6), Block.STONE));
|
|
}
|
|
}
|