mirror of https://github.com/Minestom/Minestom.git
Rename collisionShape
Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
parent
8b61fc8a2d
commit
0173aace98
|
@ -344,9 +344,9 @@ final class BlockCollision {
|
|||
// If player is at block 40 we cannot place a block at block 39 with side length 1 because the block will be in [39, 40]
|
||||
// For this reason we subtract a small amount from the player position
|
||||
Point playerPos = entity.getPosition().add(entity.getPosition().sub(blockPos).mul(0.0000001));
|
||||
intersects = b.registry().shape().intersectBox(playerPos.sub(blockPos), entity.getBoundingBox());
|
||||
intersects = b.registry().collisionShape().intersectBox(playerPos.sub(blockPos), entity.getBoundingBox());
|
||||
} else {
|
||||
intersects = b.registry().shape().intersectBox(entity.getPosition().sub(blockPos), entity.getBoundingBox());
|
||||
intersects = b.registry().collisionShape().intersectBox(entity.getPosition().sub(blockPos), entity.getBoundingBox());
|
||||
}
|
||||
if (intersects) return entity;
|
||||
}
|
||||
|
@ -374,7 +374,7 @@ final class BlockCollision {
|
|||
boolean hitBlock = false;
|
||||
if (checkBlock.isSolid()) {
|
||||
final Vec blockPos = new Vec(blockX, blockY, blockZ);
|
||||
hitBlock = checkBlock.registry().shape().intersectBoxSwept(entityPosition, entityVelocity, blockPos, boundingBox, finalResult);
|
||||
hitBlock = checkBlock.registry().collisionShape().intersectBoxSwept(entityPosition, entityVelocity, blockPos, boundingBox, finalResult);
|
||||
}
|
||||
return hitBlock;
|
||||
}
|
||||
|
|
|
@ -666,7 +666,7 @@ public class Entity implements Viewable, Tickable, Schedulable, Snapshotable, Ev
|
|||
// Move a small amount towards the entity. If the entity is within 0.01 blocks of the block, touch will trigger
|
||||
Vec blockPos = new Vec(x, y, z);
|
||||
Point blockEntityVector = (blockPos.sub(position)).normalize().mul(0.01);
|
||||
if (block.registry().shape().intersectBox(position.sub(blockPos).add(blockEntityVector), boundingBox)) {
|
||||
if (block.registry().collisionShape().intersectBox(position.sub(blockPos).add(blockEntityVector), boundingBox)) {
|
||||
handler.onTouch(new BlockHandler.Touch(block, instance, new Vec(x, y, z), this));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ final class BlockLightCompute {
|
|||
final int newIndex = xO | (zO << 4) | (yO << 8);
|
||||
final Block currentBlock = Objects.requireNonNullElse(blocks[x | (z << 4) | (y << 8)], Block.AIR);
|
||||
final Block propagatedBlock = Objects.requireNonNullElse(blocks[newIndex], Block.AIR);
|
||||
if (currentBlock.registry().shape().isOccluded(propagatedBlock.registry().shape(), face))
|
||||
if (currentBlock.registry().collisionShape().isOccluded(propagatedBlock.registry().collisionShape(), face))
|
||||
continue;
|
||||
if (getLight(lightArray, newIndex) + 2 <= lightLevel) {
|
||||
placeLight(lightArray, newIndex, newLightLevel);
|
||||
|
|
|
@ -275,7 +275,7 @@ public final class Registry {
|
|||
return materialSupplier.get();
|
||||
}
|
||||
|
||||
public Shape shape() {
|
||||
public Shape collisionShape() {
|
||||
return shape;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,8 +79,8 @@ public class BlockTest {
|
|||
|
||||
@Test
|
||||
public void testShape() {
|
||||
Point start = Block.LANTERN.registry().shape().relativeStart();
|
||||
Point end = Block.LANTERN.registry().shape().relativeEnd();
|
||||
Point start = Block.LANTERN.registry().collisionShape().relativeStart();
|
||||
Point end = Block.LANTERN.registry().collisionShape().relativeEnd();
|
||||
|
||||
assertEquals(start, new Vec(0.312, 0, 0.312));
|
||||
assertEquals(end, new Vec(0.687, 0.562, 0.687));
|
||||
|
|
|
@ -13,7 +13,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||
public class BlockIsOccludedTest {
|
||||
@Test
|
||||
public void blockAir() {
|
||||
Shape airBlock = Block.AIR.registry().shape();
|
||||
Shape airBlock = Block.AIR.registry().collisionShape();
|
||||
|
||||
for (BlockFace face : BlockFace.values()) {
|
||||
assertFalse(airBlock.isOccluded(airBlock, face));
|
||||
|
@ -22,8 +22,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockLantern() {
|
||||
Shape shape = Block.LANTERN.registry().shape();
|
||||
Shape airBlock = Block.AIR.registry().shape();
|
||||
Shape shape = Block.LANTERN.registry().collisionShape();
|
||||
Shape airBlock = Block.AIR.registry().collisionShape();
|
||||
|
||||
for (BlockFace face : BlockFace.values()) {
|
||||
assertFalse(shape.isOccluded(airBlock, face));
|
||||
|
@ -32,8 +32,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockCauldron() {
|
||||
Shape shape = Block.CAULDRON.registry().shape();
|
||||
Shape airBlock = Block.AIR.registry().shape();
|
||||
Shape shape = Block.CAULDRON.registry().collisionShape();
|
||||
Shape airBlock = Block.AIR.registry().collisionShape();
|
||||
|
||||
for (BlockFace face : BlockFace.values()) {
|
||||
assertFalse(shape.isOccluded(airBlock, face));
|
||||
|
@ -42,8 +42,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockSlabBottomAir() {
|
||||
Shape shape = Block.SANDSTONE_SLAB.registry().shape();
|
||||
Shape airBlock = Block.AIR.registry().shape();
|
||||
Shape shape = Block.SANDSTONE_SLAB.registry().collisionShape();
|
||||
Shape airBlock = Block.AIR.registry().collisionShape();
|
||||
|
||||
assertTrue(shape.isOccluded(airBlock, BlockFace.BOTTOM));
|
||||
|
||||
|
@ -56,8 +56,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockSlabTopEnchantingTable() {
|
||||
Shape shape1 = Block.SANDSTONE_SLAB.withProperty("type", "top").registry().shape();
|
||||
Shape shape2 = Block.ENCHANTING_TABLE.registry().shape();
|
||||
Shape shape1 = Block.SANDSTONE_SLAB.withProperty("type", "top").registry().collisionShape();
|
||||
Shape shape2 = Block.ENCHANTING_TABLE.registry().collisionShape();
|
||||
|
||||
assertFalse(shape1.isOccluded(shape2, BlockFace.BOTTOM));
|
||||
|
||||
|
@ -73,9 +73,9 @@ public class BlockIsOccludedTest {
|
|||
Shape shape = Block.SANDSTONE_STAIRS.withProperties(Map.of(
|
||||
"facing", "west",
|
||||
"half", "bottom",
|
||||
"shape", "straight")).registry().shape();
|
||||
"shape", "straight")).registry().collisionShape();
|
||||
|
||||
Shape airBlock = Block.AIR.registry().shape();
|
||||
Shape airBlock = Block.AIR.registry().collisionShape();
|
||||
|
||||
assertTrue(shape.isOccluded(airBlock, BlockFace.WEST));
|
||||
assertTrue(shape.isOccluded(airBlock, BlockFace.BOTTOM));
|
||||
|
@ -88,8 +88,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockSlabBottomStone() {
|
||||
Shape shape = Block.SANDSTONE_SLAB.registry().shape();
|
||||
Shape stoneBlock = Block.STONE.registry().shape();
|
||||
Shape shape = Block.SANDSTONE_SLAB.registry().collisionShape();
|
||||
Shape stoneBlock = Block.STONE.registry().collisionShape();
|
||||
|
||||
assertTrue(shape.isOccluded(stoneBlock, BlockFace.BOTTOM));
|
||||
assertTrue(shape.isOccluded(stoneBlock, BlockFace.NORTH));
|
||||
|
@ -101,8 +101,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockStone() {
|
||||
Shape shape = Block.STONE.registry().shape();
|
||||
Shape airBlock = Block.AIR.registry().shape();
|
||||
Shape shape = Block.STONE.registry().collisionShape();
|
||||
Shape airBlock = Block.AIR.registry().collisionShape();
|
||||
|
||||
for (BlockFace face : BlockFace.values()) {
|
||||
assertTrue(shape.isOccluded(airBlock, face));
|
||||
|
@ -111,8 +111,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockStair() {
|
||||
Shape shape = Block.SANDSTONE_STAIRS.registry().shape();
|
||||
Shape airBlock = Block.AIR.registry().shape();
|
||||
Shape shape = Block.SANDSTONE_STAIRS.registry().collisionShape();
|
||||
Shape airBlock = Block.AIR.registry().collisionShape();
|
||||
|
||||
assertTrue(shape.isOccluded(airBlock, BlockFace.NORTH));
|
||||
assertTrue(shape.isOccluded(airBlock, BlockFace.BOTTOM));
|
||||
|
@ -125,8 +125,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockSlab() {
|
||||
Shape shape = Block.SANDSTONE_SLAB.registry().shape();
|
||||
Shape airBlock = Block.AIR.registry().shape();
|
||||
Shape shape = Block.SANDSTONE_SLAB.registry().collisionShape();
|
||||
Shape airBlock = Block.AIR.registry().collisionShape();
|
||||
|
||||
assertTrue(shape.isOccluded(airBlock, BlockFace.BOTTOM));
|
||||
|
||||
|
@ -139,8 +139,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockSlabBottomAndSlabTop() {
|
||||
Shape shape1 = Block.SANDSTONE_SLAB.registry().shape();
|
||||
Shape shape2 = Block.SANDSTONE_SLAB.withProperty("type", "top").registry().shape();
|
||||
Shape shape1 = Block.SANDSTONE_SLAB.registry().collisionShape();
|
||||
Shape shape2 = Block.SANDSTONE_SLAB.withProperty("type", "top").registry().collisionShape();
|
||||
|
||||
assertFalse(shape1.isOccluded(shape2, BlockFace.TOP));
|
||||
|
||||
|
@ -153,7 +153,7 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockSlabBottomAndSlabBottom() {
|
||||
Shape shape = Block.SANDSTONE_SLAB.registry().shape();
|
||||
Shape shape = Block.SANDSTONE_SLAB.registry().collisionShape();
|
||||
|
||||
assertTrue(shape.isOccluded(shape, BlockFace.BOTTOM));
|
||||
assertTrue(shape.isOccluded(shape, BlockFace.TOP));
|
||||
|
@ -166,8 +166,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockStairAndSlabBottom() {
|
||||
Shape shape1 = Block.STONE_STAIRS.registry().shape();
|
||||
Shape shape2 = Block.SANDSTONE_SLAB.registry().shape();
|
||||
Shape shape1 = Block.STONE_STAIRS.registry().collisionShape();
|
||||
Shape shape2 = Block.SANDSTONE_SLAB.registry().collisionShape();
|
||||
|
||||
assertTrue(shape1.isOccluded(shape2, BlockFace.BOTTOM));
|
||||
assertTrue(shape1.isOccluded(shape2, BlockFace.NORTH));
|
||||
|
@ -180,8 +180,8 @@ public class BlockIsOccludedTest {
|
|||
|
||||
@Test
|
||||
public void blockStairAndSlabTop() {
|
||||
Shape shape1 = Block.STONE_STAIRS.registry().shape();
|
||||
Shape shape2 = Block.SANDSTONE_SLAB.withProperty("type", "top").registry().shape();
|
||||
Shape shape1 = Block.STONE_STAIRS.registry().collisionShape();
|
||||
Shape shape2 = Block.SANDSTONE_SLAB.withProperty("type", "top").registry().collisionShape();
|
||||
|
||||
assertTrue(shape1.isOccluded(shape2, BlockFace.NORTH));
|
||||
assertTrue(shape1.isOccluded(shape2, BlockFace.BOTTOM));
|
||||
|
|
Loading…
Reference in New Issue