public void a(ICommandSender icommandsender, int i0, String s0, Object... aobject) {
    boolean flag0 = true;

    // CanaryMod: Fix for MultiWorld
    if (icommandsender instanceof TileEntityCommandBlock
        && !((CanaryWorld) Canary.getServer().getDefaultWorld())
            .getHandle()
            .M()
            .b("commandBlockOutput")) {
      flag0 = false;
    }

    if (flag0) {
      Iterator iterator = MinecraftServer.D().ad().a.iterator();

      while (iterator.hasNext()) {
        EntityPlayerMP entityplayermp = (EntityPlayerMP) iterator.next();

        if (entityplayermp != icommandsender && MinecraftServer.D().ad().e(entityplayermp.bS)) {
          entityplayermp.a(
              ""
                  + EnumChatFormatting.h
                  + ""
                  + EnumChatFormatting.u
                  + "["
                  + icommandsender.c_()
                  + ": "
                  + entityplayermp.a(s0, aobject)
                  + "]");
        }
      }
    }

    if (icommandsender != MinecraftServer.D()) {
      MinecraftServer.D()
          .al()
          .a("[" + icommandsender.c_() + ": " + MinecraftServer.D().a(s0, aobject) + "]");
    }

    if ((i0 & 1) != 1) {
      icommandsender.a(icommandsender.a(s0, aobject));
    }
  }