I have an area that I would like to block liquids from being able to flow inside of it. I have tried all of the Fluid events but none of them seem to trigger when water flows. Just curious if there is an event for it.
@SubscribeEvent(priority = EventPriority.HIGHEST)
public void Pour(FluidEvent.FluidMotionEvent event) {
System.out.println("Pour");
if (!event.getWorld().isRemote) {
for (BlockPos pos : ServerProxy.ForceFields) {
if (event.getWorld().getTileEntity(pos) instanceof ControllerTileEntity) {
ControllerTileEntity te = (ControllerTileEntity) event.getWorld().getTileEntity(pos);
double dx = pos.getX() - event.getPos().getX();
double dz = pos.getZ() - event.getPos().getZ();
double dy = pos.getY() - event.getPos().getY();
double val = dx * dx + dy * dy + dz * dz;
double distance = Math.sqrt(val);
if (distance < te.getRange() + 1 && distance > te.getRange() - 1) {
event.setCanceled(true);
}
}
}
}
}