@Override
    public void use(Mob source, World world) {
        int dir = source.dir;
        Vector2i pos = Vector2d.toVector2i(source.getPos());

        //TODO: fix this shit.
        if (dir == Mob.dirUp) {
            world.getTile(pos.getX() >> 4, (pos.getY() >> 4) - 1).getHurt(source, source.getStats().getDamage());
        } else if (dir == Mob.dirRight) {
            world.getTile((pos.getX() >> 4) + 1, pos.getY() >> 4).getHurt(source, source.getStats().getDamage());
        } else if (dir == Mob.dirDown) {
            world.getTile(pos.getX() >> 4, ((pos.getY()) >> 4) + 1).getHurt(source, source.getStats().getDamage());
        } else if (dir == Mob.dirLeft) {
            world.getTile((pos.getX() >> 4) - 1, pos.getY() >> 4).getHurt(source, source.getStats().getDamage());
        }
    }