@Override
public VoxelShape getCollisionShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
if (context.getEntity() instanceof PlayerEntity == false) {
System.out.print("not player!\n");
return VoxelShapes.fullCube();
} else {
System.out.print("player!\n");
return VoxelShapes.empty();
}
}
this is my code ^
My goal is to have the block act like air for a player but act as a solid block for a mob. I know the textures aren't nice, it's just for testing right now. As you can see in the video it works fine on the y axis but not on x axis, unless I sprint. As you can see on the console at the bottom, when passing through on the x axis it thinks I'm not a player for a second? I'm completely lost. I've tried everything I can think of. Any ideas are welcome!
as demonstrated at the end for some reason there is some kind of "force" that pushes me out the block when there is not a neigbouring block. Changing everything to return VoxelShapes.empty(); works perfectly so it's not a problem that has to do with VoxelShapes.empty();