use of com.builtbroken.mc.lib.transform.region.Cube in project Engine by VoltzEngine-Project.
the class RadioMap method update.
/**
* Called to update data about the receiver. Used
* when the receiver's range changes.
*
* @param receiver
*/
public void update(IRadioWaveReceiver receiver) {
if (!receive_to_range.containsKey(receiver) || receive_to_range.get(receiver) == null || receive_to_range.get(receiver).equals(receiver.getRadioReceiverRange())) {
Cube range = receiver.getRadioReceiverRange();
if (range != null) {
updateChunkCache(receiver, range);
updateSenderCache(receiver, range);
}
}
}
use of com.builtbroken.mc.lib.transform.region.Cube in project Engine by VoltzEngine-Project.
the class AbstractTileTest method testGetSelectBounds.
@Test
public void testGetSelectBounds() {
FakeWorld world = FakeWorld.newWorld("TestGetSelectBounds");
world.setBlock(0, 0, 0, block);
Tile tile = ((Tile) world.getTileEntity(0, 0, 0));
Cube cube = tile.getSelectBounds();
assertTrue(cube != null);
// TODO add check to ensure cube size and values are good
}
use of com.builtbroken.mc.lib.transform.region.Cube in project Engine by VoltzEngine-Project.
the class AbstractTileTest method testGetCollisionBoxes.
@Test
public void testGetCollisionBoxes() {
FakeWorld world = FakeWorld.newWorld("TestGetCollisionBoxes");
world.setBlock(0, 0, 0, block);
Tile tile = ((Tile) world.getTileEntity(0, 0, 0));
Iterable<Cube> cubes = tile.getCollisionBoxes(new Cube(-2, -2, -2, 2, 2, 2), player);
assertTrue(cubes != null);
for (Cube cube : cubes) {
assertTrue(cube != null);
// TODO check if the cube is valid
}
}
use of com.builtbroken.mc.lib.transform.region.Cube in project Engine by VoltzEngine-Project.
the class CuboidTest method testCollisionOverlap.
public void testCollisionOverlap() {
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
Pos vec = new Pos(dir).multiply(0.3);
Cube c = cube.add(vec);
if (!cube.doesOverlap(c)) {
System.out.println("Cube: " + cube);
System.out.println("Above: " + c.toString());
assertEquals("x check failed", cube.isOutSideX(c.min().x(), c.max().x()), dir == ForgeDirection.EAST || dir == ForgeDirection.WEST);
assertEquals("y check failed", cube.isOutSideY(c.min().y(), c.max().y()), dir == ForgeDirection.DOWN || dir == ForgeDirection.UP);
assertEquals("z check failed", cube.isOutSideZ(c.min().z(), c.max().z()), dir == ForgeDirection.NORTH || dir == ForgeDirection.SOUTH);
fail("Didn't collide for side " + dir);
}
}
}
use of com.builtbroken.mc.lib.transform.region.Cube in project Engine by VoltzEngine-Project.
the class CuboidTest method testInsideBounds.
public void testInsideBounds() {
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
Cube above = cube.clone();
assertEquals("Failed center collision check for side " + dir, true, cube.isInsideBounds(above));
above = above.add(new Pos(dir));
assertEquals("Failed collision check one for side " + dir, false, cube.isInsideBounds(above));
above = above.add(new Pos(dir));
assertEquals("Failed collision check two for side " + dir, false, cube.isInsideBounds(above));
}
}
Aggregations