Since kubejs can be used for an unlimited number of tasks, the current RayTrace implementation severely restricts developers. It is designed to rest against liquids and return a block of liquid. ```java
HitResult hitResult = kjs$self().level.clip(new ClipContext(fromPos, toPos, ClipContext.Block.OUTLINE, ClipContext.Fluid.ANY, kjs$self()));
```js
raytrace(ditance,ClipContext.Block, ClipContext.Fluid)```
So that developers themselves can choose what they contact and what they don't.