public boolean isEntityAt (int x, int y)
    {
        List<Entity> notColliding = new ArrayList<Entity>();
        for (Entity entity : entities) {
            if (entity instanceof EntityParticle) continue;
            if (!entity.isColliding()) notColliding.add(entity);
        }
        Chunk chunk = chunkhandler.getChunk(exactToChunkCord(x*16), exactToChunkCord(y*16));
        boolean needsupdate = chunk.needsupdate;
        Tile was = setTileWithoutNotice(x, y, Tile.dirt);
        if (needsupdate == false) chunk.needsupdate = false;
        boolean colliding = false;
        
        for (Entity entity : notColliding) if (entity.isColliding()) { colliding = true; break; }
        setTileWithoutNotice(x, y, was);
        if (needsupdate == false) chunk.needsupdate = false;
        return colliding;
    }